1. 檢查 ssh 服務狀態
首先,確保ssh服務正在運行。
sudo systemctl status ssh
如果 ssh 服務未運行,啟動服務:
如果希望 ssh 服務在每次系統啟動時自動啟動,可以輸入:
sudo systemctl enable ssh
2. 檢查 ssh 配置文件
確認 ssh 配置文件 /etc/ssh/sshd_config 中的配置是正確的
確保以下行沒有被注釋,并且端口設置正確:
Port 22PermitRootLogin yesPasswordAuthentication yes
保存并關閉文件后,重新啟動 ssh 服務以應用更改:
sudo systemctl restart ssh
3. 檢查防火墻設置
確保防火墻沒有阻止 ssh 連接。
查看防火墻狀態:
sudo ufw status
允許 ssh 通過防火墻:
sudo ufw allow ssh
或者
sudo ufw allow 22/tcp
啟用防火墻(如果尚未啟用):
sudo ufw enable
4. 檢查網絡連接
確保您可以從客戶端機器連接到服務器的 IP 地址:
ping <服務器IP地址>
5. 查看 ssh 日志
查看 ssh 日志文件,以獲取更多關于連接失敗的詳細信息:
sudo tail -f /var/log/auth.log
6. 檢查用戶權限
確保您嘗試登錄的用戶存在,并且具有正確的權限。
檢查用戶是否存在:
id <用戶名>
7. 檢查 ssh 客戶端配置
確保您的 ssh 客戶端配置正確,并且指向正確的端口和用戶。例如:
8. 測試本地連接
在服務器上,嘗試從本地連接到 ssh 服務,以確保 ssh 服務正常運行:
ssh <用戶名>@localhost
9. 重新安裝 Openssh
如果上述步驟均無效,您可以嘗試重新安裝 Openssh 服務:
sudo apt-get remove –purge openssh-server
sudo apt-get install openssh-server
sudo systemctl start ssh