![从 iPhone 进行 SSH](https://linux22.com/image/864258/%E4%BB%8E%20iPhone%20%E8%BF%9B%E8%A1%8C%20SSH%20.png)
我在 Ubuntu 14.04 上安装了 openssh 服务器。我的机器名称为“machine”,用户名为“machine”,因此当我在终端上时,它会显示“machine@machine”。
问题:当我尝试从 SSH 客户端(通过 3G 的 iPhone)连接到我的机器时,我该输入什么:
- 用户名
- 示例.主机名.com:端口
我假设 (1) 的答案是“机器”。但是 (2) 呢?如何找到我的主机名和端口?
答案1
最好的方法是获取机器的 IP 地址并连接服务器。您也可以使用命令从 Cydia 连接移动终端程序
ssh 机器@IP (如果不改变默认端口22)
如果端口发生变化
ssh -p 端口号 机器@ip地址
答案2
这取决于您是在本地网络上连接,还是尝试从远程网络(通过 Internet)连接。
您提到您的计算机上的用户名是“machine”,因此这就是您在 ssh 用户名中输入的内容。
关于问题的第二部分“example.hostname.com:port”:
如果你的电脑和 iPhone 都连接到同一个网络,你需要知道电脑的 IP 地址。在电脑上,你可以打开终端并输入
ip a
如果您的计算机是通过以太网电缆连接的,请查看“eth0”列表下以找到“inet”地址。如果是无线连接的,请查看“wlan0”列表下。它看起来类似于 192.168.1.5 或 10.0.1.5,或类似的内容。这是您从 iPhone 连接时将使用的地址。如果您没有更改 ssh 端口号,则不必指定它,因为它将默认为端口 22。
因此,例如,如果您的计算机的 IP 地址是 192.168.1.5,则您应该输入该地址,而不是“example.hostname.com:port”。
如果您尝试从远程网络(通过互联网)连接到您的计算机,那么您还需要执行几个步骤。您需要确保已将路由器上的 ssh 端口 22 转发到计算机的 IP 地址(假设您可以控制路由器并可以进行此类修改)。然后,您需要知道您的外部公共 IP 地址。该外部地址就是您在 iPhone ssh 客户端中输入的内容。您可以通过访问以下网站轻松从计算机中找到您的外部 IP 地址http://www.ipchicken.com。那么您将输入该内容,而不是“example.hostname.com:port”。
但是,如果您尝试远程连接到住宅 ISP 帐户,则 ISP 很可能会向您提供 DHCP 租约。这意味着您的外部 IP 地址将定期更改。您的 IP 地址租约的有效期因 ISP 而异。可能是几个小时,也可能是几天。因此,您可能需要定期检查您的外部地址,以确保您拥有正确的地址。