前提,机器A,B,均为RedHat Linux操作系统,均有用户hadoop
1、以用户名user登录,在A机器上执行
ssh-keygen -t rsa
一路回车,不需要输入密码
执行该操作将在/home/hadoop/.ssh下生成id_rsa, id_rsa.pub文件,其中id_rsa.pub是公钥。
2、在B机器上做步骤1或自行创建/home/user/.ssh文件夹,注意文件夹权限设置为700,将id_rsa.pub拷贝到B机器上
scp id_rsa.pub B:~/.ssh/A.id_rsa.pub
3、将拷贝到B机器上的A.id_rsa.pub复制到authorized_keys文件中
cp A.id_rsa.pub authorized_keys
或
cat A.id_rsa.pub > authorized_keys
若有多个主机要访问,使用>>添加到authorized_keys文件中
最精彩部分:
A将公钥发给B,不是说让B来访问A,而是A就可以访问B了。太霸道了!也就是说B不能在.ssh文件夹下的authorized_keys保留A的公钥,如保存就是把自己让给别人来访问!
如果这个理解反了,那就会总是不成功!