如何隐藏SSH的版本

摘要:
查看OpenSSH#wherisshdsshd:#nmap-p22-sv-v-n192.168.2.167StartingNmap7.91(https://linux:OpenSSH 7.6p1步骤2:

  本文以在 Ubuntu 18.04 上为例,演示如何隐藏 OpenSSH 的版本信息。

Step 1: 查看 OpenSSH 的版本信息

# whereis sshd
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz
# /usr/sbin/sshd -v
unknown option -- v
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
            [-E log_file] [-f config_file] [-g login_grace_time]
            [-h host_key_file] [-o option] [-p port] [-u len]

使用 nmap 进行外部扫描。

# nmap -p 22 -sV -v -n 192.168.2.167
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-08 19:14 CST
NSE: Loaded 45 scripts for scanning.
Initiating Ping Scan at 19:14
...

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

可以看到版本为:OpenSSH 7.6p1

Step 2: 替换版本信息

记住,一定要先备份,以免操作失误,尤其是在远程操作的时候。

# cp /usr/sbin/sshd sshd.bak      # 【注】备份
# cp /usr/sbin/sshd /usr/sbin/sshd.bak
# ls /usr/sbin/sshd*
/usr/sbin/sshd  /usr/sbin/sshd.bak
# strings /usr/sbin/sshd | grep OpenSSH_7.6
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3     <== Nmap 探测展示的结果是这一行
OpenSSH_7.6p1
OpenSSH_7.6

替换 OpenSSH 的版本,使用 sed 命令,语法如下

sed 's/原字符串/替换字符串/'
# sed -i 's/OpenSSH_7.6/OpenSSH_x.x/g' /usr/sbin/sshd
# /usr/sbin/sshd -v
unknown option -- v
OpenSSH_x.xp1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n  7 Dec 2017
usage: sshd [-46DdeiqTt] [-C connection_spec] [-c host_cert_file]
            [-E log_file] [-f config_file] [-g login_grace_time]
            [-h host_key_file] [-o option] [-p port] [-u len]

可以看到,本地提示的版本信息已经变了。

【注】在替换版本的时候,如果替换为任意字符,可能会导致 core dump, 具体原因不明,可以参考上面的做法,隐藏具体版本信息即可。

Step 3: 验证

# nmap -p 22 -sV -v -n 192.168.2.167

如何隐藏SSH的版本第1张

 查看 /usr/sbin/sshd 文件内容,发现已经更改。

如何隐藏SSH的版本第2张

 以上!

免责声明:文章转载自《如何隐藏SSH的版本》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇服务API版本控制设计与实践WPF的DataGrid用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python 通过pip freeze、dowload打离线包及自动安装【适用于保密的离线环境】

python的pip是其包管理工具,相当方便好用。本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本。这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客户环境。 环境 操作系统: Centos 7.7 python 版本: 2.7 客户网络环境: 离线 研发网络环境:联网 pip 安装 (1)下载rpm包...

zabbix 安装(离线源码安装)

1、LAMP 环境搭建   1.1 、安装 apache   安装 pcre tar -zxvf pcre-8.41.tar.gz cd pcre-8.41 ./configure --prefix=/home/pcre make make install 安装 apr tar -zxvf apr-1.6.5.tar.gz cd apr-1.6.5 ....

SQL Server创建存储过程——动态SQL

简介: 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。 自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功, 存储过程并不能像函数那样被直接调用,只能利用...

git clean用法

git clean用法   想批量删除branch中新加的文件(untracked files),,git reset --hard不行~   首先确认要删除的文件 git clean -fd -n   如果以上命令给出的文件列表是你想删除的, 那么接下来执行   git clean -f -d或者git clean -fd就可以了。   其中-f表示文...

Ubuntu 18.04及Snap体验——让Linux入门更简单(转))

https://www.linuxidc.com/Linux/2018-06/152993.htm 初次听说过Linux的时候,是大一计算机课时候老师介绍说除了Windows还有Linux、Unix操作系统。但真正接触Linux是为管理虚拟专用服务器(VPS),都说Ubuntu适合新手于是接触了是Ubuntu 10.10(Maverick Meerkat)...

【高精度】采购员的烦恼

问题 K: 【高精度】采购员的烦恼 时间限制: 1 Sec  内存限制: 64 MB提交: 4  解决: 4[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 电器厂最近赶制一批电器,需要大量采购原材料,各个车间均根据生产需要向采购组递交需求清单。由于数量宠大,采购员无法准确算出购买所有原材料的总金额。请你编写一个程序,帮助采购员算出购买所有...