您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何解決SSH連接調試問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
SSH是專為遠程登錄會話和其他網絡服務提供的安全性協議。利用SSH協議可以有效的防止遠程管理過程中的信息泄露問題,在當前的生產環境運維工作中,絕大多數企業普通采用SSH協議服務來代替傳統的不安全的遠程聯機服務軟件,如telnet(23端口,非加密的)等。
SSH連接錯誤的常見原因是服務未在遠程服務器上運行。這可能是由于服務意外關閉或系統重新啟動后服務未啟動而引起的。
要檢查SSH服務是否正在運行,請運行下面命令:
[root@server1 ~]# systemctl status sshd
使用以下命令設置SSH服務開機啟動,并啟動服務:
[root@server1 ~]# systemctl enable sshd[root@server1 ~]# systemctl start sshd
調試SSH連接時的第二個常見問題是使用非標準端口。如果SSH在默認端口22以外的其他端口上運行,則除非明確指定運行SSH的端口,否則將不能連接到遠程主機。
要查看運行SSH的端口,請使用netstat之類的工具,如下所示:
[root@clean-idea-1 ~]# netstat -tlunp|grep sshdtcp 0 0 0.0.0.0:28159 0.0.0.0:* LISTEN 818/sshd tcp6 0 0 :::28159 :::* LISTEN 818/sshd
上面的輸出顯示了SSH服務在哪個端口上運行。在這種情況下,它是端口28159。
端口不是默認的22時,連接就需要指定端口了:
[root@server1 ~]# ssh root@192.168.43.131 -p 28159
SSH連接錯誤的另一個原因是其他服務或進程是否也使用與SSH服務相同的端口。例如,SSH的端口號為80,這和http服務的端口沖突了,則類似Apache的服務可能正在使用相同的端口。
要查看其他進程是否正在使用與SSH相同的端口,請使用以下命令檢查日志:
[root@server1 ~]# journalctl -t sshd
該命令應返回如下所示的錯誤,顯示端口已被占用。
在這可以修改ssh的端口號,打開配置文件將端口修改為其他的,Port 2222
vim /etc/ssh/sshd_config Port 2222
如果嘗試了上述所有方法,仍無法建立SSH連接,則可以看看防火墻是否阻止連接?
在Cetnos8中,使用fireawlld查看防火墻,并將端口添加允許里面:
[root@server1 ~]# firewall-cmd --list-all[root@server1 ~]# firewall-cmd --permanent --add-port=2222/tcpsuccess [root@server1 ~]# firewall-cmd --reloadsuccess
有時,您可以將SSH配置為不接受密碼登錄,而僅使用公密鑰身份驗證。如果公鑰在服務器上不可用或缺少私鑰對,則可能導致不能登錄的問題。
要檢查/etc/ssh/sshd_config
配置文件是否允許密碼登錄,請將ssh配置設置為如下:
[root@server1 ~]# grep PasswordAuthentication /etc/ssh/sshd_config#PasswordAuthentication yesPasswordAuthentication yes# PasswordAuthentication. Depending on your PAM configuration,# PAM authentication, then enable this but set PasswordAuthentication
上面的輸出顯示允許密碼登錄。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決SSH連接調試問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。