重庆思庄Oracle、Redhat认证学习论坛

标题: centos 7.6上openssh 7.4p1升级到 openssh 9.9p1 [打印本页]

作者: 郑全    时间: 5 天前
标题: centos 7.6上openssh 7.4p1升级到 openssh 9.9p1
前两天安全扫描,列出一堆SSH 7.4版本漏洞,要求升级到9.7以上。

看了一下,操作系统为 centos 7.6, openssh 7.4p1 。

网上OPENSSH 7.4升级到7.8的比较多,7.8是2018年出来的,9.7是 2024年03月11日出来的,能否直接升级到9.7呢,而且目前OPENSSH最新版本为9.9,能否直接升级到9.9呢?

答案是肯定的,CENTOS 7.6上面的OPENSSH 7.4可以直接升级到9.9,与操作系统版本没有墙依赖性。

下面是具体步骤:

1.安装telnet-server
   考虑到ssh升级失败,无法操作,因此,事先先安装telnet-server
   使用OS 的安装介质即可安装 telnet-server
    yum install telnet-server
    systemctl enable telnet-server
    systemctl start telnet-server

    验证root用户无法登录。

    tail -f /var/log/secure
    。。。
    Nov 21 17:37:26 dbs01 login: pam_securetty(remote:auth): access denied: tty 'pts/1' is not secure !
    Nov 21 17:37:34 dbs01 login: pam_succeed_if(remote:auth): requirement "uid >= 1000" not met by user "root"
    Nov 21 17:37:35 dbs01 login: FAILED LOGIN 1 FROM ::ffff:172.17.6.240 FOR root, Authentication failure
    。。。
    把 pts/1 加入 /etc/securetty 即可
    echo pts/1 >> /etc/securetty

    也可以把  /etc/securetty  更名也可以达到同样效果

2.下载OPENSSH 9.9P1介质
   https://mirrors.aliyun.com/pub/O ... penssh-9.9p1.tar.gz

3.检查当前系统版本情况
   [root@dbs01 setup]# ssh -V
   OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
4.下载 OPENSSL 1.1.1W
    阅读 openssh 9.9p1的文档,提示 openssl 需要是 1.1.1以上版本,当前系统的OPENSSL 的版本为1.0.2,因此需要先升级 openssl 的版本。
    https://github.com/openssl/opens ... enssl-1.1.1w.tar.gz

5.安装 openssl 1.1.1w
   [root@dbs01 setup]# tar -xvf openssl-1.1.1w.tar.gz
   [root@dbs01 setup] cd openssl-1.1.1w
   [root@dbs01 openssl-1.1.1w]# ./config --prefix=/usr/local/openssl
   [root@dbs01 openssl-1.1.1w]# make && make install

   --备份原文件
   mv /usr/bin/openssl /usr/bin/openssl.bak
   ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
   echo "/usr/local/openssl/lib" >> /etc/ld.so.conf


   --设置生效
   ldconfig -v

   --查看版本
   openssl version
   [root@dbs01 openssl-1.1.1w]# openssl version
   OpenSSL 1.1.1w  11 Sep 2023


6.安装ssh 9.9p1

   tar -xzvf openssh-9.9p1.tar.gz
   cd openssh-9.9p1

   ./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/openssl --sysconfdir=/etc/ssh  --with-zlib

   make -j 16 && make install

   有报错信息:
   ...
   @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for '/etc/ssh/ssh_host_ed25519_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Unable to load host key "/etc/ssh/ssh_host_ed25519_key": bad permissions
Unable to load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
make: [check-config] Error 1 (ignored)
     。。。
    通过 修改权限解决
     chmod -R 600 /etc/ssh

     再去执行编译安装,不再报错。

7.更换 ssh 9.9

--备份文件
mv /usr/sbin/sshd /usr/sbin/sshd.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/bin/ssh-keygen /usr/bin/sshk-keygen.bak

cp -rf /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp -rf /usr/local/openssh/bin/ssh /usr/bin/ssh
cp -rf /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

--修改参数
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication yes

--去掉几个选项,通过注释掉配置文件中对应的选项即可
/etc/ssh/sshd_config line 79: Unsupported option GSSAPIAuthentication
/etc/ssh/sshd_config line 80: Unsupported option GSSAPICleanupCredentials
/etc/ssh/sshd_config line 96: Unsupported option UsePAM

--重启ssh
systemctl restart sshd



8.验证SSH9.9
ssh -V

[root@dbs01 openssh-9.9p1]# ssh -V
OpenSSH_9.9p1, OpenSSL 1.1.1w  11 Sep 2023
[root@dbs01 openssh-9.9p1]#

9.下载 telnet-server
  telnet 是明文传输,不安全,最后卸载掉
   systemctl disble telnet-server
   systemctl stop telnet-server
   yum remove telnet-server











欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2