openssh升级背景 由于第×××司检测到服务Openssh有高危漏洞,需要对Openssh进行升级

1.编译安装

tar -zxf openssh-7.4p1.tar.gz
cd openssh-7.4p1

./configure --prefix=/usr/local/openssh7.4/  --with-md5-passwords  --with-pam  --with-zlib  --with-privsep-path=/var/lib/sshd

make && make install

ln -s /usr/local/openssh7.4/ /usr/local/openssh

2.将原sshd启动文件重命名 mv /etc/init.d/sshd /etc/init.d/sshdold

3.上传新的脚本管理文件 cp contrib/redhat/sshd.init /etc/init.d/sshd sshd文件内容修改成如下

# config: /usr/local/openssh/etc/ssh/ssh_host_key
	# config: /usr/local/openssh/etc/ssh/ssh_host_key.pub
	# config: /usr/local/openssh/etc/ssh/ssh_random_seed
	# config: /usr/local/openssh/etc/ssh/sshd_config
SSHD=/usr/local/openssh/sbin/sshd


/usr/local/openssh/bin/ssh-keygen -A

/sbin/restorecon /usr/local/openssh/etc/ssh/ssh_host_key.pub
/sbin/restorecon /usr/local/openssh/etc/ssh/ssh_host_rsa_key.pub
/sbin/restorecon /usr/local/openssh/etc/ssh/ssh_host_dsa_key.pub
/sbin/restorecon /usr/local/openssh/etc/ssh/ssh_host_ecdsa_key.pub

修改执行权限 chmod 755 /etc/init.d/sshd

4.修改PATH变量 .bash_profile PATH=$PATH:/usr/local/openssh/sbin/:/usr/local/openssh/sbin/

5.修改配置文件 /usr/local/openssh/etc/sshd_config中添加 PermitRootLogin yes

6.重启程序 此步关键不能出错,否则将失去对服务器的连接(本身是通过ssh连接的)

	/etc/init.d/sshdold stop; /etc/init.d/sshd start
	Stopping sshd: [  OK  ]
	Starting sshd: [  OK  ]

7.验证

	[root@server08 ~]# ps -ef|grep sshd
	root  24732  1  0 15:39 ?00:00:00 sshd: root@pts/1   
	root  33242  1  0 15:58 ?00:00:00 sshd: root@pts/2 
	root  33433  1  0 16:05 ?00:00:00 /usr/local/openssh/sbin/sshd
	root  33436  24734  0 16:05 pts/100:00:00 grep sshd

8.将原系统自带的openssh包删除