我目前正在使用一台托管网站和 SSH 服务器的计算机。但是,当通过 SSH 连接时,我收到:
ssh: connect to host [ip] port 22: Connection refused
此外,我还无法从本地主机以外的任何计算机/任何地方访问我的网站(ssh 也可以从本地主机工作),所以我怀疑这是端口问题。奇怪的行为是,我可以完全访问互联网,似乎没有任何问题,到目前为止,我的进程似乎都在监听正确的端口。例如:
netstat -an | grep "LISTEN "
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
...
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
与 lsof 一样,请确定:
sudo lsof -i -n -P | grep LISTEN
systemd-r 692 systemd-resolve 13u IPv4 28278 0t0 TCP 127.0.0.53:53 (LISTEN)
cupsd 789 root 6u IPv6 28309 0t0 TCP [::1]:631 (LISTEN)
cupsd 789 root 7u IPv4 28310 0t0 TCP 127.0.0.1:631 (LISTEN)
mongod 801 mongodb 11u IPv4 32916 0t0 TCP 127.0.0.1:27017 (LISTEN)
sshd 38855 root 3u IPv4 89747 0t0 TCP *:22 (LISTEN)
sshd 38855 root 4u IPv6 89749 0t0 TCP *:22 (LISTEN)
node 54590 root 21u IPv6 118616 0t0 TCP *:80 (LISTEN)
我设置了防火墙规则来允许流量通过:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80,443/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80,443/tcp (v6) ALLOW Anywhere (v6)
查看我的路由器后,DHCP 也明显正常工作,并且端口转发规则似乎正确,所以我觉得我已经检查了整个堆栈。有任何想法吗?
答案1
这个问题与我几周前改用全新安装的 Linux Mint 有关。设置端口转发时,我的计算机有多个同名条目(因为我保留了主机名)。我使用的流量有与之关联的旧数据,切换到不同的条目后,所有流量都被正确转发。
如果有人遇到同样的问题并且没有尝试检查具有相同主机名的设备(即使一个不存在/关闭),我将保留这篇文章