CentOS更新OpenSSH到8.6版本教程
LiuSw Lv6

CentOS更新OpenSSH到8.6版本教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
漏洞分类:通用漏洞检测

危险等级:高风险

影响主机:192.168.1.11 [ TCP / 22 ]

输出信息:

Installed version: 8.0
Fixed version: 8.1
Installation path / port: 22/tcp

详细描述:

[CVE-2019-16905]OpenSSH(OpenBSD Secure Shell)是OpenBSD计划组的一套用于安全访问远程计算机的连接工具。该工具是SSH协议的开源实现,支持对所有的传输进行加密,可有效阻止窃听、连接劫持以及其他网络级的攻击。OpenSSH 7.7版本至7.9版本和8.1之前的8.x版本中存在输入验证错误漏洞。该漏洞源于网络系统或产品未对输入的数据进行正确的验证。

CVE:CVE-2019-16905

CNNVD:CNNVD-201910-599

ssh更新

  1. 安装依赖

    1
    yum install -y pam-devel libselinux-devel zlib-devel openssl-devel wget gcc
  2. 下载软件

    1
    2
    cd /usr/local/src
    wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
  3. 备份

    1
    2
    cp /etc/ssh/sshd_config sshd_config.backup
    cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
  4. 卸载旧版ssh

此时可以删除低版本包,当然这个操作是有风险的,如果删除了但是安装不成功就远程连接不上去了,只有自己去远程服务器边上安装,保险办法是通过另外的手段远程连接,我自己没有遇到这个问题,所以就不赘述。

1
2
rpm -qa | grep openssh
rpm -e --nodeps `rpm -qa | grep openssh`
  1. 解压新版压缩包

    1
    2
    tar -zxvf openssh-8.6p1.tar.gz
    cd openssh-8.6p1
  2. 设置编译配置

    1
    ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-tcp-wrappers --with-ssl-dir=/usr/local/ssl --without-hardening
  3. 文件授权

    1
    chmod 600 /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key
  4. 编译

    1
    2
    make
    make install
  5. 复制文件

    1
    2
    cp -a contrib/redhat/sshd.init  /etc/init.d/sshd
    chmod u+x /etc/init.d/sshd
  6. 修改配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    vim /etc/ssh/sshd_config

    # 修改#PermitRootLogin prohibit-password项,去掉注释#并把prohibit-password改为yes,修改后即为PermitRootLogin yes

    #去掉注释#PasswordAuthentication yes变为`PasswordAuthentication yes 如果使用证书登陆可以关闭这个

    #升级之后sftp如果不好用了,需要注意的是要查看一下相关设置,新的是Subsystem sftp /usr/libexec/sftp-server原始系统自带的是Subsystem sftp /usr/libexec/openssh/sftp-server

    # 一般系统是开启PAM模块的,但是编译安装升级后,这个是关闭状态,如果启用PAM,需要有一个控制文件,去掉注释#UsePAM no 变为UsePAM yes,如果打开这个模式,不要忘了把配置文件/etc/pam.d/sshd.backup改回来,否则登陆不了。
  7. 还原pam.d下的sshd文件

    1
    mv /etc/pam.d/sshd.backup /etc/pam.d/sshd
  8. 设置开机自启

    1
    2
    chkconfig --add sshd
    chkconfig sshd on
  9. 测试

    1
    ssh -V

成功!

 评论