我正在使用 Ubuntu 22.04 版本,并尝试通过 ssh 连接到 VM Linux 服务器(Azure)。我成功地通过端口 22 从另一台计算机执行了此操作,现在我尝试从 ubuntu 22.04 计算机执行此操作。我尝试过:
- 我尝试使用这里提到的方法https://serverfault.com/questions/371554/ssh-takes-a-long-time-to-connect-on-some-hosts没有成功
- 我尝试使用直接公共 IP 而不是 VM 地址,但没有成功。
- 重新安装 ssh lib 也无济于事。
- 根据此主题https://stackoverflow.com/questions/12172188/ssh-server-connect-to-host-xxx-port-22-connection-timed-out-on-linux-ubuntu另外,这似乎不是连接问题或 DNS 问题
我运行并得到了这个日志:ssh -vvv [email protected]
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/user/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/user/.ssh/known_hosts2'
debug2: resolving "test111-huji.eastus.cloudapp.azure.com" port 22
debug3: resolve_host: lookup test111-huji.eastus.cloudapp.azure.com:22
debug3: ssh_connect_direct: entering
debug1: Connecting to test111-huji.eastus.cloudapp.azure.com [20.106.142.77] port 22.
debug3: set_sock_tos: set socket 3 IP_TOS 0x10
debug1: connect to address 20.106.142.77 port 22: Connection timed out
ssh: connect to host test111-huji.eastus.cloudapp.azure.com port 22: Connection timed out
答案1
我遇到了同样的问题,我发现这是与我的路由器管理服务质量 (QoS) 的方式有关的问题。要检查这是否也是您的情况,请首先尝试将选项添加-o IPQoS=none
到您的SSH称呼:
ssh -o IPQoS=none -vvv [email protected]
如果有效,您可以通过将这一行添加到您的/etc/ssh/ssh_config
:中,将此选项设为默认选项:
IPQoS none
无需重启。
答案2
Connecting to test111-huji.eastus.cloudapp.azure.com [20.106.142.77] port 22.
这不是DNS问题,而是它没有将主机转换为IP。
这可能是因为您尝试访问的 IP 范围不被 fail2ban 或其他防火墙或 iptables 规则允许。
从另一台电脑访问,并暂时使用 ufw 或 fail2ban 服务,然后从你的电脑上检查是否可以连接