最近在做hadoop,因为要求各主机之间的用户必须相同,且为方便远程登录,需配置无密码登录
先附上ssh无密码登录设置方法:
先生成密钥并配置无ssh无密码登录本机,输入命令:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
将文件拷贝到其他主机相同的文件夹内,输入命令:
scp authorized_keys hostname1:~/.ssh/
scp authorized_keys hostname2:~/.ssh/
查看是否可以从主机无密码登录其他主机,输入命令:
ssh hostname1
ssh hostname2
如果可以直接登录,不需输入密码,则证明设置成功。
注:hostname1为其他主机的名字,在/etc/hosts中设置,格式为:xxx.xxx.xxx.xxx(IP地址) hostname1
不知道怎么搞的,后来连接的时候出现以下问题:
bobo@master:~$ ssh slave1
Warning: the ECDSA host key for 'slave1' differs from the key for the IP address '192.168.1.104'
Offending key for IP in /home/bobo/.ssh/known_hosts:5
Matching host key in /home/bobo/.ssh/known_hosts:2
Are you sure you want to continue connecting (yes/no)?
原因是knows_hosts中已经有了地址,将其清空,重新对各主机设置无密码登录(拷贝操作)。