博主在工作上经常碰到服务器因为openssh版本过低而被扫描出漏洞的情况。由于工作上的大多数服务器是离线服务器,比较难进行openssh服务的版本更新,所以一般都是采取修改openssh版本的办法来规避漏洞。在此特意记录一下修改openssh版本号的方法。
1.查看本机SSH版本号
ssh -V
sshd -V
记录下显示的版本号,我的机子是OpenSSH_7.4p18

2.备份SSH文件
which sshd
which ssh
得到sshd的位置为/usr/sbin/sshd
ssh的位置为/usr/bin/ssh
cp -p /usr/sbin/sshd /usr/sbin/sshd.bak
cp -p /usr/bin/ssh /usr/bin/ssh.bak
3.修改ssh文件的版本号
sed -i 's/OpenSSH_7.4/hello world/g' /usr/sbin/sshd
sed -i 's/OpenSSH_7.4/hello world/g' /usr/bin/ssh
#记住替换ssh的版本号的时候,写的是主版本号,例如:OpenSSH_7.4p1,只要把OpenSSH_7.4放进去替换就行了
#如果ssh的版本号不为OpenSSH_7.4,则最好查看下/usr/sbin/sshd和/usr/bin/ssh文件里边的版本号是多少
strings /usr/sbin/sshd |grep "Open"
strings /usr/bin/ssh |grep "Open"

4.验证ssh版本号
ssh -V
sshd -V

5.从另外一台服务器上telnet这台服务器的SSH端口,看看版本号是否变更

6.重启ssh服务
service restart sshd
Comments NOTHING