$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在配置Hadoop集群分布时,要使用SSH免密码登录,假设现在有两台机器master(192.168.10.100),作为A机,worker(192.168.10.107),作为B机。现想master通过ssh免密码登录到worker。
1.在A机下生成公钥/私钥对。
[hadoop@wang-PC ~]$
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
|
敲击回车键即可,
它在/home/hadoop下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。
2.把A机器下的id_rsa.pub复制到B机器下的.ssh/authorized_keys文件里。
[hadoop@wang-PC ~]$ scp .ssh/id_rsa.pub hadoop@192.168.10.107:/home/hadoop/id_rsa.pub.hadoop_wang
hadoop@192.168.10.107's password:
|
由于还没有免密码登录的,所以要输入密码。
3.B机把从A机复制的id_rsa.pub.hadoop_wang添加到.ssh/authorzied_keys文件里。
[hadoop@chen-PC ~]$ cat id_rsa.pub.hadoop_wang >> .ssh/authorized_keys
|
注:
1)遇到一个问题死活成功不了,主要原因是给公钥和私钥重新取名字了,这样就会导致无密码登录失败,故最好采用默认的名称入id_开头的。
2)authorzied_keys 一定要通过cat >>写进去,不能通过vim写进去,不然会免密码登录失败。