我想更改 CentOS 上的 SSH 端口。
但在执行此操作之前,我首先要确保端口是开放的。
因为 SSH 是我访问服务器的唯一方式,我不想把自己锁在外面:-)
我使用以下两个命令来添加 iptables 规则:
iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
/etc/init.d/iptables save
之后我使用以下命令对其进行了测试:
nmap -v -sV localhost -p 4444
结果如下:
Host localhost.localdomain (127.0.0.1) appears to be up ... good.
Interesting ports on localhost.localdomain (127.0.0.1):
PORT STATE SERVICE VERSION
4444/tcp closed unknown
状态是closed
这样的,看上去好像我没有正确打开端口。
我该怎么做才能打开端口?
答案1
您使用的 iptables 命令是正确的。检查 netstat -anlp | grep 4444 以查看是否有任何东西打开了该端口。我猜您的 sshd 尚未监听 4444。如果您已将 4444 添加到 sshd_config,请确保您也已重新启动 sshd 以使更改生效。
答案2
更改端口不会提高安全性。您应该在 sshd_conf 中禁用:root 登录身份验证和密码身份验证。仅使用基于 ssh 密钥的身份验证。
要测试新端口是否可访问,请使用。在服务器上netcat
运行:nc -l 4444
或,然后从工作站使用进行测试。netcat -l 4444
nmap