当我们尝试通过 SSH 连接到服务器时可能会发生许多情况,比如出现“连接被拒绝”的错误。虽然导致 SSH 连接错误的原因可能有多种,但以下是其中常见的几种:
1.您的 SSH 服务已关闭。
2.您的凭证有误。
3.您尝试使用的端口已关闭。
4.您的服务器上未安装 SSH。
5.防火墙设置阻止了 SSH 连接。
1.你的 SSH 服务已关闭
为了能够通过 SSH 远程登陆您的服务器,服务器上需要有一个持续运行的程序,这个程序负责监控并响应 SSH 连接请求。
如果这项服务不可用,您将无法访问您的服务器,并且可能会收到“连接被拒绝”的错误提示:
![]()
您的服务器上的 SSH 服务可能因为多种原因而中断,例如流量突然增加、资源不足,或者遭受了分布式拒绝服务攻|击。
如果您怀疑您的 SSH 服务可能已关闭,您可以运行此命令来查找:
sudo service ssh status
如果命令行返回关闭状态,那么这里就找到了连接错误的原因。
2.您的凭证有误
运行 SSH 时,需要四条信息:
·主机名—您尝试连接的服务器的 IP 地址或域名。
·用户名— 您的 (S)FTP 用户名。
·密码— 您的 (S)FTP 密码。
·端口— 默认端口为 22。但是,一些服务提供商出于安全原因更改了其 SSH 端口号。
您还可以通过运行以下命令来检查哪个端口正在用于 SSH:
grep Port /etc/ssh/sshd_config
命令行应该返回正确的端口。
检查以确保您输入了正确的凭据 ,这里要考虑拼写错误或输入错误 IP 地址或端口的可能性。
3.您尝试使用的端口已关闭
“端口” 就是您连接到服务器时被定向到的端点。除了确保您拥有正确的端口之外,您还需要检查您尝试使用的端口是否已打开。任何开放的端口都是安全漏|洞,因为黑|客可以尝试利用它并访问服务器。因此,未使用的端口通常会被关闭以防止攻击。
如果端口 22 或服务器的自定义 SSH 端口已关闭,则可能会出现“连接被拒绝”错误。您可以通过运行以下命令查看服务器上监听的所有端口:
sudo lsof -i -n -P | grep LISTEN
此命令应返回处于 LISTEN 状态的端口列表。理想情况下,您希望看到端口 22 或服务器的自定义 SSH 端口在此处列出。如果没有,您需要重新打开该端口才能连接到您的服务器。
4.你的服务器上未安装 SSH
如我们前面提到的,服务器使用 SSH 程序来监听和接收连接。因此,如果您尝试连接的服务器没有安装此程序,您将无法使用 SSH 访问它。
5.防火墙设置阻止 SSH 连接
开放端口可能带来安全风险,因此为了防御黑客,安装在服务器上的防火墙有时会屏蔽对这些端口的访问。这可能导致一些无辜的用户在尝试 SSH 连接到他们的服务器时,由于防火墙设置而遇到连接被拒绝的问题。
如果您的设置似乎没有问题,但仍然无法连接,请查看防火墙规则。您可以使用以下命令在命令行界面中显示它们:
sudo iptables-save # display IPv4 rules
sudo ip6tables-save # display IPv6 rules
您的结果可能会有所不同,但请检查以下要素,以判断您的防火墙是否拦截了SSH连接:
·dport 22— 这是指的是目标端口,对于 SSH 通常是端口 22。
·REJECT— 这表明指定目的地的连接被拒绝。
·DROP— 例如REJECT,这意味着相关端口的连接被阻止了。
如果您在上述命令的结果中搜索dport 22,您应该能够确定您的防火墙是否阻止了 SSH 连接。如果是,您必须更改规则以接受请求。
为什么 PuTTY 显示“连接被拒绝”?
PuTTY 是一个 SSH 客户端,它允许用户输入他们的登录信息,并建立一个SSH连接。
如果您是 PuTTY 用户并看到“连接被拒绝”错误,则原因可能是上面列出的原因之一。
这是一个与其他错误一样的 SSH 连接错误,无论您使用 PuTTY、终端还是任何其他程序通过 SSH 连接到您的服务器,下面的故障排除提示都应该有效。
![]()
如何排除 SSH 连接错误?
·如果您的 SSH 服务已关闭— 可联系服务提供商,了解 SSH 服务未运行的原因。对于本地主机或服务器,您可以使用该命令尝试使其再次运行。sudo service ssh restart
·如果您输入了错误的凭据— 使用命令仔细检查 SSH 端口后grep Port /etc/ssh/sshd_config,尝试使用正确的详细信息再次连接。
·如果您的 SSH 端口已关闭— 这通常是由于以下两个常见原因之一造成的。您可以在您想要连接的服务器上安装SSH服务,或者调整您的防火墙规则以允许对SSH端口的连接。
·如果您的服务器上未安装 SSH —请在您想要使用该命令连接的服务器上安装 SSH 工具,例如 OpenSSH。sudo apt install openssh-server
·如果您的防火墙阻止了您的 SSH 连接— 您可以通过修改目标端口的设置,将其更改为“允许”状态,从而禁用那些阻止 SSH 连接的防火墙规则。
(注:本文属【恒创科技】原创,转载请注明出处!)
到此这篇ssh免密码登录配置检验(ssh免密登录失败原因)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/23820.html