作为我的第一篇博客,说实话,是有点激动的,纠结半天,刚开始还是简单点吧,毕竟还有好多东西不会用。写这些纯粹是为了记录总结自己的学习旅程,当然如果能帮到屏幕前面的你,那我就很开心了,作为初学者,肯定会犯好多错误,如有建议,请不吝指正,深表感谢。
第一个版本的:
1、ssh-keygen -t rsa
之后连续三次回车
id_rsa -》私钥
id_rsa.pub -》公钥
下面是将密钥发给你想要操作的主机,或许这样说不太清楚,举个例子,假如你想在主机bigdata-02上操纵bigdata-01,你就可以在bigdata-01上执行上面的命令,然后ssh-copy-id bigdata-02,这样就可以在bigdata-02上免密登录bigdata-01,因为我是在学习Hadoop的时候接触到的这个,所以你会看到我是在三台机器上面都设置了免密登录,这样执行一些操作如scp命令,开启Hadoop进程,集群中进行操作,会方便很多
ssh-copy-id bigdata-01
ssh-copy-id bigdata-02
ssh-copy-id bigdata-03
自己也要给自己发送公钥和私钥
authorized_keys -》将公钥保存到文件中远程拷贝到其他机器上保存
known_hosts -》记录秘钥信息
2、报错解决:
如果没有生效,就删除.ssh目录下所有文件,重新生成,在home路径下面
或者直接删除.ssh目录,生成方式ssh-keygen,就会生成.ssh目录,不要使用mkdir
3、配置了SSH之后,就不需要输入密码,直接可以启动多个节点的服务进程(sbin/start-dfs.sh)
第二个版本的:
ssh免密码登录 (所有服务器)
0)ssh 针对用户,并且首先保证ssh localhost正常通畅
ssh localhost
1) 在每台服务器上生成公私密钥
ssh-keygen
2)分发公钥(注意:每次ssh登录后,事情做完后,记得exit)
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-01
ssh bigdata-01
exit
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-02
ssh bigdata-02
exit
ssh-copy-id -i ~/.ssh/id_rsa.pub bigdata-03
ssh bigdata-03
exit
2)验证:
# ssh bigdata-02
注意:每次ssh登录后,事情做完后,记得exit