我正在嘗試透過 SSH 連線到我的主機。我使用的是 Mac OSX。當我在終端輸入:
ssh user@hostname
我立即收到一條錯誤訊息,指出:
connect to host xx.xx.xxx.xx port 22: connection refused
我已經嘗試透過 SSH 連線到我的 EC2 執行個體(完全不同的主機),我可以很好地做到這一點。知道問題可能是什麼,或者我可以做哪些進一步的故障排除來找出問題並解決它?
答案1
這表示 ssh 守護程序未運作或防火牆設定為拒絕連線。
答案2
在您嘗試 sh 的系統上,執行以下命令:
ps aux | grep ssh
netstat -tulpn | grep 22
您不指定目標主機是什麼作業系統。如果是Mac你可能必須修改netstat命令列參數。但簡單地說,您需要列出偵聽端口,並 grep 查找運行 ssh 的端口 22。
如果上述任一指令(尤其是第二個指令)都沒有輸出,則 sshd 守護程式未執行,您需要先啟動它才能連線。
也就是說,立即出現的錯誤會表明(正如理查德所提到的)防火牆正在阻止連線。