CentOS6.8 升级OpenSSH并隐藏版本号

 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 

 

CentOS6.8 升级OpenSSH并隐藏版本号

上一篇:async/await异步操作的使用场景


下一篇:k8s 宿主机网网卡问题导致pod起不来处理方案