如何在我的服务器上的用户的“authorized_keys”文件中使用多个 SSH 密钥?

如何在我的服务器上的用户的“authorized_keys”文件中使用多个 SSH 密钥?

我有 3 个公共 ssh 密钥,对应于在我的服务器上工作的 3 个用户。我需要为我的服务器上的用户使用这 3 个公钥git,以便他们可以访问服务器上的 git 存储库。

我运行了以下命令,试图让git用户可以通过 ssh 进行访问:

 cat /home/user_one/.ssh/authorized_keys >> /var/git/.ssh/authorized_keys
 cat /home/user_two/.ssh/authorized_keys >> /var/git/.ssh/authorized_keys
 cat /home/user_three/.ssh/authorized_keys >> /var/git/.ssh/authorized_keys

但是,[email protected]: Permission denied (publickey)当我们尝试以 git 用户身份进行 ssh 登录或尝试推送到 git 存储库时,会出现错误。

笔记:/var/git是用户的主目录git。服务器运行在 Debian 11 上。

我们可以单独连接到每个用户,为什么我们不能连接到用户git

答案1

git 机器上的 sshd 日志文件可能会告诉您在authorized_keys 文件的权限上发现了什么问题。在将用户的授权密钥文件附加到您所描述的之后,我有一个 3 点清单:

  1. 确保 git 用户的主目录不可被世界或组写入。这通常意味着主目录的 755、751 或 711 权限。
  2. 确保 git 用户的.ssh目录被严格锁定。通常是700个权限。
  3. 确保 git 用户的authorized_keys文件不能被除该用户之外的任何人读取或写入。通常有 600 个权限,由用户和用户的主要组拥有。

相关内容