3

サーバー上でgitとgitosisをセットアップして、リポジトリを管理します。設定した最初のシェルアカウントで正しく機能しています。つまり、次のコマンドを実行できます。

git clone git@MYSERVER:gitosis-admin.git

しかし、(gitosis.confを介して)作成した個別のアカウントを使用しようとすると、パスワードを要求され続けます。

git clone johndoe@MYSERVER:gitosis-admin.git

SSHキーを設定し、サーバーのkeydirにコピーをプッシュしました。この質問は同じ問題に対処しているようですが、与えられた解決策はtortoisegitです。

Gitはパスワードを要求し続けます

パスワードを要求する代わりにsshキーを使用するようにgitに指示するにはどうすればよいですか?

4

2 に答える 2

5

あなたはあなたのユーザー名を使用しません、あなたはいつも言います:

git clone git@MYSERVER:<repository>

Gitosisは、構成ファイル内の名前をサーバー上のキーの名前に関連付けます。つまり、次のような行があります

[group users]
members = johndoe janeroe
writable = repo1 repo2

gitosis.confにあり、ファイルjohndoe.pub、janedoe.pubにgitosis-admin/keydirにあります。gitosisはユーザーに適切なキーを使用しますが、URLでは常に「git」をユーザーとして使用します。これは、常に「git」アカウントを使用しているためです。

于 2011-01-19T04:37:34.533 に答える
2

さて、私はgitosisについて読んだばかりですが、AFAICTをjohndoe@MYSERVER使用するときは、クローンを作成することは絶対にしないでください。常にからクローンを作成しgit@、サーバーがjohndoeとjanedoeを区別するためにそれらを使用できるようにsshキーが正しく設定されていることを確認してください。

クライアント側で行うことは、johndoeのSSHキーをキーチェーンに追加し、サーバーが受け入れる他のキーをすべて削除し、gitユーザーと電子メールの設定をjohndoeとしてIDに設定することです。サーバーは2つを比較し、それらが一致することを確認して、コミットできるようにします。他の誰かのキーを使用するようにSSHを構成してから、gitを使用してjohndoeとしてコミットしようとすると、サーバーに接続できる場合がありますが、コミットを続行できません。

OTOH、gitosisは実際のユーザーアカウントを作成しないため、マシンにjohndoeとしてsshすることはできません。つまり、gitのリポジトリにjohndoe@...アドレスを使用することもできません。それを行う必要がある場合は、gitサーバーを別の方法で設定する必要があります。

于 2011-01-19T04:37:09.283 に答える