ssh 服务器连接到主机 xxx 端口 22:linux-ubuntu 上的连接超时

Posted

技术标签:

【中文标题】ssh 服务器连接到主机 xxx 端口 22:linux-ubuntu 上的连接超时【英文标题】:ssh server connect to host xxx port 22: Connection timed out on linux-ubuntu 【发布时间】:2012-08-23 17:22:47 【问题描述】:

我正在尝试通过 ssh 连接到远程服务器,但连接超时。

我运行了以下命令

ssh testkamer@test.dommainname.com

并得到以下结果

ssh:连接到主机 testkamer@test.dommainname.com 端口 22:连接超时

但如果尝试连接另一个远程服务器,我可以成功登录。

所以我认为ssh没有问题,其他人尝试使用相同的登录名和密码登录,他可以成功登录到服务器。

请帮帮我 谢谢。

【问题讨论】:

对于遇到这个问题的人来说:这个错误可能有很多原因。要获得更具体的响应,请使用 -vvv 选项调用 ssh 命令。例如。 ssh -vvv testkamer@test.kameronderdehamer.nl. 我能够使用 filezilla sftp 进行连接,但是当尝试从终端连接时,此错误开始出现在 mac catalina 上...尝试使用 sudo 工作...例如 sudo ssh -i key.pem user @ec2.instance.com 在我的情况下,我无法连接,因为有人打开了实例上的防火墙 (ufw) 并且忘记通过 sudo ufw allow ssh 允许 ssh 端口。 【参考方案1】:

以下几点可能会阻止您连接到 Linode 实例:

    DNS 问题:如果您用来连接 远程服务器未正确解析 test.kameronderdehamer.nl 那么您将无法联系到您的主机。尝试使用连接 分配给您的 Linode 的公共 IP 地址并查看它是否有效(例如 ssh user@123.123.123.123)。如果您可以使用公共 IP 进行连接 但不使用可以确认您拥有的主机名 域名解析有问题。

    网络问题:有 可能是一些网络问题阻止您建立 连接到您的服务器。例如,可能存在配置错误 你和你的主机之间的路径中的路由器,或者你可能是 遇到丢包。虽然这种情况不常见,但它有 Linode 发生在我身上好几次,可能很烦人。 以防万一,检查一下可能是个好主意。你可以看看 Diagnosing network issues with MTR(来自 Linode 图书馆)。

【讨论】:

谢谢!我一直在对如何从 Windows 10 连接到我的 Ubuntu 20.04.2 服务器进行故障排除 3 天,尝试重新安装 OpenSSH,尝试默认端口,检查防火墙,检查 IP 地址,编辑配置文件,尝试不同的用户帐户,一切...原来我只需要重新启动我的互联网路由器。天哪,太简单了。仅供未来的人们参考,我在尝试连接时遇到的 SSH 错误是 WSL 上的“资源暂时不可用”和 Windows 命令提示符上的“连接超时”。【参考方案2】:

我收到此错误,发现我的 SSH 端口(非标准号)未在配置服务器防火墙中列入白名单。

【讨论】:

【参考方案3】:

此失败可能有多种原因。

上面列出了一些。我遇到了同样的问题,很难找到失败的根本原因。

我会建议你从 ssh_config 文件中检查 shh 的会话超时。 尝试增加会话超时,看看是否再次失败

【讨论】:

【参考方案4】:

如果您在公共网络上,防火墙默认会阻止所有传入连接。检查您的防火墙设置或使用专用网络进行 SSL

【讨论】:

【参考方案5】:

可能是,您的服务器/系统上未启用 SSH。

    检查 sudo systemctl status ssh 是否处于活动状态。 如果未激活,请尝试借助这些命令进行安装

sudo apt 更新

sudo apt install openssh-server

现在尝试使用以下命令访问服务器/系统

ssh 用户名@ip_address

【讨论】:

【参考方案6】:

