【问题标题】:ssh server connect to host xxx port 22: Connection timed out on linux-ubuntussh 服务器连接到主机 xxx 端口 22: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 端口。

标签: ssh connection-timeout linode


【解决方案1】:

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

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

  2. 网络问题:有 可能是一些网络问题阻止您建立 连接到您的服务器。例如,可能存在配置错误 你和你的主机之间的路径中的路由器,或者你可能是 遇到丢包。虽然这种情况不常见,但它有 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。

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

        sudo apt 更新

        sudo apt install openssh-server

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

        ssh 用户名@ip_address

        【讨论】:

          【解决方案6】:

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

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

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

          3. 您正在该机器上运行 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】:

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

              【讨论】:

                【解决方案9】:

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

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

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

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

                【讨论】:

                  【解决方案10】:

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

                  【讨论】:

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

                  如果可能,请尝试连接到 vpn。这就是我面临问题的原因。 提示:如果您使用的是 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】:

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

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

                            【讨论】:

                              【解决方案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 地址都可以访问实例存在安全风险;在测试环境中短期内是可以接受的,但您可能需要更长期的解决方案。

                                【讨论】:

                                  猜你喜欢
                                  • 1970-01-01
                                  • 2015-09-17
                                  • 2013-03-13
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 2022-01-01
                                  相关资源
                                  最近更新 更多