私はできる限り私のシナリオを説明しようとします:
私は debian スクイーズ サーバーで gitolite を使用しており、リポジトリにアクセスして操作できるユーザーが 3 人います。
alex@workboxalex@homeboxkaty@workbox
上記は、3 つの Ubuntu ボックスの対応するユーザー名とホスト名です (Alex は 2 つの場所で作業しています)。
alex@workbox私が最初にしたことは、ギトライトに追加することでした:
- Alex は ssh-keygen を使用して ssh キーを生成しました
- 彼の ssh キーを alex@workbox.pub として、ローカルの gitolite-admin クローン リポジトリの「keydir」フォルダにコピーしました。
- alex@workbox がリポジトリに RW アクセスできるように、ローカルの gitolite-admin クローン リポジトリの conf/gitolite.conf ファイルを変更しました。
repo project1
RW+ = alex@workbox - いつものことをしました:
git add .git commit -m "Added alex@workbox"git push
Alex が project1 リポジトリのクローンを作成しようとすると、ユーザー " alex" のアクセスが拒否されたことを示すエラーが表示されました。
そこで、サーバーにログインして を開きまし/var/lib/gitolite/.ssh/authorized_keysた。
ファイルの最初の部分は次のとおりです。
command="/usr/share/gitolite/gl-auth-command alex",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa...
そのため、手動で に置き換えalexてalex@workboxファイルを保存したところ、今度は Alex がリポジトリのクローンを作成し、問題なく作業することができました。
次に、上記と同じ手順を実行して Katy を追加し、 にプッシュした後gitolite-admin、ファイルを再度authorized_keys開くと、gitolite が " user@hostname" を " " に置き換えていることがわかりましたuser。
したがって、のalex代わりにalex@workboxと同じでしkatyた。
その後、手動で再度置き換えてファイルを保存する必要がありました。リポジトリに対してプッシュを行うたびに、すべての " " が " " にgitolite-admin置き換えられ、ユーザーがリポジトリにアクセスできなくなることがわかりました。user@hostnameuser.ssh/authorized_keys
gitolite に " user@hostname" を保持させるにはどうすればよいですか?
サーバー上で構成する必要があるか、ローカルのクローンgitolite-adminリポジトリで構成を変更する必要がありますか?