SSH 免密设置
1.概述
目前有3台机器,已安装SSH,需要进行SSH免密互信设置。免密的基本思路是:
(1)在三台机器上各自生成公钥和私钥。命令:ssh-keygen -t rsa
(2)将三台机器的公钥合并至authorized_keys,并分发至三台机器(目录:~/.ssh/),并设置authorized_keys权限 (600,-rw-------)。
(3)配置SSH的配置文件,/etc/ssh/ssh_config,/etc/ssh/sshd_config
机器 | Value | 备注 |
---|---|---|
master | 192.168.32.3 | A |
slave1 | 192.168.32.4 | B |
slave2 | 192.168.32.5 | C |
2.生成公钥
在三台机器上,分别输入:ssh-keygen -t rsa ,三次回车后,即可生成公钥。存放地址为: ~/.ssh/
ssh-keygen -t rsa
生成秘钥对如图:
3.公钥合并分发
将三台机器上的id_rsa.pub合并并分发至三台机器的 ~/.ssh/ 下。操作如下:
在A机器中,进入 ~/.ssh目录下:
//创建合并文件,文件名称不能变
//与ssh的配置(/etc/ssh/sshd_config)名称一致
touch authorized_keys
cat id_rsa.pub>>authorized_keys
//将B机器的id_rsa.pub追加至authorized_keys
//将id_rsa.pub复制到当前目录
scp root@slave1:~/.ssh/id_rsa.pub ./id_rsa_B.pub
cat id_rsa_B.pub>>authorized_keys
//将C机器的id_rsa.pub追加至authorized_keys
//将id_rsa.pub复制到当前目录
scp root@slave2:~/.ssh/id_rsa.pub ./id_rsa_C.pub
cat id_rsa_C.pub>>authorized_keys
//完成了公钥合并,接下来分发至三台机器
//A机器不需要分发,authorized_keys已在ssh目录下
//分发至B机器
scp authorized_keys root@slave1:~/.ssh/
//分发至C机器
scp authorized_keys root@slave2:~/.ssh/
设置authorized_keys 的读写权限,在三台机器分别执行:
chmod 600 ~/.ssh/authorized_keys
4. 配置SSH的配置文件
打开ssh配置文件,/etc/ssh/sshd_config ,将如下配置项开放(3台配置保持一致):
/etc/ssh/ssh_config
三台机器分别重启服务:
service sshd restart
以上为配置为事后记录,如有遗漏和不合理之处,请大家多多指正。