centos7.6升级openssh
Posted python真好用
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7.6升级openssh相关的知识,希望对你有一定的参考价值。
记录一次升级openssh的操作,总共分为以下几步:
1.为了防止在升级过程中影响到sshd服务,从而导致无法远程登录,建议开启telnet远程登录服务(我这边由于生产环境登录较为复杂,有另一种远程的登录的方式,所以没有做telnet远程登录,做了也登不了,不知道怎么设置的铁汁可以自行百度,网址是:http://www.baidu.com)
2.进入正题,首先,因为我这边的生产环境是内网,所以只能离线安装,先去官网下个包,我下的是openssh-8.0p1.tar.gz
http://archive.apache.org/dist/
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文件把目的主机的那行信息删掉就行。
以上是关于centos7.6升级openssh的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7 升级 openssh 到 openssh-8.0p1版本
CentOS7 升级 openssh 到 openssh-8.0p1版本
centos7 升级openssh到openssh-8.0p1版本