直接升级openssh会由于OpenSSL 版本太低而报错 configure: error: OpenSSL >= 1.1.1 required,因此升级openssh前需要先升级OpenSSL-1.1.1
一、升级openssl-1.1.1
开始升级操作之前,建议先关闭selinux,否则后面可能造成sshd启动时报错。
临时关闭:
#setenforce 0
配置文件关闭:
#vim /etc/selinux/config
修改配置文件SELINUX=disabled,这一步修改后需要重启服务器才能生效,可以两项都操作。
- 安装依赖
yum -y install gcc*
2.备份、卸载原有OpenSSL
查找openssl 相关目录,然后备份
# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz
# mv /usr/bin/openssl /usr/bin/openssl.old
# mv /usr/lib64/openssl /usr/lib64/openssl.old
# mv /usr/include/openssl /usr/include/openssl.old
卸载 openssl
yum remove openssl
3安装openssl
# wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz --no-check-certificate
# tar -xzvf openssl-1.1.1w.tar.gz
# cd openssl-1.1.1w/
# ./config --prefix=/usr
# make && make install
这里目录选择了/usr 是因为系统最初始的openssl的目录就是/usr, 这样可以省去的软连接、更新链接库的问题。
4.验证
# whereis openssl
openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/share/man/man1/openssl.1ssl.gz /usr/share/man/man1/openssl.1
# openssl version
OpenSSL 1.1.1w 11 Sep 2023
二、安装Openssh9.7
说明:由于我是在服务器本地登陆,前5步不需要,,如果远程连接的服务器,必须先安装好备份连接telnet。
1.安装telnet作为备份连接用
# yum install telnet-server telnet xinetd
2.启动telnet服务
# systemctl start telnet.socket
# systemctl start xinetd
# systemctl status telnet.socket
# systemctl status xinetd
3.修改配置
# vim /etc/pam.d/remote
注释掉这行
# auth required pam_securetty.so
4.重启telnet服务
# systemctl restart xinetd
# systemctl restart telnet.socket
5.客户端远程telnet连接测试,这一步必须测试成功了再进行下面的操作。
6.安装源码编译依赖包
# yum install pam-devel openssl-devel zlib zlib-devel
7.备份SSH相关配置
# cp /etc/ssh/sshd_config /home/sshd_config.backup
# cp /etc/pam.d/sshd /home/sshd.backup
8.卸载SSH
# rpm -qa | grep openssh
openssh-6.6.1p1-31.el7.x86_64
openssh-server-6.6.1p1-31.el7.x86_64
openssh-clients-6.6.1p1-31.el7.x86_64
# rpm -e --nodeps openssh-6.6.1p1-31.el7.x86_64
# rpm -e --nodeps openssh-server-6.6.1p1-31.el7.x86_64
# rpm -e --nodeps openssh-clients-6.6.1p1-31.el7.x86_64
9.下载openssh9.7源码
# mkdir /home/file
# cd /home/file
# wget https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.7p1.tar.gz
10.解压、编译
# tar -xf openssh-9.7p1.tar.gz
# cd openssh-9.7p1
# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssldir=/usr/ssl --without-hardening
# make && make install
11.设置相关文件权限
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_ecdsa_key
# chmod 600 /etc/ssh/ssh_host_ed25519_key
12.复制配置文件
# cp -a contrib/redhat/sshd.init /etc/init.d/sshd
# chmod u+x /etc/init.d/sshd
13.还原配置
# mv /home/sshd.backup /etc/pam.d/sshd
# mv /home/sshd_config.backup /etc/ssh/sshd_config
14.修改/etc/ssh/sshd_config配置文件
打开下面配置文件,去掉下面两句的注释
# vim /etc/ssh/sshd_config
PermitRootLogin yes
PubkeyAuthentication yes
- 添加自启服务 ssh 到开机启动项
# chkconfig --add sshd
# chkconfig sshd on
16.重启ssh服务
# systemctl restart sshd
17.查看版本
# ssh -V
OpenSSH_9.7p1, OpenSSL 1.1.1w 11 Sep 2023
18.连接测试
参考:
1.https://blog.csdn.net/qq_30359369/article/details/134954151
2.https://www.cnblogs.com/sky-cheng/p/18000538