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:网络不可达
Git 问题:“ssh:连接到主机 gitlab 端口 22:连接被拒绝”
AWS EC2:ssh:连接到主机 10.0.0.206 端口 22:连接超时