1. 程式人生 > >轉:解決Ubuntu 16.04 SSH 無法遠端登入問題

轉:解決Ubuntu 16.04 SSH 無法遠端登入問題

1.首先使用sudo apt-get install ssh 安裝最新的ssh服務。


2.windows的ssh client 的版本是3.2.9


啟動ssh服務後,採用client客戶端登入(登入賬號為root賬戶)虛擬機器出現(algorithm negotiation failed)的錯誤,從網上收集相關資料,得到如下解決辦法:


---------------------------------------------------------------------------------------------------------------------------------------------------------


ssh client 報 algorithm negotiation failed的解決方法之一


修改sshd的配置檔案 /etc/ssh/sshd_config


在配置檔案中新增:


Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc

一般新增上面的加密演算法就可以了,如果還是不能彈出使用者名稱和密碼的對話方塊,需要新增下面的加密演算法。


MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-sha1-96,hmac-md5-96


KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,[email protected]



重啟sshd服務後,即可正常連線。


導致此問題的原因是ssh升級後,為了安全,預設不再採用原來一些加密演算法,我們手工新增進去即可。


---------------------------------------------------------------------------------------------------------------------------------------------------------


注:參考網址( http://blog.sina.com.cn/s/blog_4b2a0e220102vmpy.html)




但是有出現新的問題:ssh client不停的提示輸入密碼 (其實輸入的密碼是對的)



在網上找的解決辦法:( http://jingyan.baidu.com/article/6079ad0e97278828ff86dbb7.html)


---------------------------------------------------------------------------------------------------------------------------------------------------------


sudo vi /etc/ssh/sshd_config


找到並用#注 釋掉這行:PermitRootLogin prohibit-password禁用  


新建一行 新增:PermitRootLogin yes


sudo service ssh restart


OK,正常登入!!!

---------------------------------------------------------------------------------------------------------------------------------------------------------


好了,問題解決了。那麼分析一下為什麼 用“prohibit-password”就不行呢?



這樣設定的意思就是說:不允許root使用者用密碼遠端登入,所以,我們該為yes就可以用root登入了。至於其他賬戶你有興趣可以把上面的修改還原歡迎試一下把。



其他參考文章


OpenSSH專案宣佈釋出OpenSSH 7.0。新版本要是淘汰和停用一批不安全的加密技術,未來版本還會在這上面繼續清理工作。OpenSSH 7.0將拒絕長度低於1024位的RSA金鑰(以前是768位),預設停用基於MD5的HMAC演算法、blowfish-cbc、cast128- cbc;停止支援SSH v1協議和 v00 cert格式,sshd_config(5) PermitRootLogin預設選項修改為禁止密碼,以及一些bug修正和漏洞修補,等等。


OpenSSH(Open Secure Shell)是使用SSH透過計算機網路加密通訊的實現。它是取代由SSH Communications Security所提供的商用版本的開放原始碼方案。目前OpenSSH是OpenBSD的子計劃。


OpenSSH常常被誤認以為與OpenSSL有關聯,但實際上這兩個計劃的有不同的目的,不同的發展團隊,名稱相近只是因為兩者有同樣的軟體發展目標──提供開放原始碼的加密通訊軟體。