配置免密登录
很简单,重点就两步,分布式scp ~/.ssh/authorized_keys 中内容到所有你想相互免密的机器即可。
- 1. 执行命令$ ssh-keygen -t rsa -P ""
回车后会在 ~/.ssh/ 下生成两个文件:id_rsa 和 id_rsa.pub,这两个文件是成对出现的
- 2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 3. 重启SSH服务 $ service sshd restart
- 4. 测试免密登录本机 $ ssh localhost
(发现并没有成功,还是需要输入密码)
问题解决
需要做两件事:
- 一、检查
AuthorizedKeysFile
配置是否启用authorized_keys
$ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile
#AuthorizedKeysFile .ssh/authorized_keys
解决:
$ sudo vi /etc/ssh/sshd_config
找到这几行,把注释解开:
- 二、查看系统安全日志,定位问题
执行 sudo cat /var/log/secure 查看系统的安全日志,然后在安全日志中看到SSH登录过程中提示了如下错误:
找到问题:Authentication refused: bad ownership or modes for directory /home/root
后面的目录代表权限不匹配
解决:
(替换成你log中的目录)执行如下:
chmod g-w /home/raini
chmod 700 ./.ssh
chmod 600 ~/.ssh/authorized_keys
PS:SSH进行认证的过程中除了对用户目录有权限要求外,对 .ssh 文件夹和 authorized_keys 文件同样也要限制。
(可选)重启SSH服务 $ service sshd restart
- 三、非必须:
$ setfacl -m u:raini:rwx /root/