几个月前我购买了一台新的 Ubuntu 服务器。它已连接到我的路由器。我能够通过 ISP 设置端口 22 的端口转发,然后使用我的 Windows 笔记本电脑的内部 IP 通过 SSH 连接到服务器,同时使用同一路由器的无线连接。我还能够为服务器设置名称并使用 No-IP 动态更新服务将其连接到外部 IP 地址,并且能够使用 SSH 在我的公寓内和远程访问服务器。
然后,由于某种原因,几周前我在外出旅行时,它停止工作了,我再也无法通过 SSH 从外部进入服务器。自从我回到家后,我也无法通过 SSH 从内部进入服务器。据我所知,什么都没有改变。我和服务器制造商以及我的 ISP 打过几次电话,在排除了所有明显的候选问题后,双方都声称问题出在对方身上。
我已检查 IP 是否正确,端口转发是否设置正确,我已重新启动所有设备,在服务器上重新安装了 openssh 等。我还尝试从其他互联网提供商连接到它。我仍然无法通过内部或外部 SSH 进入服务器。服务器运行完全正常,我可以在笔记本电脑上 ping 它,只是无法通过 SSH 进入它。
编辑:我在 Windows 上使用 Putty 进行 ssh,收到的错误是“网络错误:连接超时”
当我输入“sudo systemctl status sshd.service”时,我发现系统处于活动状态(正在运行)。
当我输入“ssh localhost”时,我收到“警告远程主机标识已更改”,然后出现有关有问题的 ECDSA 密钥的错误。“本地主机的 ECDSA 主机密钥已更改,您已请求严格检查。主机密钥验证失败。”
编辑2:我修复了之前使用 ssh-keygen -R localhost 的问题。现在我可以 ssh 进入 localhost 了。
我觉得我的问题和另一个问题有点不同UFW 允许 IPv4 和 IPv6 使用 22,但启用时 SSH 会断开连接 我不知道为什么我无法连接到 ssh,而恰巧我的防火墙已启用。并不是因为启用防火墙会断开可用的 ssh 连接。
答案1
我能够通过以下方式解决问题:sudo ufw disable