升级SSH 存在中断风险,如果SSH 升级失败将会导致终端无法登录,建议在使用本地虚拟机进行测试后对线上生产环境进行升级操作!!!

三级等保评测中对主机进行漏洞扫描发现linux主机存在高危漏洞,查看发现是OpenSSH版本过低导致,于是对主机系统OpenSSH软件版本进行升级。

升级有风险操作需谨慎(使用telnet 兜底)可选操作

安装xinted

xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器。经常用来管理多种轻量级Internet服务。telnet服务就是通过xinetd服务来管理的,所以在安装telnet服务之前需要先安装xinetd服务。

yum install -y xinetd

yum 安装telnet-server telnet-client

yum -y install telnet-server telnet

查看软件版本

rpm -qa telnet-server
telnet-server-0.17-66.el7.x86_64

配置telnet 文件

若此文件不存在,则创建这个文件。将其中disable=yes改为disable=no或注释掉。

vim /etc/xinetd.d/telnet
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no
}

重启服务

systemctl restart xinetd
systemctl restart telnet.socket

telnet 默认的情况之下不允许 root 以 telnet 进入 Linux 主机,创建普通用户登录系统切换root。

telnet 测试

telnet 192.168.99.147

查看系统版本 ssh版本

#查看系统版本
cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
#查看ssh 版本
ssh -V
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017

更新并安装所需要的依赖

yum install -y make  gcc gcc-c++  openssl-devel zlib zlib-devel pam-devel

下载 解压 openssh8.5压缩包

cd /usr/local/src
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.5p1.tar.gz
tar -zxvf openssh-8.5p1.tar.gz

测试及编译源码

cd openssh-8.5p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening

删除/etc/ssh/下的密钥对(只删除密钥对即可,重启会重新生成)

rm -rf /etc/ssh/ssh_host_*

make安装

make && make install

修改配置文件

vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

将源码安装包中 opensshd.init 文件复制到 /etc/init.d/ 目录下并添加可执行权限

cp  /usr/local/src/openssh-8.5p1/opensshd.init /etc/init.d/sshd.init
chmod u+x /etc/init.d/sshd.init

启动ssh服务

/etc/init.d/sshd.init start

备份原有sshd.service文件

mv  /usr/lib/systemd/system/sshd.service  /usr/local/src

添加sshd.service 文件

vim /usr/lib/systemd/system/sshd.service

# Automatically generated by systemd-sysv-generator

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/sshd.init
Description=SYSV: OpenSSH server daemon [Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=no
PIDFile=/var/run/sshd.pid
ExecStart=/etc/rc.d/init.d/sshd.init start
ExecStop=/etc/rc.d/init.d/sshd.init stop
ExecReload=/etc/rc.d/init.d/sshd.init reload

重载配置,重启ssh服务

systemctl daemon-reload
systemctl restart sshd

查看当前ssh版本

[root@gitlab openssh-8.5p1]# ssh -V
OpenSSH_8.5p1, OpenSSL 1.0.2k-fips 26 Jan 2017 [root@gitlab openssh-8.5p1]# telnet 127.0.0.1 22
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.5 Invalid SSH identification string.
Connection closed by foreign host.

最新文章

  1. iOS XMPP 通信协议实现 图形化直观感受
  2. Configure Security Settings for Remote Desktop(RDP) Services Connections
  3. codeigniter在nginx 下支持pathinfo和去除index.php的方法
  4. jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题
  5. 在linux下将当前目录文件全部小写含目录名
  6. 【枚举+小技巧】【TOJ4115】【Find the number】
  7. 常用的HTTP方法
  8. TCP--telnet为何在127s后返回?
  9. ubuntu16.04 英文环境安装中文输入法
  10. (三十六)利用AFNetworking进行JSON数据解析
  11. React从入门到放弃之前奏(5):ReactRouter4
  12. 力扣算法题—051N皇后问题
  13. java 调用 python 脚本
  14. 010_mac常用docker维护命令
  15. Mac idea error=13, Permission denied
  16. <Think Python>中斐波那契使用memo实现的章节
  17. 通过yum源在centOS7安装mysql8
  18. 如何在主Form出现之前,弹出密码验证From,Cancel就退出程序,Ok后密码正确才出现主Form
  19. Memcache未授权访问漏洞
  20. [Hanani]高数相关知识记录

热门文章

  1. day03 对象流与序列化
  2. Solution -「CF645F」Cowslip Collections
  3. Solution -「BZOJ3894」文理分科
  4. 背包问题学习笔记 / Dynamic Programming(updating)
  5. 基于Caffe ResNet-50网络实现图片分类(仅推理)的实验复现
  6. 《深入了解java虚拟机》高效并发读书笔记——Java内存模型,线程,线程安全 与锁优化
  7. 手把手教你定位线上MySQL慢查询问题,包教包会
  8. 源码解析springbatch的job是如何运行的?
  9. vue2与vue3实现响应式的原理区别和提升
  10. MySQL的三值逻辑