1.Ubuntu上安装ssh服务器:sudo apt-get install openssh-server
2.查看SSH服务是否启动:sudo ps -e |grep ssh
3.如果没有启动,输入命令:sudo service ssh start
4.修改配置文件:sudo gedit /etc/ssh/sshd_config,否则ssh client 报 algorithm negotiation failed
在配置文件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升级后,为了安全,默认不再采用原来一些加密算法,我们手工添加进去即可。
5.停止ssh服务:service sshd stop
6.开启ssh服务:service sshd restart
7.可以使用ssh客户端登陆啦
如果第4步打开文件不能修改,那么是当前用户权限不够,要切换成root用户。
而新安装的Ubuntu系统的root需要设置密码,命令是:sudo passwd root
回车后会出现让你输入原始密码,新密码和确认密码:
[sudo] password for you: ---> 输入你的密码(你现在这个用户的密码)
Enter new UNIX password: ---> 设置root 密码
Retype new UNIX password: ---> 重复密码
这样你的root的密码设置好了。
然后切换到root用户:su root
就可以进行第四步了。