我使用这篇文章来更改 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”部分,重启后设置将被丢弃。