该错误消息表示您正在连接的服务器未响应端口 22 上的 SSH 连接尝试。这可能有以下三个原因:

    您没有在机器上运行 SSH 服务器。您需要安装它才能通过 ssh 访问它。

    您正在该机器上运行 SSH 服务器,但使用的是不同的端口。您需要弄清楚它在哪个端口上运行;假设它在端口 1234 上,然后运行 ​​ssh -p 1234 主机名。

    您正在该机器上运行 SSH 服务器,它确实使用了您尝试连接的端口,但该机器有防火墙,不允许您连接到它。您需要弄清楚如何更改防火墙,或者您可能需要从不同的主机 ssh 才能被允许进入。

编辑: 正如(正确)在 cmets 中指出的那样,第三个肯定是这种情况;另外两个将导致服务器在客户端尝试连接时发送回 TCP“重置”包,从而导致“连接被拒绝”错误消息,而不是您得到的超时。其他两个也可能是这种情况,但您需要先修复第三个,然后才能继续。

【讨论】:

【参考方案7】:

我在尝试通过 bash 终端从我的 MBP SSH 到我的 Raspberry pi 时遇到此错误。我的 RPI 通过 wifi/wlan0 连接到网络,并且这个 IP 在我的路由器 DHCP 重新启动时已更改。

检查用于通过 SSH 登录的 IP 是否正确。重新检查被 SSH 连接到的设备的 IP(在我的情况下是 RPI),可以使用hostname -I 进行检查

确认/修改“访客”设备(在我的情况下为 MBP)上的 SSH 登录凭据,它在我的尝试中运行良好。

【讨论】:

【参考方案8】:

我的 *** 连接未启用。我一直在尝试所有可能的方法来打开 Firwall 和端口,直到我意识到,我在家工作并且我的 *** 连接断开了。 但是,是的,防火墙和 ssh 配置可能是一个原因。

【讨论】:

【参考方案9】:

我遇到了类似的问题。我检查了以下内容:

    如果您的机器上没有安装 ssh,您必须先安装它。 (您将收到一条消息说 ssh 未被识别为命令)。 端口 22 在您尝试 ssh 的服务器上打开或未打开。 如果远程服务器的控制权在您手中并且您有权限,请尝试禁用其上的防火墙。 再次尝试 ssh。

如果端口不是问题,那么您必须检查防火墙设置,因为它会阻止您的连接。

对我来说,这也是我的机器和远程服务器之间的防火墙问题。我禁用了远程服务器上的防火墙,并且能够使用 ssh 建立连接。

【讨论】:

【参考方案10】:

更新该实例的安全组。您的本地 IP 必须已更新。每次都是IP翻转。你必须去更新安全组。

【讨论】:

您似乎假设服务器在 AWS 上运行。为什么?【参考方案11】:

如果可能,请尝试连接到 ***。这就是我面临问题的原因。 提示:如果您使用的是 ec2 机器,请尝试重新启动它。前几天这对我有用:)

【讨论】:

【参考方案12】:

检查您是否在创建自己的 vpc 和子网时意外删除了默认 vpc 或默认子网。 我在创建 vpc 时犯了这个错误,因此在通过 ssh 连接时出现了这个错误。

还检查您是否已将 IGW 连接到公共子网。

【讨论】:

在这种情况下,您需要转移到其他地区。你不能再在这个区域启动任何实例了。【参考方案13】:

我在尝试从我的 Mac 连接到本地 nextcloud 服务器时遇到了这个问题。

我一次 ssh-ing 没有问题,但如果我尝试拥有多个并发连接,它会一直挂起,直到超时。

注意,我是 sshing 到我的 user@public-ip-address。

我意识到只有当我在同一个网络(即我的家庭网络)上尝试 ssh 进入第二个连接时,它才起作用

此外,当我尝试ssh user@server-domain 时,它成功了!

