Gitolite SSH URL 形式

Gitolite SSH URL 形式

それで私はギトライトセットアップは簡単です。しかし、1つ問題があります。SSH URLは の形式に従いますgit@host:repo。私はビットバケット/ギットハブURLは の形式に従いますgit@host:user/repo。後者の形式を取得する方法はありますか?ギトライト?

もう一つの質問です。~/.ssh/config次のエントリでファイルを設定しました。

Host <host>
User <user>
IdentityFile <path/to/public/key>

ユーザーとして指定する設定はありませんgitが、問題なくクローンできますgit@host:repo。明らかに、私のsshクライアントは私の公開鍵を使用してサーバーにアクセスしているためです。ギトライトリポジトリのクローンを作成できるようになりましたが、SSH クライアントは、ユーザー用で<user>はなくgitユーザー用にのみ設定されている公開キーを使用することをどのようにして認識するのでしょうか?

答え1

見るGitolite と ssh


特定のコマンドにユーザーを制限することはgitoliteにとって非常に重要です。man sshdauthorized_keys ファイル形式を探すと、公開キー行に追加できるオプションが多数表示されます。これらのcommand=オプションは、さまざまな方法で受信ユーザーを制限します。特に、「受信ユーザーが何を要求しているかに関係なく、代わりにこのコマンドを強制的に実行する」ことを意味するオプションに注意してください。

また、authorized_keys ファイルに公開キー (つまり行) が多数ある場合、各行に異なるオプションとcommand=値のセットが含まれる場合があることに注意してください。

このcommand=オプションを指定しないと、ssh デーモンは単にシェルを提供しますが、これは gitolite キーに必要なものではありません (ただし、シェルを取得するために使用する他のキーがある可能性もあります)。

これがGitoliteの仕組みの根幹です。必ず理解してください。

これらは、command=公開鍵の名前をユーザー名として使用しています。

したがって、すべての ssh クエリは次のように実行されます。

  • ユーザー git
  • の command= ディレクティブのパラメータに名前が登録されている公開鍵~git/.ssh/authorized_keys

に関してはuser/repos、Gitoliteに最も近いのはワイルドレポとレポパターン

repo    CREATOR/a[0-9][0-9]

関連情報