私のサーバーで作業している3人のユーザーに対応する3つの公開SSHキーがあります。私のサーバーのユーザーがgit
サーバーのgitリポジトリにアクセスできるようにするには、この3つの公開鍵が必要です。
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つのチェックリストがあります。
- gitユーザーのホームディレクトリがワールドまたはグループで書き込めないことを確認してください。これは通常、ホームディレクトリに対する755、751、または711権限を意味します。
- gitユーザーの
.ssh
ディレクトリがしっかりとロックされていることを確認してください。通常、権限は700です。 - git ユーザーの
authorized_keys
ファイルをそのユーザー以外のユーザーが読み書きできないことを確認してください。通常、ユーザーとユーザーの基本グループが所有する600の権限があります。