我在从远程计算机(我们称之为alice
) ssh 到我的笔记本电脑时遇到问题。我的笔记本电脑和alice
都能够 ssh 到第三台计算机(bob
),并且我可以从那里 ssh 回到alice
。但是,当我尝试从任何一台计算机连接到我的笔记本电脑时,它都失败了。这三台机器都在同一个网络上。
总结一下:
@alice <-> @bob : Good!
@my_computer -> @bob : Good!
@my_computer -> @alice : Good!
@my_computer <- @bob : Fail
@my_computer <- @alice : Fail
我查看了其他类似的问题,但找不到任何可以解决我的问题的东西。
如果我运行,sudo systemctl status sshd
我可以看到它处于活动状态并且正在运行。
从sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
22 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
我尝试连接到计算机时使用的 IP 是我发现正在运行的 IP,它与来自和ifconfig
中显示的 IP 相同。$SSH_CONNECTIONS
alice
bob
我尝试连接时收到的消息是
me@alice:~$ ssh -vvv [email protected]
OpenSSH_7.6p1 Ubuntu-4, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 7: Applying options for *
debug1: /etc/ssh/ssh_config line 14: Deprecated option "useroaming"
debug2: resolving "xx.xxx.xx.xx" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xx.xx [xx.xxx.xx.xx] port 22.
ssh: connect to host xx.xxx.xx.xx port 22: Operation timed out
和
me@bob:~$ ssh -vvv [email protected]
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/andrea/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 48: Applying options for *
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to xx.xxx.xx.xx port 22.
ssh: connect to host xx.xxx.xx.xx port 22: Operation timed out
答案1
听起来好像您的机器与 alice 和 bob 之间有防火墙,防火墙会拦截发往您机器的入站 SSH 流量,但不会拦截出站流量。所有机器都在同一个网络上吗?