Centos7升级openssh到8.8版本 首先检查当前ssh的版本号:

ssh -V

如上图所示:我的ssh版本和ssl的版本为7.4和1.0.2 下面我们通过编译源码包的方式把openssh更新到8.8版本。

一、前期准备工作

1、查看centos的防火墙状态:

systemctl status firewalld

你可以选择执行以下2个命令关闭防火墙(禁止防火墙开机自启动)

systemctl stop firewalld

systemctl disable firewalld

也可以选择执行以下几个命令开放22端口(ssh的默认端口是22)

firewall-cmd --zone=public --add-port=22/tcp --permanent

firewall-cmd --zone=public --add-port=23/tcp --permanent

firewall-cmd --reload

温馨提示:为了防止后续安装失败导致无法连接到服务器,最好是先开启telnet连接功能,一旦openssh安装失败还可以用telnet连接服务器。参考链接:https://blog.csdn.net/lhrm0213/article/details/123862835 2、安装配置openssh的依赖环境

yum update -y

yum install -y gcc gcc-c++ glibc make autoconf wget vim unzip perl pcre-devel

3、通过sftp工具上传以下6个文件到/usr/local/src目录下: 文件下载地址链接: https://pan.baidu.com/s/1Qazy2fYMOhHymz6HMwPzxg?pwd=xr4x 提取码:xr4x 解压缩密码:1234

二、安装openssl

进入/usr/local/src目录下

2.1、

安装pam

rpm -ivh --replacefiles pam-1.1.8-23.el7.x86_64.rpm

rpm -ivh pam-devel-1.1.8-23.el7.x86_64.rpm

2.2、

安装zlib

rpm -ivh --replacefiles zlib-1.2.7-21.el7_9.x86_64.rpm

rpm -ivh zlib-devel-1.2.7-21.el7_9.x86_64.rpm

2.3、

备份文件

mv /usr/bin/openssl /usr/bin/openssl_bak

mv /usr/include/openssl /usr/include/openssl_bak

mv /etc/ssh /etc/ssh.bak

mv /usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/sshd.service.bak

2.4、

安装openssl 依次执行以下4个命令

cd /usr/local/src

tar -zxvf openssl-1.1.1p.tar.gz

cd /usr/local/src/openssl-1.1.1p

./config shared --prefix=/usr/local/ssl && make && make install

(时间较长耐心等待编译安装完成…)

2.5、

添加软连接

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

检查ssl的版本,命令:openssl version ** 如果报错(如上图),则编辑/etc/ld.so.conf文件 vi /etc/ld.so.conf 在最后添加/usr/local/ssl/lib :wq保存并退出,执行:ldconfig /etc/ld.so.conf 再次查看openssl version**如下图所示,则说明ssl升级到1.1.1版本

三、安装openssh

3.1、

运行以下5个命令解压缩openssh,编译安装openssh

cd /usr/local/src/

tar -zxvf ./openssh-8.8p1.tar.gz

cd ./openssh-8.8p1

./configure --prefix=/usr/ --sysconfdir=/etc/ssh --with-openssl-includes=/usr/local/ssl/include --with-ssl-dir=/usr/local/ssl --with-zlib --with-md5-passwords --with-pam

make && make install

(时间较长耐心等待编译安装完成…)

3.2、

依次按顺序执行以下几个命令配置ssh服务:

cd /usr/local/src/openssh-8.8p1

cp -a ./contrib/redhat/sshd.init /etc/init.d/sshd

# 注意如果有弹出的提示,请输入y确认

cp -a ./contrib/redhat/sshd.pam /etc/pam.d/sshd.pam

# 注意如果有弹出的提示,请输入y确认

chmod +x /etc/init.d/sshd

chkconfig --add sshd

chkconfig sshd on

以上几个命令如果执行不成功,请多次尝试一下,如下图所示,我多次执行以上命令已经成功启动了ssh服务

3.3、

启动ssh服务,并且配置root远程登录

systemctl start sshd ( 或者是systemctl restart sshd )

systemctl enable sshd

查看ssh版本号和状态,如下图openssh已经成功升级了 配置root用户远程登录 使用vi命令编辑/etc/ssh/sshd_config文件,取消Port 22的注释,允许root用户登录,设置为yes,参考如下图: :wq保存并退出,然后systemctl restart sshd 重启ssh服务即可。 如下图,使用ssh协议和sftp协议都已经能正常连接了 参考:https://blog.csdn.net/qq_38221801/article/details/129043190 参考:https://blog.csdn.net/weixin_43741718/article/details/132583582

推荐阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: