如何在家庭网络上从 Windows 7 到 Linux 设置 SSH?

如何在家庭网络上从 Windows 7 到 Linux 设置 SSH?

我有一台 Windows 7 机器和一台 Linux 机器。我想从 Windows SSH 到 Linux。如果两者都连接到我家里的路由器,我该如何设置?如果我把 Linux 机器留在家里,但带着 Windows 机器去星巴克,是否需要进行任何更改?

到目前为止,我已经在两台机器上安装了腻子并禁用了防火墙。

乌本图:sudo ufw disable

Windows:只需禁用 Windows 防火墙

Putty:输入我的 Ubuntu 机器的 IP(本地和外部 IP)

单击“连接”后,我收到连接被拒绝消息。

答案1

首先,两台机器应该位于同一子网(例如 192.168.1.x)。作为初始测试,尝试从 Windows ( ping -t <Linux IP>) ping Linux 机器,您应该会得到响应。如果没有得到响应,您将无法使用 SSH,并且需要重新配置您的网络。

其次,你需要在 Linux 机器上安装 SSH 服务器。由于你使用的是 Ubuntu,请按照本指南有关如何安装 OpenSSH。

SSH 服务器将设置为在后台运行,我建议您重新打开 Linux 防火墙并打开它正在监听的端口(通常是 TCP 端口 22)。您可以使用以下命令执行此操作:

sudo ufw allow ssh

设置完成后,您可以从 Windows ping 您的 Linux 机器,您应该能够使用 Putty 或任何其他 Windows SSH 客户端连接到您的 Linux 机器。只需输入您的 Linux IP 和端口,您就可以开始了。

现在,如果你想从家庭网络外部连接,你可能需要配置转发端口适用于您的路由器。这在很大程度上取决于制造商,但它基本上涉及将您的 WAN IP 映射到 SSH 端口的 LAN IP。谷歌搜索<router name and model> port forwarding,您应该会得到一些结果。

不过,端口转发只是整个方程的一半。您的家庭互联网连接可能没有静态公共 IP,该 IP 会在您关闭路由器电源或您的 ISP 强制更改 IP 时发生变化。为了避免每次更改时都必须记住新的公共 IP 地址,您可以设置动态 DNS 服务。这意味着您可以输入域名(例如 ssh.myhost.com)而不是 IP。

有许多免费的动态 DNS 服务,例如无IP免费DNS等。通常,您必须在 Linux 机器上运行他们的客户端,这样,只要您的公共 IP 发生变化,该客户端就会更新他们的 DNS 记录。不过,大多数路由器都内置了此功能,因此请检查路由器的管理页面。

答案2

您需要在路由器上设置端口转发。完成此操作后,您将能够使用 Putty 使用您的公共 IP 地址,并且您的路由器将识别流量并将其引导至您的 Ubuntu 盒子。确保您的 SSH 密码强,以防止窥探。

优质资源:http://portforward.com/- 将有针对路由器的端口转发特定方向。

相关内容