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 中国大陆许可协议进行许可。

posted @   今天大晴天  阅读(699)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示