问题
当OpenSSH 版本过低时,会出现OpenSSH 用户枚举漏洞(CVE-2018-15473),为了系统的安全加固,一般都会将OpenSSH 服务升级到最新版本
准备
官方网站下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz
准备三个xshell窗口,为了防止手残党
如果系统上没有安装gcc,就执行下面的命令
yum -y install gcc
步骤
一般我们使用默认安装的路径,其他路径需要自己的记下,在sshd的启动文件中修改,后面会说怎么修改。
将官网下载的安装包传入服务器中
安装之前先删除现有的版本
rpm -e --nodeps `rpm -qa |grep openssh`
在使用卸载命令后不会删除完/etc/ssh/ 路径下的文件 需要手动删除:
rm -f /etc/ssh/*
如果执行了上面两个命令,下载包都没有扔进去的,先执行下面的命令,然后直接将包拖进shell即可
yum -y install lrzsz
进入传入的安装包目录进行解压:
tar xzf openssh-8.8p1.tar.gz
cd openssh-8.8p1
yum -y install openssl-devel
进行编译安装openssh,分为两步:
./configure --prefix=/usr/ --sysconfdir=/etc/ssh/ --with-ssl --with-md5-passwords mandir=/usr/share/man/
make && make install
删除密匙对,只删除密匙对,在重启的时候会重新生成
rm -f /etc/ssh/ssh_host_*
复制启动文件到/etc/init.d/
cp contrib/redhat/sshd.init /etc/init.d/sshd
修改启动文件,注意默认路径请忽律这一步操作;将PID_FILE路径改为刚才第一步记下的路径
vim /etc/init.d/sshd
PID_FILE=刚才第一步记下的路径
OpenSSH 的配置文件默认是没有开启root登录权限的,想要开启权限要修改配置文件
vim /etc/ssh/sshd_config
将PermitRootLogin前面的#删除,将后面的内容改成yes ,如图
下面都是OpenSSH 的开机自启设置
vim /etc/rc.local
在里面添加以下命令
/etc/init.d/sshd start
最后是赋权
chmod +x /etc/rc.local
OpenSSH 的启动命令和停止命令
启动:/etc/init.d/sshd start
停止:/etc/init.d/sshd stop
验证
ps -ef | grep sshd
这里看图片的路径
输入命令
/usr/sbin/sshd -V
出现以下图片说明成功
如果遇到ssh命令不能登录其他服务器就清理下面的所有内容
vim /root/.ssh/knows_hosts