4

UbuntuサーバーでGitoliteを使用します。gitコマンドに特定の構文が必要なプロジェクトに取り組んでいます。

よく働く:

git clone gitolite@servername:testing.git

パスワードを要求する

git clone ssh://gitolite@servername/home/gitolite/repositories/testing.git

同じ箱から次々と走った。パスワードを入れることができ、動作します。しかし、私は自動的に働く必要があります。ssh pub /privatekeysの問題のように聞こえます。何か案は?

更新:ファイルのアクセス許可に問題がありました。tooコマンドの違いがわかりません。しかし、/var/log/auth.logいくつかのエラーが表示されました

4

3 に答える 3

5

〜gitolite / .ssh/authorized_keysを次のような行で設定する必要があります

command="/home/gitolite/bin/gl-auth-command <USERNAME>",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA...KEY.HERE...ZZZZ== user@label

これに関連する情報を含むランダムなURL(ページの下部を参照)

http://www.geekgumbo.com/2011/10/18/ssh-and-the-gitolite-installation-part-2/

SSH要件に従って、〜gitolite / .ssh/authorized_keysの所有権を次のように変更してください。

chown gitolite: ~gitolite/.ssh/authorized_keys
chmod go-w ~gitolite/.ssh/authorized_keys

編集:「git」を「gitolite」システムユーザー名に変更する編集を反映します。

次のコマンドを使用して、クライアントからのアクセスをテストします。

ssh -l gitolite -i <file_id_rsa_foobar> -v -o PasswordAuthentication=no -T <host>

追加-バナーを取得するためにローカルシステムで-Tが必要なようです(言い訳の間違いで入力):

....
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/username/.ssh/id_rsa_foobar
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /home/username/.ssh/id_dsa_foobar
debug1: Remote: Forced command: /home/gitolite/bin/gl-auth/command <username>
....
hello <username> this is gitolite vX.X.XX-g0123abcd running on git X.X.X
the gitolite config gives you the following access:
    R   W    mydir/project1
....
于 2012-09-17T21:28:40.900 に答える
0

gitolite最初のバージョンが機能する場合、それは公開鍵が' ':という名前のアカウントで公開されていることを意味します~gitolite/.ssh/authorized_keys

発生したアクセス許可の問題については、次のとおりです。「GerritおよびHudsonのSSHキーの作成」:.sshのすべての親ディレクトリにグループまたはその他の書き込みアクセス許可を設定しないでください: /home、、。/home/yourUser/home/yourUser/.ssh

さらに、リポジトリのフルパスを使用してgitoliteリポジトリのクローンを作成しないでください。servername/home/gitolite/repositories/testing.git間違っています(そして、gitoliteを完全にバイパスします)。
servername:testing.gitは正しい。

ジトライトV2ドキュメントから:

次の問題は、パブキーがジトライトをバイパスしてシェルに直行していることを示しています

実行中( URLにgit clone git@server:repositories/reponame存在することに注意)は機能します。repositories/

[適切なgitoliteキーを使用すると、git cloneのみが可能になりますgit@server:reponame(存在しないことに注意してくださいrepositories/)]

于 2012-09-17T21:31:11.430 に答える
0

さらにもう1つ試してみてください。サーバー上のsshdにAllowGroupsが使用されている場合は、git-userがそれらのグループの1つに含まれていることを確認してください。

于 2013-10-16T09:12:49.203 に答える