SSH无密码登录

来源:互联网 发布:windows怎样启动过程 编辑:程序博客网 时间:2024/05/23 17:26

ssh本地无密码登录

今天在配置ssh本地无密码登录时发现,在ubuntu 14.04上配置成功了,可是在ubuntu 16.04上配置始终需要输入登录密码。由于是在学习hadoop时接触到的,而hadoop上提供的ssh免密码登录的命令如下:

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa$ cat ~/.ssh/id_dsa >> ~/.ssh/authorized_keys$ chmod 0600 ~/.ssh/authorized_keys

上述命令在ubuntu 14.04上执行完后,通过ssh localhost可以实现无密码登录。可是在ubuntu 16.04上却始终不行,在查看了网上的一些介绍说是权限问题,尝试了各种权限修改,依然不能解决问题,最后通过指定rsa类型的key连接成功。命令如下:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa$ cat ~/.ssh/id_rsa >> ~/.ssh/authorized_keys$ chmod 0600 ~/.ssh/authorized_keys

备注:若出现sign_and_send_pubkey: signing failed: agent refused operation错误,可执行$ ssh-add命令。(2016/10/12)

ssh远程无密码登录

假设有两台主机 AB ,要实现主机 A 无密码访问主机 B 配置步骤如下:

  1. 在主机 A 上通过命令ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa创建公私钥对。
  2. 拷贝id_rsa.pub文件内容到主机 B~/.ssh/authorized_keys文件中。

配置完成后,主机 A 就可以不用输入密码登录主机 B 了。如果要同时实现主机 B 也能无密码登录主机 A ,则需要在主机 B 上也创建公私钥对并将公钥内容复制到主机 A~/.ssh/authorized_keys文件中。

备注

  1. 尚不明白为何ubuntu 16.04上当ssh key类型为dsa时不能实现免输入密码登录。
0 0