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
git@domain.com: Permission denied (publickey)
但是,當嘗試以 git 使用者身份 ssh 或嘗試推送到 git 儲存庫時,我們會遇到錯誤。注意:
/var/git
是git
使用者的主目錄。伺服器在 Debian 11 上。我們可以單獨連接到每個使用者,為什麼我們不能連接到
git
使用者?
git 機器上的 sshd 日誌文件可能會告訴您它發現的授權密鑰文件權限有什麼問題。在像您描述的那樣附加到使用者的授權密鑰文件後,我有一個 3 點清單:
- 確保 git 使用者的主目錄不可被世界或組寫入。這通常意味著對主目錄的 755、751 或 711 權限。
- 確保 git 使用者的
.ssh
目錄非常鎖定。通常有 700 個權限。- 確保 git 使用者的
authorized_keys
文件不能被除使用者之外的任何人讀取或寫入。通常有 600 個權限,由使用者和使用者的主組擁有。