1、配置系统环境
1.1、系统环境
# lsb_release -dDescription: CentOS Linux release 7.9.2009 (Core)
#uname -r3.10.0-327.el7.x86_64
#ssh -VOpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 20171.2、安装所需编译环境
yum install gcc
1.3、升级Openssh过程中注意事项
- 在升级过程中务必保证远程工具连接ssh服务不会断开。
- 不能保证ssh连接稳定性,需配置telnet服务进行远程连接,如果是云服务确保主机后台console服务可用。
- 启动编译后的sshd服务请勿使用restart重启,直接启动即可。
2、安装Openssh依赖环境
2.1、安装zlib环境
# rpm -qa | grep zlib 查看系统zlib包环境zlib-1.2.7-19.el7_9.x86_64zlib-1.2.7-19.el7_9.i686
# yum install zlib-devel -y
# rpm -qa | grep zlibzlib-1.2.7-19.el7_9.x86_64zlib-devel-1.2.7-19.el7_9.x86_64zlib-1.2.7-19.el7_9.i6862.2、编译安装Openssl
# tar -xvf openssl-1.1.1l.tar.gz
# cd openssl-1.1.1l
# ./config --perfix=/usr/local/openssl# make && make install
# echo '/usr/local/openssl/lib' >> /etc/ld.so.conf# ldconfig -v
检查编译安装和系统自带的openssl版本是否正常# /usr/local/openssl/bin 进入编译openssl目录# ./openssl versionOpenssl 1.1.1l 25 Aug 2021 编译后openssl版本
# openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017 系统自带版本3、编译安装Openssh
3.1、处理系统自带Openssh
注意:在执行当前操作时,确保当前的ssh会话不要断开。
# rpm -qa | grep opensshopenssh-server-7.4p1-21.el7.x86_64openssh-clients-7.4p1-21.el7.x86_64openssh-7.4p1-21.el7.x86_64
备份原版openssh配置# cp -rf /etc/ssh /etc/ssh_bak
# rpm -e --nodeps `rpm -qa | grep openssh` 执行卸载openssh# rpm -qa | grep openssh 查看openssh
验证基础工具正常使用,执行命令无报错即可# curl -V# wget -V# yum --version3.2、编译安装Openssh
# tar -xvf openssh-8.7.tar.gz# cd openssh-8.7# ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl# make && make install
复制可执行文件到系统`bin`目录下# 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
复制sshd启动脚本# cp contrib/redhat/sshd.init /etc/init.d/sshd3.3、修改编译后的sshd_config文件
Port 22 监听端口PermitRootLogin yes 允许root登录PasswordAuthentication yes 密码验证
在文件末尾加入如下内容:KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group14-sha13.4、编译后的openssh添加开机自启
注意:当前操作切勿执行/etc/init.d/sshd restart,不然当前ssh会话会被强制断开。 正确方式
# /etc/init.d/sshd startStarting sshd: [确定]服务启动后检查配置的端口正常
# netstat -tpln | grep sshtcp 0 0 0.0.0.0:22 0.0.0.0:*
添加sshd开机自启# chkconfig --list | grep sshd 查看当前系统sshd是否添加开机自启# chkconfig sshd on 加入开机自启# chkconfig --list | grep sshd 确认加入开机自启是否正常sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭4、验证Openssh升级
使用远程工具新增一个会话连接,确认能正常远程ssh连接到服务器上。 检查升级后的版本
# ssh -VOpenSSH_8.7p1, OpenSSL 1.1.1l 25 Aug 2021升级完满成功