项目被扫出openssh有严重漏洞,因此要升级openssh到最新版本

1.为防止安装失败,无法用ssh做远程连接,因此先安装telnet防一手

yum -y install telnet*
systemctl enable telnet.socket
systemctl start telnet.socket

注:安全文件关闭或者修改(否则root无法telnet登录)

mv /etc/securetty /etc/securetty.bak

注:有防火墙的话需要放开23端口

firewall-cmd --zone=public --add-port=23/tcp --permanent

再重启防火墙

systemctl restart firewalld.service

查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports

2.安装依赖包

yum -y install zlib*

yum -y install pam-*

yum -y install gcc

yum -y install openssl-devel

3.备份原有ssh服务版本

mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak

4.安装openssh

下载链接献上

https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz

先解压

tar -zxvf openssh-8.9p1.tar.gz
cd openssh-8.9p1
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
make && make install

5.再卸载由yum安装的openssh

yum remove openssh

6.修改配置

启动前要将新生成的sshd_config修改以下几个地方

vim /usr/local/openssh/etc/sshd_config

 复制文件到相应系统文件夹

cp /home/openssh-8.9p1/contrib/redhat/sshd.init /etc/init.d/sshd

chkconfig --add sshd

cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd

cp /usr/local/openssh/bin/ssh /usr/bin/ssh

cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen

cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

7.启动

#启动

systemctl start sshd.service

#查看状态

systemctl status sshd.service

增加开机自启

systemctl enable sshd.service

8.安装完成后使用xshell之类的工具登录,发现在输入密码后被拒绝,用下面方法解决

(1)考虑是否是selinux启用了策略,将/etc/selinux/config 文件中的SELINUX=enforcing 修改为 SELINUX=disabled

(2)setenforce 0

9.最后验证版本

ssh -V

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