CentOS 下SSH无密码登录的配置

CentOS 下SSH无密码登录的配置

最近学习Hadoop。它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘。
配置SSH无密码登录需要3步:
1.生成公钥和私钥
2.导入公钥到认证文件,更改权限
3.测试

1.生成公钥和私钥

Shell代码
ssh-keygen -t rsa

默认在 ~/.ssh目录生成两个文件:
id_rsa :私钥
id_rsa.pub :公钥
2.导入公钥到认证文件,更改权限
2.1 导入本机
Shell代码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2.2 导入要免密码登录的服务器
首先将公钥复制到服务器
Shell代码
scp ~/.ssh/id_rsa.pub xxx@host:/home/xxx/id_rsa.pub

然后,将公钥导入到认证文件,这一步的操作在服务器上进行
Shell代码
cat ~/is_rsa.pub >> ~/.ssh/authorized_keys

2.3 在服务器上更改权限

Shell代码
chmod 700 ~/.ssh
Shell代码
chmod 600 ~/.ssh/authorized_keys

3.测试
ssh host,第一次登录可能需要yes确认,之后就可以直接登录了