0

以下の Git ユーザー マニュアルで説明されているトピックに頭を悩ませています。詳細やリンクは役に立ちます。これについて議論しているトピックをいくつか見つけましたが、正直なところ、全体的な概念、それを記述する言語などを理解するのに問題があります。

公開鍵認証を介して全員が単一のユーザー (「git」など) に接続できるようにしている場合、公開鍵に基づいて接続しているユーザーを判別するシェル ラッパーをそのユーザーに提供し、環境を設定する必要がある場合があります。そのユーザーを指定する変数。ここでは、接続しているユーザーが $USER 環境変数にあると想定しているため、更新スクリプトは必要なすべての情報を収集することから始めます。

ここから引用

編集:リモートユーザーが渡しているSSHキーを確認するために使用する必要があるコマンドを理解するのに問題があります。さらに、キーを一致させるためにauthorized_keysファイルを反復処理する方法がわかりません。この問題に関する文書はありますか?

4

2 に答える 2

2

ssh 経由でサーバーとして git に認証レイヤーを追加するGitoliteには、これがどのように機能するかについての適切な説明があります。

本質的に、gitolite ツールは の各エントリにオプションを追加する可能性に依存していますauthorized_keys。この場合、このcommandオプションはsshd、 user のデフォルト シェルとは異なるコマンドを使用してはならないことを示していますgit。コマンド自体には、この特定のキーでログインしているユーザーを識別するために使用される一意の文字列が含まれています。

私自身のギトライト実験の例:

command="/Users/git/bin/gitolite-shell hlangeveld",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA... hlangeveld@...

オプション文字列には、さまざまな目的での git アカウントの悪用を防ぐいくつかのオプションが含まれていることに注意してください。また、特に必要はありませんがgitolite、新しいキー エントリの作成が自動化されています。

于 2013-09-30T20:45:25.520 に答える