centos7.x 升级openssh最新版本9.7p1版本
原系统版本centos7.9 版本 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips
从版本7.4p1更新到9.7p1
1.环境准备
1.1配置telnet登录(留个后门登录)
1.1.1安装telnet
yum install -y telnet* xinetd
1.1.2启动telent
systemctl start xinetd.service
systemctl start telnet.socket
systemctl enable telnet.socket
1.1.3,开放防火墙23端口,或者关闭防火墙,(若防火墙没开,一下就不用配置)
firewall-cmd --zone=public --add-port=23/tcp --permanent
1.1.4,重新加载防火墙规则
firewall-cmd --complete-reload
1.1.5,开放telnet明文登录
sed -i 's/^auth[[:space:]]\+required[[:space:]]\+pam_securetty.so//#&/' /etc/pam.d/remote
1.1.6telnet登录
telnet ip地址
1.2备份现有配置
cp -rf /etc/ssh /etc/ssh.back
cp -rl /usr/bin/openssl /usr/bin/openssl.back
cp -rf /etc/pam.d/ /etc/pam.d.back
cp -rf /usr/lib/systemd/system /system.back
1.3编译环境准备
yum install -y 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
2.下载源码包
2.1、zlib-1.3.1 , openssl-3.3.1.tar.gz ,openssh-9.7p1.tar.gz
放入到 /usr/local/src/目录下
zlib:官网http://www.zlib.net/
wget https://www.zlib.net/zlib-1.3.1.tar.gz
openssl:https://www.openssl.org/source/index.html
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
openssh:https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/
2.2解压压缩包
cd /usr/local/src/
tar xf openssh-9.7p1.tar.gz
tar xf zlib-1.3.1.tar.gz
tar xf openssl-3.3.1.tar.gz
2.3,安装zlib
#1.进入zlib目录
cd /usr/local/src/zlib-1.3.1
#2.配置
./configure --prefix=/usr/local/src/zlib
#3.编译安装)
make -j 4 && make test &&make install
2.4,安装openssl
#1.进入openssl安装包
cd /usr/local/src/openssl-3.3.1
#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.5安装openssh
#1.卸载老版本openssh
yum remove -y openssh
#2.清理残留文件
rm -fr /etc/ssh/*
#3.安装openssh
cd /usr/local/src/openssh-9.7p1
#4.配置
./configure --prefix=/usr/local/src/openssh --with-zlib=/usr/local/src/zlib --with-ssl-dir=/usr/local/src/openssl --sysconfdir=/etc/ssh --with-pam
#5.编译及安装(编译较慢,耐心等待)
make && make install
#6.查看目录版本
/usr/local/src/openssh/bin/ssh -V
#7.复制新的ssh文件
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /usr/local/src/openssh-9.7p1/contrib/redhat/sshd.pam /etc/pam.d/sshd
cp -rf /usr/local/src/openssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/src/openssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/src/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
#8.允许root登录
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
#9.重启sshd服务
systemctl restart sshd
systemctl enable sshd
#10.查看版本
ssh -V
OpenSSH_9.7p1, OpenSSL 3.3.1 4 Jun 2024
2.6如果报错排查方法
1.查看报错的几种方法
journalctl -u sshd
2.centos日志目录
tail -f /var/log/secure
3.检测ssh服务配置是否有问题
/usr/sbin/sshd -t
4.实在排查不出问题,装回旧版ssh
yum remove openssh
yum reinstall openssh*
ssh -V
本文作者:今天大晴天
本文链接:https://www.cnblogs.com/j-qingtian/p/18262929
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)