假设我将离开我的桌面,但是我希望在外出时能够通过 SSH 进入桌面。
192.168.1.1
这是否像在我的路由器页面上为端口添加 NAT / 端口转发规则一样简单22
?
假设我的公网 IP 是1.2.3.4
。那么我将规则添加到我的路由器,然后我就可以通过 SSH 从 进入我的机器了?ssh [email protected]
答案1
你问题中的建议完全正确。
您需要安装 OpenSSH 服务器 ( sudo apt install openssh-server
),然后在路由器上设置端口转发。当然,您还需要在本地计算机的防火墙配置中为 SSH 添加例外。
通常也会建议你强制公钥认证而不是使用密码来增加安全性。
还请注意,您应该设置一个静态 IP 地址,这样您的端口转发配置就不会因为 DHCP 而在不合适的时间中断。虽然大多数路由器都会让您的计算机保留您的 IP 地址,但这并不总是一个有效的解决方案,并且不能解决暂时的连接中断问题。通常最好建立一个静态 NAT IP 以保证它可以正常工作。
当你外出时,你只需通过 SSH 连接到你的公共 IP,就可以访问你的计算机。你也可以考虑使用动态 DNS提供商为您的路由器分配一个域名,因此您的 ISP 推送的任何 IP 更改都不会影响您的连接。
请注意,将服务器开放给全球 SSH 会带来(非常小的)安全隐患。大多数情况下,这会导致您的服务器被自动机器人 ping 几次,这些机器人试图找到安全性较差的服务器。不使用标准用户名(如admin
)和基于密钥的身份验证几乎总是可以阻止它们。如果您真的担心,您可以使用 22 以外的端口(尽管nmap
如果端口 22 关闭,智能机器人或人类会尝试),使用失败禁止或者两者兼而有之。假设已实施适当的安全协议,恶意机器人可以实施的最严重的攻击就是将大量日志条目写入您的硬盘。
如果您是那些处于多层 NAT 之间的不幸者之一(某些 ISP 会执行所谓的运营商级 NAT),那么这将变得更加复杂。您将需要 VPN 或其他代理 SSH 隧道的方法。当然,您也可以从 ISP 请求端口,尽管成功率可能有所不同。