最终解决方法是使用ssh user@server-domain 而不是ssh user@public-ip

【讨论】:

【参考方案14】:

我的主机是 windows 10,我有 CEntOS 7 VBox 在您的主机中搜索 "known_hosts" 通常,“user/.ssh/known_host”中的 windows 中的 known_host 位置 使用记事本打开它并删除您的centos vbox ip 然后尝试在您的终端中连接 在 mac os 用户中,您可以在“~/.ssh/known_hosts”中找到 known_hosts

【讨论】:

【参考方案15】:

请务必让管理员授权您的设备。

在 Linux 上运行: sudo zerotier-cli listnetworks

如果它返回状态 ACCESS DENIED 请求管理员授权您的节点。这里提到了这一点。 https://discuss.zerotier.com/t/solved-cant-join-network/1919

【讨论】:

【参考方案16】:

如果动态主机配置协议设置不正确,也会导致此问题。

要解决这个问题,首先检查您的 IP 地址是否配置为 ping IP地址, 如果没有丢包并且 IP 地址工作正常,请尝试任何其他解决方案。如果没有响应并且您有 100% 的数据包丢失,则表示您的 IP 地址不起作用且未配置。

现在使用配置您的 IP 地址,

sudo dhclient -v 设备名称

要检查您的设备,您可以使用 'ip a' 命令 例如。我的设备是usb0,因为我通过usb连接了设备

这将自动配置 IP 地址,您甚至可以查看配置了哪个 IP 地址。您可以再次使用'ip a'命令确认。

【讨论】:

【参考方案17】:

这可能是针对特定情况的,并且仅在某些情况下有效,但 检查您之前是否通过某些 *** 软件/应用程序进行连接。

尝试再次连接到 ***。在我的情况下工作。

【讨论】:

【参考方案18】:

这发生在我使用“sudo ufw allow ssh”启用端口 22 后。在此之前,当我从另一台机器使用 ssh 进入时,我的机器遭到拒绝。启用它后,我认为它会起作用,但它却显示了“连接超时”的消息。由于我刚刚安装了带有安装基本功能选项的 Ubuntu,因此我使用命令 sudo apt list --installed | 检查了是否有 openssh-server。 grep openssh 服务器。事实证明,Ubuntu 已经通过缺陷安装了 openssh-client。我卸载了它并按照基本命令安装了 openssh-server:

sudo apt-get purge openssh-client sudo apt 更新 sudo apt install openssh-server

之后,一个简单的“sudo ufw allow ssh”就完美运行了,我终于可以使用 ssh 命令访问机器了。

【讨论】:

【参考方案19】:

只是在这里添加它,因为它对我有用。在不更改任何设置(据我所知)的情况下,我无法再通过以下方式访问我的 AWS EC2 实例:ssh -i /path/to/key/key_name.pem admin@ecx-x-x-xxx-xx.eu-west-2.compute.amazonaws.com

事实证明,我需要为入站 SSH 流量添加一条规则,正如 AWS 所解释的 here。对于Port range 22,我添加了0.0.0.0/0,它允许所有 IPv4 地址使用SSH 访问实例。

请注意,让所有 IPv4 地址都可以访问实例存在安全风险;在测试环境中短期内是可以接受的,但您可能需要更长期的解决方案。

【讨论】:

以上是关于ssh 服务器连接到主机 xxx 端口 22:linux-ubuntu 上的连接超时的主要内容,如果未能解决你的问题,请参考以下文章

ssh:连接到主机 gitlab.com 端口 22:网络不可达

ssh 连接到主机端口 22 连接被拒绝

Git 问题:“ssh:连接到主机 gitlab 端口 22:连接被拒绝”

AWS EC2:ssh:连接到主机 10.0.0.206 端口 22:连接超时

ssh:连接到主机 ssh.github.com 端口 443:连接被拒绝

连接到 ssh 远程主机(在 *** 网络中)超时