Centos7升级openssh到8.8版本

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

ssh -V

image.png
如上图所示:我的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目录下:
image.png
文件下载地址链接:
https://pan.baidu.com/s/1Qazy2fYMOhHymz6HMwPzxg?pwd=xr4x
提取码:xr4x
解压缩密码:1234

二、安装openssl

进入/usr/local/src目录下
image.png

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 

image.png

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 

image.png

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

image.png

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

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

三、安装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服务
image.png

3.3、

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

systemctl start sshd   ( 或者是systemctl restart sshd  )
systemctl enable sshd

查看ssh版本号和状态,如下图openssh已经成功升级了
image.png
配置root用户远程登录
使用vi命令编辑/etc/ssh/sshd_config文件,取消Port 22的注释,允许root用户登录,设置为yes,参考如下图:
image.png
:wq保存并退出,然后systemctl restart sshd 重启ssh服务即可。
如下图,使用ssh协议和sftp协议都已经能正常连接了
image.png
参考:https://blog.csdn.net/qq_38221801/article/details/129043190
参考:https://blog.csdn.net/weixin_43741718/article/details/132583582
如果我的文章对您有帮助,还请您多多支持我。支付宝帮忙扫一下吧
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pengkai火火火

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值