我在从网络外部访问 Ubuntu 服务器上的 SSH 时遇到问题。
使用它的本地 IP 地址 (192.168.1.100) 访问它可以正常工作。从联网的 PC 访问但使用路由器的外部 IP 地址也可以正常工作。当我尝试从我的工作 PC 访问服务器时出现问题。
我必须做一些端口转发,因为我的工作防火墙只允许端口 80 和 443 上的出站流量。我的路由器现在将接受 443 上的连接并将它们转发到我的 Ubuntu 服务器上的端口 22,并且此配置在上面运行良好使用外部 IP 地址进行测试。但是,在工作中我仍然无法连接(顺便说一下,我正在使用 Putty)并且只是得到一个“服务器意外关闭的网络连接”对话框。
昨晚检查 ssh 日志(auth.log),我可以看到与我的工作外部 IP 地址相关的条目,所以我知道请求正在到达服务器本身,但我找不到任何关于错误本身的真正解释,它读取:
Did not receive identification string from xx.xx.xx.xx << Work IP Was Here
谁能澄清这意味着什么以及我需要做些什么来解决这个问题。SSH 配置非常基本,并且仅限于禁用 root 访问。
提前致谢
这意味着 SSH 客户端实际上并没有向服务器发送 SSH。我最好的猜测是某种透明代理或 IDS 会阻碍您工作中的流量,并使其无法恢复。如果是这样,请在家中的 443/tcp 上安装 OpenVPN,并明确配置 OpenVPN 客户端以使用 HTTPS 代理连接到家庭(效果很好——让我一次从一个极其锁定的政府网络内部获得完全的网络访问权限)。