ssh 免密登录
一,单机秘密登录
进入/etc/ssh 文件夹 编辑sshd_config 文件(sshd_config是ssh 服务端文件,ssh_config是客户端文件)
sudo vi sshd_config
将一下注释放开即可
RSAAuthentication yes #私钥认证
PubkeyAuthentication yes #公钥认证
AuthorizedKeysFile .ssh/authorized_keys #认证的key存放的文件夹路径以及文件名称
重启sshd服务
sudo service sshd restart
进入 .ssh 文件夹 cd /home/hadoop/.ssh
使用 ssh-keygen -t rsa 命令生成秘钥
一直回车出现图案就可以
+--[ RSA 2048]----+
| . |
| + . . |
| o o + + |
| . o = o |
| o + S . |
| o + . = |
| . * . . o |
| o o . . |
| ..E ... |
+-----------------+
将公钥 id_rsa.pub内容写入到 authorized_keys 就是sshd_config 配置的那个文件名
cat id_rsa.pub >> authorized_keys
修改文件权限 chmod 600 authorized_keys (注:权限太高可能会秘密认证失败)
sudo service sshd restart 重启ssh服务
免密登录已完成 可以测试下ssh localhost 不用密码直接登录
二,集群免密登录
集群之间免密登录设置
1) 各集群节点生成rsa公钥私钥文件(<USERNAME>):直接输入以下命令,执行后会在ssh目录生成id_rsa、id_rsa.pub目录
cd .ssh(如果没有这个文件可以手动创建这个文件夹)
ssh-keygen -t rsa (这个命令后输入三个回车)
2) 登录<IP1>服务器(<USERNAME>),将id_rsa.pub公钥内容拷贝到authorized_keys文件中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
3) 登录其它集群节点(<USERNAME>),将其它集群节点的公钥文件内容都拷贝到<IP1>主机上的authorized_keys文件中
ssh-copy-id -i <IP1>
4) 将authorized_keys拷贝到其他集群节点
scp .ssh/authorized_keys <USERNAME>@<HOSTNAME>:~/.ssh/
5) 检验免密登录是否配置成功(第一次ssh登录时需要输入密码,再次访问时即可免密码登录)
ssh <USERNAME>@<HOSTNAME>
各集群节点之间时间同步设置
略