提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
这几天在玩hadoop,在虚拟机上玩分布式感觉不过瘾,于是我怂恿了几个小伙伴买了几个云服务器(都是免费的哈哈),下面这篇文章讲一下免密钥配置,(主要是那个命令太长了,真心不想记,所以放在这里,以后等用的时候CV一下,诶,美滋滋)
一、云服务器
首先记得要有自己的服务器,没有的可以去云上面买,我买的是华为云的云耀,centos系统的,准备两个并配置映射sn和node2
二、免密钥配置
1.生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2.将 本机公钥加到 受信列表中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.修改权限
chmod 0600 ~/.ssh/authorized_keys
4.测试一下以上设定的本机免密登录是否OK
ssh root@本机ip地址
我在/etc/hosts这个配置文件里设置了映射(sn),结果如下:
在这步中常见的问题:
这个要登录的地址 sn 已经加到当前机器的免密列表中了
解决方案: 到 本机的 /Users/erfengv/.ssh/known_hosts 文件中找到 sn的信息,删除即可
5.分发公钥
将 sn 中的 id_rsa.pub 文件发到其它节点的 authorized_keys中,以实现免密登录
- 在sn中发送公钥文件到其它节点
scp ~/.ssh/id_rsa.pub node2:/tmp/
- 在node2执行以下操作
生成公私钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
加入sn的公钥到列表中
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
修改权限
chmod 0600 ~/.ssh/authorized_keys
总结
经过以上步骤, sn可以免密登录node2了