Xshell -- SSH無法連接linux服務器的幾個坑


莫名其妙的ssh就連接不上服務器了,明明之前還是好用的呢,就簡單的提示如下:

圖1 連接失敗提示

 1、看看是不是因為防火牆的原因呢

sudo ufw status
​圖2 防火牆狀態

看來防火牆是關閉的,那么打開防火牆再試試呢(反正不知道可不可以,試試再說。。。)

sudo ufw enable/disable 使能防火牆並且開機自啟動/不使能防火牆

​圖3 打開防火牆

至於網上說的那些卸載防火牆的方式,還是慎重操作!!!

然后連接再試試,哦,還是那樣,顯示連接失敗。那就說明不是防火牆的原因了。

為了不影響后續的操作,再次關閉防火牆。實際測試,在防火牆打開的狀態下,SSH連接始終失敗。

 2、是不是網絡不通呢,ping一下看看通不通呢

​圖4 ping服務器的效果

顯示ping的通,說明就不是網絡的問題了。

3、重啟SSH服務試試呢

停止SSH服務:

/etc/init.d/ssh stop

開啟SSH服務:

/etc/init.d/ssh start

然后在進行連接,還是失敗。衰死。。。。。。。。

經過這些操作,我覺得重啟未必能解決上述的問題。所以還是看看其他的操作了。

4、卸載SSH然后重新安裝

Sudo apt-get remove openssh-server

卸載完成后重新安裝

sudo apt-get install openssh-server

安裝失敗!!! 提示如下錯誤

​圖5 卸載的時候提示的錯誤

是不是因為卸載不完全,使用命令ssh –v查看,出現

​圖6 查看的打印的信息

經過多方查證,應該是openssh-client的原因,把它也卸載了再說

sudo apt-get remove openssh-client

額, 貌似又出問題了,不能直接卸載,經查找,在ubuntu中是默認安裝openssh-client,在不久前更新了源為阿里雲,應該是版本不匹配或者源的問題。那么修改一下再試試吧:

1)備份原來的源文件

sudo mv /etc/apt/sources.list  /etc/apt/sources.list.bak

2)創建新的空的源文件

sudo touch /etc/apt/sources.list

3)執行源的更新

sudo apt-get update
sudo apt-get upgrade

然后重新進行卸載的操作,卸載完成了。

卸載完成之后,查看一下/etc/ssh文件夾是否存在

ls /etc/ssh

如果存在,那么刪除

sudo rm –rf /etc/ssh

如果不放心的話還可以執行以下

sudo apt-get autoremove

下面開始安裝的過程,首先,需要將源的文件恢復過來

sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt-get update 
sudo apt-get upgrade

然后直接安裝ssh

sudo apt-get install ssh

直到安裝完成。

然后查看是否啟動

sudo ps –e | grep ssh

如果出現sshd及說明啟動成功

​圖7 啟動成功顯示

如果沒有sshd的出現,可以手動啟動SSH服務(基本上不需要手動)

sudo service ssh start

因為在之前的操作中完全刪除了/etc/ssh文件夾,所以在本次安裝之后,需要更改SSH的配置文件,不然在連接的時候還是連接不成功,需要修改文件 /etc/ssh/sshd_config ,PermitRootLogin 修改為yes,修改后效果如下圖

​圖8 修改后的效果

然后重啟一下SS和即可進行登陸。

sudo service ssh stop //停止SSH
sudo service ssh start  //打開SSH
sudo service ssh restart  //重啟SSH

最后,連接成功的效果如下:

​圖9 連接成功的效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM