虛擬主機購買使用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 連接。如果是這樣,必須更改規則才能接受請求。