我正在尝试设置一个 ssh 服务器,我可以使用公钥身份验证在本地进行 ssh,但是当我尝试使用服务器的公共 IP 时,却无法进行。我检查了本网站看看端口是否真的打开了,结果打开了。我检查了是否有防火墙,但似乎没有。
[jacob@cooler ~]$ ssh -vvv -p 22 user@ip)
OpenSSH_7.9p1, OpenSSL 1.1.1b 26 Feb 2019
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolve_canonicalize: hostname (ip) is address
debug2: ssh_connect_direct
debug1: Connecting to (ip) [(ip)] port 22.
debug1: connect to address (ip) port 22: Connection timed out
ssh: connect to host (ip) port 22: Connection timed out
[jacob@cooler ~]$ ^C
当我使用 lan ip(使用与同一台机器相同的客户端)时,它可以工作。将 ip 更改为公共 ip 则不行。欢迎任何建议!
答案1
显然,有些路由器无法处理局域网中的计算机访问位于同一局域网的公共服务器,这称为 NAT Hairpining。如果您认为您已为 ssh 设置好一切(端口已打开,没有防火墙),请尝试从其他网络登录。感谢 Tim_Stewart!