Reference
需求
节点 A 要 ssh 免密码登陆节点 B。
生成密钥 Generate Key
节点 A 和 节点 B 都要产生密钥,并且要注意是否在 root 用户下。登陆对象是用户,而不是机器,所以产生密钥前先从 root 或者其他用户切换到你所需要的用户,然后执行命令,然后三次无输入回车确认即可,最终会打印出一个密钥。
ssh-keygen -t rsa
将产生的公钥追加到自己的授权列表中
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
节点 A 公钥追加到节点 B 的授权列表中
打开 id_rsa.pub,将完整的公钥追加粘贴到节点 B 的 ~/.ssh/authorized_keys
文件末尾。
节点 A 登陆节点 B
首次远程登录,需要输入 yes
,以后就可以免密码登陆了。还有一个细节,如果两台机器的用户名相同,可以省略用户名,直接按照主机名或 ip 名称登陆。
ssh 用户名@主机名或者 IP
成功后会显示 welcome to ...
有些人提到要修改 authrized_keys
的权限,但我这里好像不修改也没问题,不知道是否遇到了特殊情形。
总结
使用 ssh 免密码登陆,其实就是利用生成的公钥,将公钥作为授权对象,某个用户的授权列表中加入了别的用户的公钥,就可以让别的用户免密码登陆这个用户了。
网友评论