2

私は、LDAP サーバーのすべてのユーザーが電子メールを一意の識別子として持っているプロジェクトにいます。Linux サーバーのリモート ホーム ディレクトリからユーザーにプロジェクトのクローンを作成してもらう必要があります。そのため、GITにSSHプロトコルを使用して認証と承認を行うことを考えています。

しかし、git clone コマンドは次のようになるため、Eclipse EGit プラグインを使用するときに問題に直面しています。

git clone jhon.smith@emailserver@reposerver:pathtosomeproject

Eclipse は @ をエスケープして支援しようとしています:

git clone jhon.smith%40emailserver@reposerver:pathtosomeproject

しかし、これは機能せず、認証エラーが表示されます。私がしたことは、電子メールに「」を入れることでした。

git clone 'jhon.smith@emailserver'@reposerver:pathtosomeproject

これはうまく機能しますが、Eclipse が次のページで ls-remote を使用してすべてのブランチをリストしようとすると、メッセージ エラーで表示できないと表示されます。

私の質問は、誰かがすでにこの要件を経験しており、代替ソリューションを持っているかどうかです?

ここで Gitosis が役立つかどうかはわかりません。環境にはグループがなく、ホーム フォルダー内にプロジェクトを持ち、Eclipse EGit を使用してプロジェクトを複製およびプッシュするユーザーだけであるためです。

ありがとう

4

1 に答える 1

0

まず、gitosis は廃止されました。Gitolite を使用してください

次に、ssh アドレスはgitadmin、Git リポジトリ サーバーの管理者アカウント (たとえば ' ' など) が公開鍵がそこにあるかどうかを確認するためのものです~gitadmin/.ssh/authorized_keys

「jhon.smith@emailserver@reposerver:pathtosomeproject」のような ssh アドレスを使用する場合、reposerver SSH デーモンに をチェックするように要求しますが ~jhon.smith@emailserver/.ssh/authorized_keys、これは意味がありません (ユーザーごとに 1 つではなく、 1 つのGit 管理者アカウントを持っています! Unix サーバー上にユーザー ID 名 ' jhon.smith@emailserver' があります)

Gitoliteは、各ユーザーが通信する公開鍵を形式化するという点で役立ちます。「ユーザーの追加と削除」と「ssh 基本」を読んでください。
その公開鍵の名前は、Gitolite サーバーから見た「ID」を表します。(したがって、 !の
ような複雑な公開 ssh キーを使用しないでください。たとえば、問題なく実行できます)jhon.smith@emailserverjhon.smith_emailserverjhon.smith_emailserver.pub

于 2012-06-17T19:09:50.350 に答える