在 Ipad 上通过 SSH 访问计算机

在 Ipad 上通过 SSH 访问计算机

我被这个问题困扰了一个星期。我试图通过 ssh 从我的 iOS 设备(如 iPhone 或 iPad)访问我的电脑,但不在同一网络上。使用 ssh 命令在同一网络上一切都运行良好。我听说过端口转发、公共 IP 地址或调制解调器配置,但我实际上并不了解不同的步骤。我如何从外部网络(尤其是 iOS 设备)访问我的笔记本电脑(如果有区别)?

答案1

确实您需要设置端口转发。

首先要问自己的问题是,你的路由器(允许互联网访问)是否允许端口转发?为此,请连接到此路由器的管理控制台。

如果是,请执行以下操作:

  1. 您想要通过 ssh 连接的机器必须有固定 IP,例如:192.168.1.10,可以在路由器管理面板中进行配置。

  2. 了解你的公共 IP 地址

  3. 在路由器的管理面板中,创建一个新设置并将端口 22 TCP(内部和外部端口)重定向到固定 IP 例如:192.168.1.10

  4. 连接到你的公网IP的22端口。

我希望我能帮到你。

再见。

答案2

安全 Shell 协议要求两个端点都拥有同一网络中的 IP 地址。如果客户端属于私有网络,服务器必须在该网络中有一个地址;如果客户端属于全球网络,您的服务器必须通过公共 IP 地址公开才能访问。这就是协议的工作方式,无论硬件供应商、操作系统或网络提供商如何,并且没有办法绕过这一点。

如果您的服务器设备(在本例中是您的计算机)没有公共 IP 地址,最简单的解决方案可能是设置为您的服务器提供网络的路由器,以将服务器的端口 22 转发到其公共接口上的端口(最好不是 22)。这高度特定于供应商,因此,如果您可以控制路由器,您应该查看其文档以了解如何为此进行配置。

但是,选择路由器上除 22 之外的其他外部端口的原因与供应商无关:一是您可能不想禁用对路由器本身的 SSH 访问(这可能适用于或不适用于您的情况),另一个原因是端口 22 显然是一个众所周知的服务端口,是安全攻击的常见目标,您可能不想将您的计算机暴露给这些攻击。

除了手动配置路由器以将服务器的 SSH 端口永久暴露给互联网之外,还有一个更安全的替代方法,那就是使用路由器上的 SSH 服务器将 SSH 连接转发到您的服务器。如果您的客户端运行的是 OpenSSH v7.3 或更高版本,则有一个简单的命令行选项-J

ssh [user@]host -J [user@]jumphost[:port]

例如(假设服务器的 IP 在路由器后面的网络中为 192.168.1.2,并myrouter解析为路由器的公共 IP,并且两个设备中都有一个连接用户的帐户)

ssh 192.168.1.2 -J myrouter

阅读链接的文章来了解更多实现此目的的方法。

相关内容