Ubuntu22.04更新Openssh至9.9p2無法正常連接,報錯解決
1.報錯信息如下所示
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS (code=exited, status=255/EXCEPTION)
2.這通常說明 SSH
配置文件存在語法錯誤、缺失關鍵文件,或者端口被占用等問題。
3.檢查配置文件是否有錯誤
sudo sshd -t
4.執行上述命令之后,出現下面的報錯信息
/etc/ssh/sshd_config line 85: Unsupported option UsePAM
OpenSSH 被編譯或安裝為不支持 PAM(Pluggable Authentication Modules)功能的版本。
所以配置中 UsePAM yes 會報錯,導致 sshd 無法啟動。
5.修改配置文件
vim /etc/ssh/sshd_config
6.找到85
行,將#
注釋掉,保存即可
7.在次執行以下命令,報錯問題已經解決
sudo sshd -t
8.重啟ssh
服務,查看其是否能正常啟動
sudo systemctl restart ssh
sudo systemctl status ssh
9.不出意外的話,還是繼續報錯,服了這個老六,報錯信息如下所示
error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
fatal: Cannot bind any address.
10.查看22
端口,是否被占用
sudo ss -tulpn | grep :22
回顯信息如下所示
*:22 users:((“systemd”,pid=1,fd=98))
11.嘗試使用 ssh.socket
來啟動sshd
啟用socket是否激活
sudo systemctl enable ssh.socket
sudo systemctl start ssh.socket
查看socket是否激活
sudo systemctl status ssh.socket
sudo systemctl status ssh
12.我嘞個豆,還是報錯,真的離譜,再次嘗試報錯解決
sudo systemctl disable ssh.service
sudo systemctl enable ssh.socket
sudo systemctl start ssh.socket
sudo systemctl status ssh
13.還是一直在報錯,真的服了,最后實在不行該端口啦
主要的報錯信息,還是22
端口被占用
*:22 users:((“systemd”,pid=1,fd=98))
14.實施問題解決
修改端口之前一定要關閉ssh.socket
服務
sudo systemctl stop ssh.socket
sudo systemctl stop ssh
再次確認22
端口是否被占用
sudo ss -tulpn | grep :22
確認好該端口不啟用服務后,實在不行就將其kill
掉,慎重kill
進程
15.修改端口
/etc/ssh/sshd_config
16.修改之后,啟動服務,成功
sshd -t
systemctl restart ssh
systemctl status ssh
17.因為我沒有開啟root
遠程連接,這里使用普通賬戶進行連接