虚拟主机购买使用ssh连接不上的原因有:1、SSH服务关闭,虚拟主机遭到意外的流量高峰、资源中断、DDoS攻击等都会导致SSH服务关闭;2、凭证有误,尝试连接虚拟主机时输入的凭据有误;3、尝试使用的端口关闭,会导致连接虚拟主机错误;4、服务器上没有安装SSH,导致连接不上虚拟主机;5、防火墙设置阻止了SSH连接,导致虚拟主机连接不上。
具体内容如下:
1、SSH服务已关闭
为了使用SSH连接到服务器,它必须运行一个SSH守护进程——一个在后台运行以侦听和接受连接的程序。如果此服务关闭,将无法成功连接到服务器,并且可能会收到连接被拒绝的错误:连接拒绝错误、终端中的连接拒绝错误。服务器的SSH守护程序可能由于各种原因而关闭,包括意外的流量高峰、资源中断,甚至分布式拒绝服务 (DDoS) 攻击。
如果怀疑SSH服务可能已关闭,可以运行以下命令来找出:
基于CentOS6的查看命令:sudo service ssh status。如果命令行返回关闭状态,那么您可能已经找到了连接错误背后的原因。
2、凭证有误
尽管这似乎太简单了,但可能只是在尝试连接到服务器时输入了错误的凭据。运行 SSH需要四项信息:
主机名--您尝试连接的服务器的IP 地址或您的域名。
用户名--您的 (S)FTP 用户名或是root。
密码--您的 (S)FTP 密码。
端口--默认端口为 22。
但是,一些托管服务提供商出于安全原因更改了他们的 SSH 端口号。还可以通过运行grep Port /etc/ssh/sshd_config命令来检查哪个端口用于SSH,命令行应该返回正确的端口。检查以确保您输入了正确的凭据, 并考虑到输入错误或输入错误 IP 地址或端口的可能性。
3、尝试使用的端口已关闭
“端口”只是在连接到服务器时被定向到的端点。除了确保拥有正确的端口外,还需要检查尝试使用的端口是否已打开。任何开放的端口都是一个安全漏洞,因为黑客可以尝试利用它并获得对服务器的访问权限。因此,通常会关闭未使用的端口以防止攻击。如果端口22或服务器的自定义 SSH 端口已关闭,可能会看到连接被拒绝的错误。可以通过运行sudo lsof -i -n -P | grep LISTEN命令查看服务器上侦听的所有端口。此命令应返回具有 LISTEN 状态的端口列表。理想情况下,看到此处列出的端口 22 或服务器的自定义SSH端口。如果不是,需要重新打开端口才能连接到服务器。
4、服务器上没有安装 SSH
正如我们之前简要提到的,服务器使用SSH守护进程来侦听和接受连接。因此,如果尝试连接的服务器没有安装,将无法使用SSH访问它。一般来说,几乎所有的托管服务提供商都会默认在他们的服务器上安装 SSH 守护进程。这个特殊问题在本地主机或专用服务器上更为常见。
5、防火墙设置阻止了SSH连接
由于开放端口存在安全风险,为保护服务器免受黑客攻击而安装的防火墙有时会阻止与它们的连接。不幸的是,这意味着即使是尝试通过 SSH 访问其服务器的无害用户也可能会由于防火墙设置而收到连接被拒绝的错误。需要查找这些元素以确定防火墙是否阻止了 SSH 连接:
dport 22:这是指目的端口,对于SSH通常是22端口。
REJECT:这表示来自指定目的地的连接被拒绝。
DROP:与 REJECT 一样,这意味着与相关端口的连接被阻止。
如果在上述命令的结果中搜索 dport 22,应该能够确定防火墙是否阻止了 SSH 连接。如果是这样,必须更改规则才能接受请求。