web-dev-qa-db-ja.com

ユーザーがgitに接続できない(ubuntuでgitoliteを使用)

次のコマンドを実行できました。

git clone admin@ip address:gitolite-admin.git

以下の手順を使用して新しいユーザーを追加しようとすると、新しいユーザーは接続できませんでした。

これまでに行った手順

1.  Copied the public key into the keydir (also tried copying it in a separate directory within the keydir)
2.  I added a repo in the config file for the new userID
3.  git add -A
4.  git commit -m 'adding new user keys and repo'
5.  git Push Origin master

これらのコマンドはすべて、エラーをスローせずに実行されます。
ユーザーがログインしようとすると、次のコマンドで接続できません。

git clone username@IPAddress:newRepoName.git

接続は、ポート22で接続できないことを訴えてタイムアウトします。これをトラブルシューティングするのに役立つ提案(ユーザーの公開鍵は自分のコンピューターから生成されました-同じものがユーザーとしてのログインに使用されています-別のコンピューターが管理者アクセスに使用されました) )。前もって感謝します

編集 :(管理者以外の)ユーザーの公開鍵を削除し、commitを実行してサーバーにプッシュした後、ユーザーの新しい公開鍵を追加し、add、commitを実行してサーバーにプッシュしました。管理者への応答には、ユーザーが追加されたことが記載されていました。ただし、ユーザーが以下のコマンドを使用してサーバーに接続しようとすると、接続の試行は失敗します(コンピューターからプロジェクトのクローンを作成できます-追加のユーザーはできません。他のユーザーもできませんので、構成を間違えたと思います追加のユーザー-どんな考えでも大歓迎です、そして忍耐に感謝します)

git clone [email protected]:testProject Cloning into'testProject '...アクセスが拒否されました(公開鍵)。致命的:リモートエンドが予期せずハングアップした

4
ali haider

問題は、gitをホストしているAmazonawsインスタンスに接続するためのクライアントセットアップにありました。 VonCは私のすべての質問に非常に敏感だったので、私はVonCの回答を受け入れました。ありがとう

  1. ユーザーにssh経由で接続してもらいました(ssh証明書ファイルを使用)-ユーザーは自分のコンピューターへの接続用のキーを受け入れました。
  2. ユーザーは、次の形式で構成ファイルを〜。/ sshファイルに追加しました。

    ホストtest.git.com

    ホスト名amazonHostName

    ユーザーadavid

    PreferredAuthentications公開鍵

    IdentityFile〜。/ ssh/adavid

ユーザーはssh-addコマンドも実行しました。ただし、短い名前を使用してgitリポジトリに接続できず、接続に長い名前を使用する必要がありました。

もう一度-Mercibeaucoup VonC!

2
ali haider

このアドレスは機能しません:_git clone username@IPAddress:newRepoName.git_

ギトライトを使用するときは、常に同じアカウントを使用します。

_git clone git@IPAddress:newRepoName.git
_

(gitがgitoliteがインストールされているアカウントの場合)

新しいユーザーを宣言する方法を理解するには、「 ユーザーの追加と削除 」を参照してください。

つまり、_gitolite.conf_ファイルのユーザーIDの後に彼/彼女の公開鍵namedを追加します。

次に、ユーザーは~/.ssh/id_rsa(.pub)に自分のキーを持ち、_git@IPAddress:newRepoName.git_(gitではなくusername)を使用してgitコマンドを実行する必要があります。

4
VonC

同じ問題を抱えている他の人については、AllowGroupsがサーバー上のsshに使用されているかどうかを確認してください。サーバー上のgit-userが正しいグループに属していない可能性があります。

診断:サーバー上のgit-userにSSHで接続し、/ var/log /auth.logに何が表示されるかを確認します。「ユーザーのグループがAllowGroupsにリストされていないため、ユーザーgit fromは許可されていません」と表示されている場合は、 AllowGroupsにあるグループを確認してから、それらの1つにgitユーザーを追加します。

1
kaleissin