本文主要记录升级所借鉴文章,感谢以下作者的资料:
【CentOS7升级openssh至8.0】原文链接:https://blog.csdn.net/yanzhenjingfan/article/details/100551160
【centos 7 升级OpenSSH-8.2p1 】原文链接: https://www.cnblogs.com/it-baibai/archive/2020/05/12/12873531.html
【Centos7升级openssh到最高版本】原文链接:https://blog.csdn.net/xyy1028/article/details/104787689/
方法1: 通过yum更新
yum -y update openssh
如果报错 /var/run/yum.pid已被锁定
则执行命令删除:
rm -rf /var/run/yum.pid
注:yum源中可能不存在需要的版本或最新版本,这时需手动更新
方法2:手动更新
1. 系统版本
[root@test01 ~]# cat /etc/redhat-release CentOS Linux release7.7.1908(Core)[root@test01 ~]# openssl versionOpenSSL1.0.2k-fips26Jan2017[root@test01 ~]# rpm -qa | grep opensshopenssh-7.4p1-11.el7.x86_64openssh-clients-7.4p1-11.el7.x86_64openssh-server-7.4p1-11.el7.x86_64
2. 安装相关工具(确保已安装)
yum install wget tar make -y
yum install gcc openssl-devel zlib-devel -y
3. 下载openssl最新包
[root@test01 tmp]# wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz
4、载openssh最新包
[root@test01 tmp]# wget https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz
[root@test01 tmp]# wget https://openbsd.hk/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz
5. 备份ssh目录
cp -r /etc/ssh/ /etc/ssh_bak
6.安装openssl
cd openssl-1.1.1d
./config --prefix=/usr/local/ssl -d shared
make && make install
echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
ldconfig -v
注:执行ldconfig -v有些报错,直接忽略即可
7.备份ssh目录、卸载openSSH
cp -r /etc/ssh/ /etc/ssh_bak
rpm -e --nodeps `rpm -qa | grep openssh`
rpm -qa | grep openssh
8.安装openssh-8.2p1
cd openssh-8.2p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install
9.修改配置
启动前要将新生成的sshd_config修改以下几个地方
vim /usr/local/openssh/etc/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes
10.复制文件到相应系统文件夹(如有需要,可备份文件)
cp openssh-8.2p1/contrib/redhat/sshd.init /etc/init.d/sshd
注:安装源文件目录
chkconfig --add sshd
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
注:该两项内容,秘钥登录用户,需注意。可能更改后,源秘钥不能使用。
11.启动
service sshd restart
12.其他相关命令:
重启命令
systemctl restart sshd.service
查看状态
systemctl status sshd.service
启动服务
systemctl start sshd.service
开机自启
systemctl enable sshd.service
查看消息
sshd -t
查看SSH版本
ssh -V
网友评论