SSH免密登录另一台服务器配置及注意事项

一、服务器生成ssh-key

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 700 /root
chmod 700 ./.ssh
chmod 600 ~/.ssh/authorized_keys
PS:SSH进行认证的过程中除了对用户目录有权限要求外,对 .ssh 文件夹和 authorized_keys 文件同样也要限制。

(可选)重启SSH服务 $ service sshd restart

 

posted @ 2021-07-15 10:13  7heOne  阅读(220)  评论(0编辑  收藏  举报