您的位置:首页 > 其它

解决Ubuntu 16.04 SSH 无法远程登录问题

2017-04-16 15:18 579 查看
转自: http://blog.csdn.net/ymlmail/article/details/52003645
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,umac-64@openssh.com,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,curve25519-sha256@libssh.org

重启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有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: