我sudo apt-get install ssh
在运行 Ubuntu 的家用电脑上执行了该操作。
当我上班时,我尝试连接ssh x.x.x.x
我家里的 IP 地址。
互联网连接超时,但当我在 Ubuntu PC 上连接时ssh localhost
,它工作正常。
我是否需要对我的网络或该盒子做些什么来允许外部连接?
答案1
如果您使用家庭路由器解决方案,则需要将传入转发TCP/22
到运行 SSH 的 ubuntu 计算机,以便传入连接正确转发到您的 linux 机器。这通常在路由器的 Web 界面上 标记port forwarding
或显示。port mapping
然而,如果你的工作地点禁止TCP/22
出站,那么这并不能解决任何问题。
答案2
通常,安装时openssh-server
会打开端口。您可能需要确保防火墙 ( ufw
) 没有阻止它。
此外,你的路由器需要转发端口和您的雇主需要允许该端口传出。有些地方只允许 80 和 443,而大多数家庭 ISP 不允许该端口入站。
如果您可以在工作时运行外部聊天客户端(MSN 或 AIM 等),您可以始终转发其中一个端口,然后您必须 ssh 到该端口。
AOL Instant Messenger uses TCP 5190
ICQ uses TCP 5190
IRC uses TCP 6667 (almost certainly blocked)
MSN uses TCP 1863
仅有的当标准端口不起作用时,请使用备用端口。您几乎肯定会破坏通常使用该端口的服务。
答案3
检查 Ubuntu 服务器上的防火墙状态:
sudo ufw status
如果状态为开启,则需要添加规则以允许端口 22 连接,请参阅https://help.ubuntu.com/community/UFW这是如何做到的。
答案4
按照家用路由器的建议,如果您已经在路由器上正确设置了端口转发,请确保您尝试通过 ssh 连接到路由器的外部 IP,而不是家用桌面的内部 IP。