新 git 用户忽略了authorized_keys

问题描述

我想创建一个自己的 git 服务器。我从 root 用户开始,以下是我所做的:

mkdir /srv/git/project.git
useradd -r -d /srv/git git
passwd git

现在我有一个新用户 git(可以从我的 root 帐户通过 su git 登录)。

我想通过 [email protected] 登录而不使用密码。现在,它每次都会要求输入密码

对于 root,我在 .ssh/authorized_keys 中有我的 SSH 公钥。该键也应适用于 git。我是否必须为此 git 用户添加一个 authorized_keys 文件?使用我的 useradd 命令,我没有创建可以添加它的主目录,那么它应该去哪里?

谢谢大家的帮助!

解决方法

运行 sudo tail -f /var/log/auth.log 并尝试从不同的控制台再次登录。您现在将看到延迟,它会告诉您登录被拒绝的确切原因。

就我而言,主文件夹的权限有误。

,

确实创建了一个主目录,它只是不在 /home 下。

/srv/git

在该目录下创建一个.ssh目录,修改权限:

  • mkdir /srv/git/.ssh
  • chmod 0700 /srv/git/.ssh

新建一个包含公钥的authorized_keys文件,修改权限:

  • vim /srv/git/.ssh/authorized_keys # or method of your choice
  • chmod 0600 /srv/git/.ssh/authorized_keys