转:解决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有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。



猜你喜欢

转载自blog.csdn.net/qq_18204721/article/details/83987612