SSH免密登录搭建
1.
三个虚拟机都要弄好
并且格子的hostname与各自的ip对应
2.
- 关闭防火墙
- Root用户下修改vim /etc/ssh/sshd_config
然后重新启动sshd的服务
service sshd restart
由于CentOS6.5对于网络的管理相对较于严格,所以需要修改下安全配置,即关闭selinux
vim /etc/selinux/config
- 生成公钥和私钥(一直按回车就好了)
需要共享哪个用户su哪个用户
然后ssh-****** -t rsa
默认在 ~/.ssh目录生成两个文件:(~是具体哪个用户)
id_rsa :私钥
id_rsa.pub :公钥
- 生成公钥认证文件,并更改权限(用户别弄错)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
下面两条更改权限我自己用当前用户和root用户各执行了一遍
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
- 将生成的公钥认证文件复制到其他节点机器
(需要共享的用户@目标虚拟机)
在master中
scp ~/.ssh/id_rsa.pub [email protected]:/home/id_rsa.pub
scp ~/.ssh/id_rsa.pub [email protected]:/home/id_rsa.pub
在slave1中
scp ~/.ssh/id_rsa.pub [email protected]:/home/id_rsa.pub
scp ~/.ssh/id_rsa.pub S@Slave2:/home/id_rsa.pub
在slave2中
scp ~/.ssh/id_rsa.pub [email protected]:/home/id_rsa.pub
scp ~/.ssh/id_rsa.pub S@Slave1:/home/id_rsa.pub
- 若用过以上方法,输入 ssh localhost 还是需要提示输入密码,这个时候就试试以下方法,通过在每台节点上执行ssh-copy-id的命令,将生成的公钥自动添加到authorized_keys中。
- 在master中
- $ cd ~/.ssh
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Slave1"
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Slave2"
- 在slave1中
- $ cd ~/.ssh
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Master"
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Slave2"
- 在slave2中
- $ cd ~/.ssh
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Master"
- $ ssh-copy-id -i id_rsa.pub "-p 22 s@Slave1"
若出现以下信息则代表复制成功!
成功的效果