由于网上好多配置无密码登录都很不好用,我干脆自己写一个放上来共大家参考了,我这边准备了3台测试机,需求是这三台机器都可以不使用密码互相访问。
步骤如下:
其实cp id_rsa.pub authorized_keys无所谓,最好用cat命令,我这个就是图省事儿了,另外我懒得巧scp所以麻烦点,其实这个很容易理解,就是3个机器使用同样的私钥,于是公钥生成一套就够用了
当然三个机器的~/.ssh目录的权限以及下面文件的权限必须完全相同,如果不同也不行。
我一般为了省事,三台机器都运行ssh-keygen -t rsa命令,然后将一台机器生成的密钥对覆盖后面两个机器,并且chmod成相同的权限,也就是id_rsa 600 id_rsa.pub 644 authorized_keys 644。
由于密钥一样,所以自己可以连接自己就可以顺利连接其他机器,如果连接不了可以看看/etc/hosts文件是不是没配置。
步骤如下:
192.168.100.67 master
192.168.100.68 slave1
192.168.100.69 slave2
进入master (hadoop用户)
执行:
ssh-keygen -t rsa
进入~/.ssh目录
生成的id_rsa id_rsa.pub
cp id_rsa.pub authorized_keys
然后确认authorized_keys的权限是600如果不是就chmod 600 id_rsa 其余的都是644
然后ssh master date测试
进入slave1 (hadoop用户)
进入~/.ssh目录
将master上的ssh-keygen -t rsa
放入该目录下
chmod 600 id_rsa
然后ssh slave1 date测试
然后master与slave1互相测试一下
slave2同slave1
其实cp id_rsa.pub authorized_keys无所谓,最好用cat命令,我这个就是图省事儿了,另外我懒得巧scp所以麻烦点,其实这个很容易理解,就是3个机器使用同样的私钥,于是公钥生成一套就够用了
当然三个机器的~/.ssh目录的权限以及下面文件的权限必须完全相同,如果不同也不行。
我一般为了省事,三台机器都运行ssh-keygen -t rsa命令,然后将一台机器生成的密钥对覆盖后面两个机器,并且chmod成相同的权限,也就是id_rsa 600 id_rsa.pub 644 authorized_keys 644。
由于密钥一样,所以自己可以连接自己就可以顺利连接其他机器,如果连接不了可以看看/etc/hosts文件是不是没配置。