Linux升级openssh
1.1环境评估
1.2备份现有配置
cp -rf /etc/ssh /etc/ssh.bak cp -rf /usr/bin/openssl /usr/bin/openssl.bak cp -rf /etc/pam.d /etc/pam.d.bak cp -rf /usr/lib/systemd/system /system.bak
1.3TELNET安装配置
#1.telnet安装 yum install -y telnet telnet-server xinetd #2.启动telnet服务 systemctl start xinetd && systemctl start telnet.socket #3.开放防火墙23端口 firewall-cmd --zone=public --add-port=23/tcp --permanent #4.重新加载防火墙规则 firewall-cmd --complete-reload #5.查询23端口放行情况 firewall-cmd --query-port=23/tcp #6.开放telnet明文登录 sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so/#&/' /etc/pam.d/remote #7.测试telnet登录 telnet ip #8.加入开机启动 systemctl enable telnet.socket
2.升级步骤
2.1.依赖及编译环境安装
yum install -y vim gcc gcc-c++ glibc make autoconf openssl openssl-devel pcre-devel pam-devel zlib-devel tcp_wrappers-devel tcp_wrappers libedit-devel perl-IPC-Cmd wget tar lrzsz nano
2.2.下载源码包
cd /usr/local/src wget https://www.zlib.net/zlib-1.3.1.tar.gz wget https://github.com/openssl/openssl/releases/download/openssl-3.3.2/openssl-3.3.2.tar.gz wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz
2.3 解压源码包
cd /usr/local/src/ tar -zxvf zlib-1.3.1.tar.gz tar -zxvf openssl-3.3.2.tar.gz tar -zxvf openssh-9.9p1.tar.gz
2.4.安装Zlib
#1.进入zlib-1.3.1目录 cd /usr/local/src/zlib-1.3.1 #2.配置 ./configure --prefix=/usr/local/src/zlib #3.编译及安装(编译时间预计几分钟,视机器而定) make -j 4 && make test && make install
2.5.安装OpenSSL
#1.进入openssl-3.3.2目录 cd /usr/local/src/openssl-3.3.2 #2.配置 ./config --prefix=/usr/local/src/openssl #3.编译及安装(编译时间预计几分钟,视机器而定) make -j 4 && make install #4.配置 mv /usr/bin/openssl /usr/bin/oldopenssl ln -s /usr/local/src/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/src/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ln -s /usr/local/src/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 #5.更新动态库 echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf ldconfig #6.查看更新后的版本 openssl version -v
2.6.安装OpenSSH
2.6.1.老版本OpenSSH卸载
#1.卸载openssh8.0p1 yum remove -y openssh #2.清理残余文件 rm -rf /etc/ssh/*
2.6.2.OpenSSH安装
#1.进入openssh-9.9p1目录 cd /usr/local/src/openssh-9.9p1 #2.配置 ./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/src/openssl --with-zlib=/usr/local/src/zlib #3.编译及安装 make -j 4 && make install #4.查看目录版本 /usr/local/src/ssh/bin/ssh -V #5.复制新ssh文件 cp -rf /usr/local/src/openssh-9.9p1/contrib/redhat/sshd.init /etc/init.d/sshd cp -rf /usr/local/src/openssh-9.9p1/contrib/redhat/sshd.pam /etc/pam.d/sshd cp -rf /usr/local/src/ssh/sbin/sshd /usr/sbin/sshd cp -rf /usr/local/src/ssh/bin/ssh /usr/bin/ssh cp -rf /usr/local/src/ssh/bin/ssh-keygen /usr/bin/ssh-keygen #6.允许root登录 echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config #重启sshd服务 /etc/init.d/sshd restart #查看服务运行状态 /etc/init.d/sshd status #添加开机启动 chkconfig --add sshd #查看升级后ssh版本 ssh -V
可以看到OpenSSH已升级至9.9p1版本 OpenSSL已升级至3.3.2版本,接着把备份的配置还原,关闭及卸载telnet服务,至此升级全部完成!

