centos7.6升级openssh

记录一次升级openssh的操作,总共分为以下几步:
1.为了防止在升级过程中影响到sshd服务,从而导致无法远程登录,建议开启telnet远程登录服务(我这边由于生产环境登录较为复杂,有另一种远程的登录的方式,所以没有做telnet远程登录,做了也登不了,不知道怎么设置的铁汁可以自行百度,网址是:http://www.baidu.com)
2.进入正题,首先,因为我这边的生产环境是内网,所以只能离线安装,先去官网下个包,我下的是openssh-8.0p1.tar.gz
http://archive.apache.org/dist/centos7.6升级openssh_第1张图片
3.下完包开始安装,先看看环境,版本是7.4,OpenSSH 7.6之前的版本中的sftp-server.c文件的‘process_open’函数存在安全漏洞。(由于我是升级版本,原先openssh的依赖都有所以这边就不装依赖了)

ssh -V
#返回的是openssh7.4的版本

下面开始升级,下好的包上传

rz -be

包放到/data下面然后开始解压

mv openssh-8.0p1.tar.gz /data
tar -zxvf openssh-8.0p1.tar.gz 

先备份下ssh配置文件和目录

cp -R /etc/ssh/ /etc/ssh.bak

删下原先的ssh配置文件和目录

rm -rf /etc/ssh/*

开始编译安装

cd openssh-8.0p1
./configure
echo $?
#返回0就是正常
make && make install
echo $?
#返回0就是正常

从原先的解压的包中拷贝一些文件到目标位置(如果目标目录存在就覆盖)

cp -a contrib/redhat/sshd.init /etc/init.d/sshd
cp -a contrib/redhat/sshd.pam /etc/pam.d/sshd.pam
chmod +x /etc/init.d/sshd

把原先的systemd管理的sshd文件删除或者移走或者删除,不移走的话影响我们重启sshd服务

mv  /usr/lib/systemd/system/sshd.service  /data/

设置sshd服务开机启动,不设置不让你重启sshd(不信你试试)

chkconfig sshd on

测试下重启

/etc/init.d/sshd restart
/etc/init.d/sshd start
/etc/init.d/sshd stop
systemctl start sshd
systemctl stop sshd
systemctl restart sshd

看下版本,升级成功

ssh -V
#OpenSSH_8.0p1, OpenSSL 1.0.2r  26 Feb 2019

4.如果你想用root远程的话需要改下sshd_config

PermitRootLogin yes

5.遇到的一个坑,你们可能也会遇到,之前远程登录过的机器再次ssh登录的时候会报known_hosts不正确
在你现在的这台主机~/.ssh/known_hosts文件把目的主机的那行信息删掉就行。

你可能感兴趣的:(centos,openssh)