解决git配置了公钥还需要验证密码


客户端的公钥已经给了远程仓库所在用户的.ssh/authorized_keys文件,clone仍然提示需要密码?

或者只有部分主机会出现这种情况,请先不要怀疑是公钥私钥的问题,先配置如下:

修改sshd_config文件,切记不是ssh_config文件。
vim /etc/ssh/sshd_config

然后开启:

# 是否禁用root登录,非必需
PermitRootLogin yes
# 让sshd是否去检查用户家目录文档的权限,很重要
StrictModes no
# 把下面这三个开启并配置
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
# 如果ssh使用的公钥已经注册,可以直接关闭密码登录,否则本地ssh都用不了,非必需
# PasswordAuthentication yes

最后重启一下sshd服务
service sshd restart
或/bin/systemctl restart sshd.service

到这里应该就可以clone了,如果还是不行,接着往下看:

执行:ssh-add /home/ugithub/.ssh/id_rsa

如果上述命令提示:

Could not open a connection to your authentication agent.

则需要先执行下述命令后重试:
ssh-agent bash

成功后提示:

Identity added: /home/ugithub/.ssh/id_rsa (/home/ugithub/.ssh/id_rsa)

本地执行测试:
$ ssh -T ugithub@120.25.226.240

需要确保当前用户的.ssh文件夹权限700+和authorized_keys文件权限600+

完毕


原文链接:https://blog.yongit.com/note/134976.html