第一次写博客,只用于解决,本次升级所涉及的相关问题
目录
- OpenSSH 命令注入漏洞(CVE-2020-15778) (升级解决)
- OpenSSH 输入验证错误漏洞(CVE-2019-16905) (升级解决)
- OpenSSH 安全漏洞(CVE-2016-1908) (OpenSSH 7.2版本前)
- OpenSSH 安全限制绕过漏洞(CVE-2016-10012) (OpenSSH 7.4版本前)
- OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325) (OpenSSH 7.2p2版本前)
- Portable OpenSSH GSSAPI远程代码执行漏洞(CVE-2006-5051)(OpenSSH 4.4版本前)
- Openssh MaxAuthTries限制绕过漏洞(CVE-2015-5600) (升级最新版本解决)
- OpenSSH J-PAKE授权问题漏洞(CVE-2010-4478) (OpenSSH 5.6版本前)
- OpenSSH 'schnorr.c'远程内存破坏漏洞(CVE-2014-1692) (OpenSSH 6.4版本前)
- OpenSSH sshd Privilege Separation Monitor 未明漏洞 (OpenSSH 4.5版本前)
- OpenSSH auth_password函数拒绝服务漏洞(CVE-2016-6515) (OpenSSH 7.3版本前)
- OpenSSH 远程代码执行漏洞(CVE-2016-10009) (OpenSSH 7.3版本前)
- OpenSSH do_setup_env函数权限提升漏洞(CVE-2015-8325) (OpenSSH 7.2p2版本前)
- OpenSSH多个拒绝服务漏洞(CVE-2016-10708) (OpenSSH 7.4版本前)
所需安装包:
- home下创建openssh文件夹
- chmod 777 openssh(修改文件夹权限)
- 上传以下压缩包
- perl-5.34.0.tar.gz
- zlib-1.2.11.tar.gz
- openssh-8.6p1.tar.gz
- openssl-1.1.1k.tar.gz
- 解压安装包
- tar --no-same-owner -zxvf openssh-8.6p1.tar.gz
- tar --no-same-owner -zxvf zlib-1.2.11.tar.gz
- tar --no-same-owner -zxvf openssl-1.1.1k.tar.gz
- tar --no-same-owner -zxvf perl-5.34.0.tar.gz
zlib安装 :
- cd zlib-1.2.11
- ./configure --prefix=/usr/local/zlib
- make && make install
perl安装:
- which perl
- mv perl perl.old
- cd perl-5.34.0
- ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly
- make
- make test
- make install
- ln ls /usr/local/perl/bin/perl /usr/bin/perl //软链接
- perl -version
openssl安装:
- cd openssl-1.1.1k
- ./config --prefix=/usr/local/ssl -d shared
- make && make install
- echo '/usr/local/ssl/lib' >> /etc/ld.so.conf
- ldconfig -v
openssh安装:
- cd openssh-8.6p1
- ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
- make && make install
sshd_config文件修改:
- echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_config
- echo 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_config
- echo 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
文件备份并移动文件:
- mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
- cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
- mv /usr/sbin/sshd /usr/sbin/sshd.bak
- cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
- mv /usr/bin/ssh /usr/bin/ssh.bak
- cp /usr/local/openssh/bin/ssh /usr/bin/ssh
- mv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bak
- cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
- mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
- cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
升级完成后sftp登录后瞬间断开问题:
- 修改/etc/ssh/sshd_config 文件中sftp路径,改为
- Subsystem sftp /usr/libexec/sftp-server
部分内容参见:https://www.cnblogs.com/zhoading/p/13949353.html
以上步骤安装完成后,会出现 openssl version 和 ssh -V版本不一致问题,解决如下:
- sudo到root权限:sudo su -
- 查看openssl的路径:which openssl
- 备份原有的openssl文件: mv /bin/openssl /bin/opensslbak
- 将安装路径下的openssl软连接到目标:
- ln -s /usr/local/ssl/bin/openssl /bin/openssl
- ln -s /usr/local/ssl/include/openssl /usr/include/openssl
- echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
- ldconfig -v
- openssl version
- ssh -V
- service sshd restart
版权声明:本文为qq_42969826原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。