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包删除