将 SSH 端口从 22 更改为 1234,但是运行 nmap 时仍然显示端口 22?

将 SSH 端口从 22 更改为 1234,但是运行 nmap 时仍然显示端口 22?

我使用这篇文章来更改 centos 7 机器上的 ssh 端口:

https://www.liberiangeek.net/2014/11/change-openssh-port-centos-7/

(我跳过了 selinux 内容因为我没有安装它):

但是当我在指向 centos 7 框的另一台服务器上运行 nmap 时,它给出:

Host is up (0.00023s latency).
Not shown: 65533 filtered ports
PORT    STATE  SERVICE
22/tcp  closed ssh
1234/tcp  open   unknown

我试过

sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp

但这给了我

Warning: NOT_ENABLED: 22:tcp
success

我误解了什么?我怎样才能让端口 22 不显示在 nmap 上?或者应该由于某种原因它仍然会出现吗?

答案1

在 Centos 7 上使用 Firewalld 时,ssh 是通过服务名称而不是通过端口来设置的。

如果你做了

firewall-cmd --list-services

它将列出你的机器上打开的服务,例如“dhcpv6-client ssh”

运行以下命令删除该服务,为新的 ssh 端口添加永久规则并重新加载防火墙规则,然后再次扫描机器

firewall-cmd --zone=public --permanent --remove-service=ssh
firewall-cmd --zone=public --permanent --add-port=1234/tcp
firewall-cmd --reload

如果您不确定,可以省略“--permanent”部分,重启后设置将被丢弃。

相关内容