ssh -V
查看版本。
一、为服务器添加备用连接方式,避免因为ssh升级失败导致无法远程管理
安装telnet客户端和服务端
yum install telnet-server telnet
编辑/etc/xinetd.d/telnet文件,将disable 改为no
vim /etc/xinetd.d/telnet
启动telnet-server服务,并设置开机自启
service xinetd restart
chkconfig telnet on
在其它机器上测试可以连接
telnet 192.168.1.2
如果连接不上配置:
1、关闭防火墙及selinux
2、查看/var/log/secure 提示
3、vim /etc/pam.d/login 注释:auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
4、vi /etc/securetty 末尾添加:
pts/0 pts/1 pts/2 pts/3 pts/4 pts/5
然后再重启 xinetd 服务。
二、升级OpenSSH版本
备份sshd
which sshd /usr/sbin/sshd cd /usr/sbin/ co sshd sshd.bak
安装必要编译软件
yum install -y gcc openssl-devel pam-devel rpm-build pam-devel
下载最新版openssh
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.6p1.tar.gz
解压,编译,安装
tar zxvf openssh-8.6p1.tar.gz && cd openssh-8.6p1 ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers echo $? 返回0表示成功执行成功,返回1或其他数字表示执行失败 make && make install service sshd restart service sshd status ssh -V
版本号已改变
三、隐藏OpenSSH版本号
正常情况telnet 22号端口会返回OpenSSH版本号,如下。
[root@ct6 ~]# telnet 192.168.1.2 22
Trying 192.168.1.2... Connected to 192.168.1.2. Escape character is ‘^]‘. SSH-2.0-OpenSSH_5.3
测试了网上给的替换版本号的方法 sed -i ‘s/OpenSSh_8.6/XXXX/g‘ sshd
最后执行sshd -V 出错,最好不要这种替
Segmentation fault