私はできる限り私のシナリオを説明しようとします:
私は debian スクイーズ サーバーで gitolite を使用しており、リポジトリにアクセスして操作できるユーザーが 3 人います。
alex@workbox
alex@homebox
katy@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@hostname
user
.ssh/authorized_keys
gitolite に " user@hostname
" を保持させるにはどうすればよいですか?
サーバー上で構成する必要があるか、ローカルのクローンgitolite-admin
リポジトリで構成を変更する必要がありますか?