问题描述:
启动(start-all.sh)Hadoop的时候老是要求输入密码
解决:
生成秘钥:ssh-keygen -t rsa -P “”
输入秘钥地址:Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa
中间需要填输入的密码,后面有用到。这里用aaa表示
将密钥写入ssh中
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
下发到需要登录的机器(hadoop02为下发机器名):
scp /root/.ssh/id_rsa.pub hadoop02: /root/.ssh/id_rsa.pub
在需要登录的机器上将密钥写入ssh中
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
问题描述2:
ssh-add id_rsa
Could not open a connection to your authentication agent.
解决:
ssh-agent
eval $(ssh-agent)
再添加私钥到agent
ssh-add id_rsa
中间要输入秘钥的密码aaa
测试下
ssh hadoop
可以登录成功,这时使用start-all.sh启动Hadoop不需要登录输入密码了。
这个修改仅在本次登陆有效。当tty退出或服务器重启后还需要再来一遍。为了永久生效,需要借助第三方工具keychain配置
git clone https://github.com/funtoo/keychain
下载后解压缩,将keychain拷贝到bin目录
cp keychain /usr/bin/
修改配置文件 /etc/profile加入:
keychain /root/.ssh/id_rsa
. ~/.keychain/$HOSTNAME-sh
配置生效:
source /etc/profile