Linux中ssh的免密码登陆
原理:
Hadoop的各个节点要实时的进行各种通信的,ssh就是能让各个节点免密码的相互访问相互通信。
操作步骤:
这里用的加密方式是非对称的加密方式,具体的操作是:
<1>执行命令ssh-keygen –t rsa产生秘钥,产生的秘钥默认位于~/.ssh文件夹中。
<2>把公钥拷贝给别人后,要重新命名为authorized_keys,这里直接模拟在~/.ssh文件夹中复制一份就可以了。cp id_rsa.pub authorized_keys。(注意路径)
验证:ssh localhost或者ssh 192.168.80.100
实现结果:
当某个主机想连接特定主机的时候,就把这个特定主机的公钥给它,然后这个特定主机就把收到的公钥和自己的公钥比对,如果一样,就同意其登陆。这样似乎没有发挥ssh的功能,但是这是在局域网中,安全问题不会那么严重。
伪分布的做法:把公钥cp一份,重命名为authorized_keys,这样它就能自己免密码的连接自己了,这种只是模拟集群模式
集群模式的做法:把所有主机的公钥,都粘贴到一个名字为authorized_keys的文件中,并把这个文件分发到每个主机的~/.ssh文件夹中。