我对使用网络还很陌生,并且在我的 Mac 终端上使用 SSH 连接到我的访客 Ubuntu 机器时遇到了问题。
我正在使用 VirtualBox,并且我已经相应地设置了端口转发。
当我运行下面的代码时:
(base) MacBook-Pro:~ my_name$ ssh [email protected] -p 222
我得到这个结果:
ssh: connect to host 172.30.1.59 port 22: Operation timed out
所以我尝试 ping 我的 ip,这是我得到的结果:
PING 172.30.1.59 (172.30.1.59): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
ping: sendto: No route to host
Request timeout for icmp_seq 4
ping: sendto: Host is down
Request timeout for icmp_seq 5
ping: sendto: Host is down
Request timeout for icmp_seq 6
ping: sendto: Host is down
Request timeout for icmp_seq 7
通过一些谷歌搜索,我发现我应该检查我的 netstat,但我不确定如何理解它:( 但这是我从 netstat -r 得到的
Internet:
Destination Gateway Flags Netif Expire
default 172.30.1.254 UGSc en0
127 localhost UCS lo0
localhost localhost UH lo0
169.254 link#6 UCS en0 !
172.30.1/24 link#6 UCS en0 !
172.30.1.5 48:8d:36:10:67:23 UHLWI en0 1185
172.30.1.50 68:fe:f7:a6:65:1d UHLWIi en0 1021
172.30.1.58/32 link#6 UCS en0 !
172.30.1.59 link#6 UHRLWI en0 !
172.30.1.254/32 link#6 UCS en0 !
172.30.1.254 0:7:89:6d:4d:ce UHLWIir en0 1168
224.0.0/4 link#6 UmCS en0 !
224.0.0.251 1:0:5e:0:0:fb UHmLWI en0
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI en0
255.255.255.255/32 link#6 UCS en0 !
任何帮助将不胜感激,提前致谢!
答案1
如果在 Virtualbox 网络中正确设置了端口转发,您应该使用以下命令进行连接:
ssh -p 222 ubuntu@localhost
VBox 中的端口转发将 VM 的端口(对于 ssh TCP 22)转发到主机上的任意端口。因此,您本质上是连接到主机,localhost
而不是虚拟机。此连接将转发到 VM 上的端口。
我还更改了 和 目的地的顺序-p
,因为在您发布的结果中提到了错误port 22: Operation timed out
(应该是 222)。我不知道这是一个拼写错误还是真正的输出,以防万一-p
在目的地前面使用。
如果您已正确设置所有内容但仍然存在问题,我建议将主机上的端口更改为高端口(> 1023),例如 2222。较低的端口需要由特权用户(root、sudoer)打开。也许macOS上的VBox服务可以打开222,但我不确定。