CentOS 7.9升级SSH

特别说明:原创文章,禁止转载,允许其他文章引用本文链接。

写在前面:OpenSSH(OpenBSD Secure Shell)早期是OpenBSD计划组所维护的一套用于安全访问远程计算机的连接工具,目前SSH仍然是Linux加密远程连接的重要途径,SSH存在漏洞将会给Linux系统带来巨大安全隐患,因此,升级SSH到最新版本是最靠谱的解决方案。本文将基于CentOS 7.9介绍SSH的升级方法。

准备:由于本文用到yum安装程序,需提取配置好yum源,可以参考另一篇文章进行设置,链接为:https://blog.youkuaiyun.com/tinmax/article/details/131524409[CentOS 7.9安装和更新]

1.下载

1.1下载openssh

方法1:使用命令直接下载,这里使用的最新版是9.9p1

wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p1.tar.gz -P /opt

方法2:点击链接下载最新版本源码包,复制/上传到服务器的/opt目录下,如果链接失效可以从openssh官网(OpenSSH)找到相关连接:

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

1.2下载openssl

方法:直接在SSH终端输入以下命令下载

wget https://www.openssl.org/source/openssl-1.1.1n.tar.gz -P /opt

官网(需要此版本,下载如果出错就多试几次,网络有时不行)

1.3下载zlib

http://www.zlib.net/        官网,用下面命令下载

wget http://www.zlib.net/zlib-1.3.1.tar.gz -P /opt

下载完成后,得到3个包,用下面命令查看:

cd /opt        #进入OPT目录
ls *.tar.gz    #列出刚刚下载的安装包

2.安装

2.1 备用连接方式准备

为防止SSH升级失败导致无法连接服务器,需要创建telnet作为备用远程通道。

如开启防火墙,需要增加该协议默认端口TCP 23的访问控制策略,并使之生效,命令如下:

firewall-cmd --permanent --add-port=23/tcp    #添加策略
firewall-cmd --reload                         #加载策略

命令执行截图:

安装telnet服务并启动(实验机器的yum源已配置好,具体方法这里不做赘述):

yum install telnet-server.x86_64 -y   #安装
systemctl enable telnet.socket        #随机启动
systemctl start telnet.socket        #启动服务
netstat -atln|grep 23                #检查服务监听,出现23端口监听为正常

命令执行截图:

创建普通用户,系统不允许root通过telnet连接:

useradd superadmin    #添加用户
passwd superadmin     #设置密码

命令执行截图:

使用telnet工具进行连接测试:

如图显示已经登录,就可以正常进行后续步骤。

2.2卸载原有SSH

返回之前的SSH连接,对原有SSH进行卸载,卸载之前可以查看一下当前SSH版本及SSL版本:

ssh -V    #查看SSH、SSL版本

SSH为7.4p1,SSL为1.0.2k:

检查已安装的openssh组件:

rpm -qa |grep openssh

卸载openssh-server即可:

yum remove openssh-server-7.4p1-22.el7_9.x86_64

mv /etc/ssh /tmp/ssh-bak					#备份原来的SSH服务配置文件

2.2安装SSH升级包

首先安装依赖包,否则很可能会报错:

yum install  gcc gcc-c++ glibc make autoconf openssl-devel pcre-devel  pam-devel

2.2.1安装zlib

cd /opt                        #进入安装包所在目录
tar zxvf zlib-1.3.1.tar.gz     #解压安装包
cd zlib-1.3.1                  #进入安装包目录
./configure                    #配置
make&&make install             #编译和安装

安装正确则如下图所示:

2.2.2安装openssl

cd /opt
tar -zxvf openssl-1.1.1n.tar.gz
cd openssl-1.1.1n/
./config --prefix=/opt/openssl    # 这里安装在/opt下
make depend
make && make install
ln -sf /opt/openssl/bin/openssl  /usr/bin/openssl      #在/usr/bin/下创建openssl软连接
echo "/opt/openssl/lib/" >> /etc/ld.so.conf            #环境变量中增加这一行代码
ldconfig -v                                            #配置生效
openssl version                                        #查看版本

2.2.3安装openssh

cd /opt/
tar zxvf openssh-9.9p1.tar.gz
cd openssh-9.9p1/
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-zlib --with-ssl-dir=/opt/openssl --with-md5-passwords --mandir=/usr/share/man   #配置相关参数
make && make install    #编译并安装
sshd -V    #查看版本信息

安装后的版本信息:

配置随机启动服务:

cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
service sshd start    #启动服务,如果成功,则完成升级。

4.连接最新SSH和关闭备用连接

4.1连接最新SSH

连接最新SSH需要注意以下几点:

1)升级SSH后,旧版本的SSH工具可能因加密算法的更新而无法连接,需要同步远程SSH工具。

2)默认配置不允许root用户SSH登录,需修改配置重启sshd服务才可以登录。

3)开启Selinux也会导致无法登录。

4.2关闭备用连接

systemctl stop telnet.socket
systemctl disable telnet.socket
netstat -atln|grep 23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

数字原动力

您鼓励是我创作最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值