我知道 Apple 关于 SSH 的文章。我知道关于如何通过 SSH 登录 Mac 的视频。
我在 MacBookA 中有以下设置
我正在尝试通过 MacBookB 中图片中的命令来连接它
ssh <username>@<address>
其中和分别是我的相应用户名和地址。
我收到以下错误消息
[1448]ssh <username>@<address>
ssh: connect to host <address> port 22: Operation timed out
[1448]
我打开了 MacbookA。我让 MacbookA 的用户在线,并通过 MacbookA 将其离线,然后尝试登录 MacbookB 的终端,但出现操作超时 - 错误。
如何在终端通过 SSH 连接到远程 Mac?
答案1
它们都在同一个本地网络上吗?如果是,您可以使用 Bonjour 名称进行连接吗?
ssh [email protected]
答案2
您需要确保两台计算机的端口 22 都打开了(任何地方都有防火墙?)并且有从 A 到 B 的网络路由。(不在 NAT 后面,也不在 NAT 和转发/DMZ 后面)
您能互相 ping 通两台计算机吗?[回答:是的]
补充:
两台计算机的 IP 地址是否属于以下范围之一?:192.168.xxx.xxx、10.xxx.xxx.xxx 或 169.xxx.xxx.xxx 如果是,则它们位于某种路由器后面,您需要确保路由器知道通过 NAT/端口转发将请求转发到正确的计算机,或者在路由器配置中将 DMZ 设置为接收计算机的内部 IP 地址。
例如,我的 Macbook Pro 是 10.0.0.1,路由器是 10.0.0.138。假设我的公共 IP 是 96.1.2.3(所有都是虚构的,但对于示例来说,这样就可以了。)
我已经设置了我的路由器(也是我的宽带调制解调器),通过随附的实用程序将其放入路由器配置中,将每个请求转发到 10.0.0.1。
现在,当我尝试连接到 96.1.2.3 时,路由器是第一响应者,但它知道将请求转发到我的 Macbook Pro,所以最终我的 Macbook Pro 通过路由器响应请求方。
如果您没有在路由器上设置任何类型的转发,它可能会拒绝来自外界的任何请求,即使不这样做,它也不知道在内部网络上将请求发送到哪里。(如今,即使您只使用一台计算机,也几乎总是有一个内部网络)。
我认为问题不在于防火墙,而更可能在于您的路由器设置,您需要确保接收端确实能够处理请求。
答案3
您所说的“适当的用户名和地址”是什么意思?该地址是互联网地址、LAN 地址还是 Bonjour?您是否尝试过关闭所有防火墙以查看是否可行?您可能想使用实用程序/网络实用程序。
我从回答中看到您使用的是两个不同的互联网连接。您确定各个路由器/电缆调制解调器没有内置防火墙吗?