Centos7.9升级openssh9.9

直接升级openssh会由于OpenSSL 版本太低而报错 configure: error: OpenSSL >= 1.1.1 required,因此升级openssh前需要先升级OpenSSL
一、备份现有配置(备用,如果升级正常的话用不到)
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 /usr/lib/systemd/system.bak

二、安装telnet(如果远程连接的服务器,必须先安装好备份连接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连接测试,这一步必须测试成功了再进行下面的操作。

三、安装依赖和下载安装包
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
或者,安装相关的依赖项,如有遗漏再次安装
yum -y install gcc pam-devel zlib-devel openssl-devel net-tools

2 下载源码包
cd /home/file
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://www.openssl.org/source/openssl-3.3.1.tar.gz
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz

3 解压源码包
cd /usr/local/src/
tar -zxvf zlib-1.3.1.tar.gz
tar -zxvf openssl-3.3.1.tar.gz
tar -zxvf openssh-9.8p1.tar.gz

四、安装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

五、安装OpenSSL
1.进入openssl-3.3.1目录
cd /home/file/openssl-3.3.1
2.配置
./config --prefix=/usr #安装到/usr的话不用再配置环境变量,做软连接什么的了,如果安装其他路径的话还需要做第4步
3.编译及安装
make -j 4 && make install
4.配置(第3步如果安装的路径是/usr,则无需配置)
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
更新动态库
echo "/usr/local/src/openssl/lib64" >> /etc/ld.so.conf
ldconfig
5.查看更新后的版本
openssl version -v

六、安装OpenSSH
1 卸载旧版本OpenSSH服务
yum remove -y openssh
2.清理残余文件
rm -rf /etc/ssh/*

  1. 安装最新版Openssh服务,进入openssh-9.9p2目录
    #cd /home/file/openssh-9.9p2

4.配置
./configure --prefix=/usr/local/src/ssh --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/src/zlib
(如果openssl安装的是其他路径,还需要加上--with-ssl-dir=/usr/local/src/openssl)
5.编译及安装
make -j 4 && make install
6.查看目录版本
/usr/local/src/ssh/bin/ssh -V
7.复制新ssh文件
cp -rf /home/file/openssh-9.9p2/contrib/redhat/sshd.init /etc/init.d/sshd
cp -rf /home/file/openssh-9.9p2/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
8.允许root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
echo 'PubkeyAuthentication yes' >> /etc/ssh/sshd_config

重启sshd服务
/etc/init.d/sshd restart 或则systemctl restart sshd
查看服务运行状态
/etc/init.d/sshd status 或则systemctl status sshd
添加开机启动
chkconfig --add sshd
查看升级后ssh版本
ssh -V

参考:https://blog.csdn.net/Jerry_zhy/article/details/141217681

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容