![无法通过 SSH 进行外部连接](https://linux22.com/image/1402521/%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20SSH%20%E8%BF%9B%E8%A1%8C%E5%A4%96%E9%83%A8%E8%BF%9E%E6%8E%A5.png)
我在办公室有一台 CentOS 虚拟机,我可以使用其本地 IP 地址通过 SSH 本地连接到它,但当我在办公室外时,我无法使用它的外部 IP 地址通过 SSH 连接。它使用的是 OpenSSH。我感觉这是在网络级别被阻止的,因为当我尝试远程登录到外部 IP 的端口 22 时,我收到了拒绝连接的消息。我不是最初设置虚拟机的人。服务器上是否有其他原因导致了这种情况?还有什么我可以测试的吗?
答案1
如果您可以在本地使用它,则表明 SSHd 正在运行,这是没问题的。
您最有可能需要做的是将端口 22(或其他未使用的端口)从服务于您办公室网络的路由器/网关重定向到您想要连接的虚拟机的端口 22。这很可能是缺失的。(因此从外部 IP:22 或甚至另一个端口重定向到 VM_IP:22)
答案2
可能的问题是端口转发规则指定不正确或未到位。请确保以下内容准确无误:
sudo vi /etc/ssh/sshd_config
- 在这里指定您想要使用的端口- 进入你的路由器,将你指定的端口指向你系统的内部 IP。你可以通过 获取此 IP
ifconfig
。
如果这不是问题,您的网络安全可能会根据其标准规则阻止此问题,在这种情况下请咨询您的系统管理员。