一、檢查SSH服務是否開啟
SSH服務是連接Linux伺服器的重要組件。如果SSH服務未運行,則遠程SSH連接不會成功。要檢查SSH服務是否運行,請輸入以下命令:
systemctl status sshd.service
如果您看到”Active: active (running)”字樣,則說明SSH服務正在運行。如果您看到”Active: inactive (dead)”字樣,則需要手動啟動SSH服務。您可以使用以下命令來啟動SSH服務:
systemctl start sshd.service
如果您想在伺服器啟動時啟動SSH服務,可以使用以下命令:
systemctl enable sshd.service
二、檢查SSH埠是否正確
SSH埠通常為22號埠。如果因為某種原因將SSH埠更改為其他數字,則需要確保使用正確的埠。要檢查SSH埠,請打開/etc/ssh/sshd_config文件,並查找以下行:
#Port 22
如果找不到上述行,則SSH埠為默認值22。如果找到此行,則確保埠號正確設置。
一旦更改了SSH埠,您需要重新啟動SSH服務才能更新埠。
三、檢查SSH連接是否被防火牆阻止
如果您的Linux伺服器上安裝了防火牆,則可能需要打開SSH埠以允許遠程連接。要打開SSH埠,請運行以下命令:
sudo ufw allow 22/tcp
此命令會將TCP協議的22號埠添加到防火牆規則中。
如果您使用其他防火牆軟體,請查看其文檔以了解如何打開埠。
四、檢查SSH密鑰是否存在
SSH密鑰是SSH連接的一種安全認證方式。如果您嘗試連接Linux伺服器時收到”Permission denied (publickey)”錯誤消息,則可能是因為缺少SSH密鑰。要生成SSH密鑰,請運行以下命令:
ssh-keygen -t rsa
按照提示輸入密鑰文件名稱和密碼,並將公鑰複製到要連接的伺服器上的~/.ssh/authorized_keys文件中。
如果您嘗試使用密碼登錄,則需要確保在/etc/ssh/sshd_config文件中啟用密碼身份驗證:
#PasswordAuthentication yes
請務必在更改配置文件後重新啟動SSH服務。
五、檢查DNS解析
如果您使用主機名連接到Linux伺服器而不是IP地址,則需要確保DNS解析正確。
您可以使用以下命令來檢查主機名是否正確解析為IP地址:
nslookup hostname
如果此命令返回無法解析主機名,則需要更新DNS記錄以正確解析主機名。
如果您嘗試連接的是遠程主機,則需要確保您的本地DNS設置正確並且本地網路連接正常。
六、總結
通過以上六種方法,您可以嘗試解決Linux SSH連接失敗的問題。無論是SSH服務未開啟、SSH埠錯誤、防火牆阻止SSH連接、缺少SSH密鑰、DNS解析錯誤還是本地網路連接問題,這些都可能導致SSH連接失敗。根據具體情況依次排查並解決問題,以確保SSH連接成功。
原創文章,作者:KKEA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131976.html