centos添加ssh免密配置,结果发现登录时,依然要求设置密码,记录一下解决过程与最终的方案

I. ssh免密配置

免密配置比较简单,自己的电脑上生成公私钥,然后将公钥丢上去即可

本机执行流程:

1
2
3
4
5
ssh-keygen
# 一路回车,在home目录的.ssh下会生成两个文件
cd ~/.ssh; ls
# id_rsa 这个是生成的私钥
# id_rsa.pub 这个是生成的公钥

接下来我们需要将id_rsa.pub的内容,粘贴到服务器的
authorized_keys

1
2
vim ~/.ssh/authorized_keys
# 将上面的公钥内容拷贝进来,保存,退出即可

正常来讲,上面的逻辑执行完毕之后,就可以免密登录了,但是突然遇到了登录还是要密码的情况

原因定位

查看ssh的登录日志

1
vi /var/log/secure

然后发现日志显示

1
2
Dec 22 17:00:15 localhost sshd[21485]: Connection closed by xxx port xxx [preauth]
Dec 22 17:01:15 localhost sshd[21528]: Authentication refused: bad ownership or modes for directory /home/xxx/.ssh

从上面的日志中看出,问题应该就在.ssh目录的权限上,添加上权限即可

1
chmod 600 ~/.ssh

II. 其他

1. 一灰灰Bloghttps://liuyueyi.github.io/hexblog

一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激

3. 扫描关注

一灰灰blog

QrCode

知识星球

goals