15

GIT サーバーにアクセスできる SSH アカウントにアクセスでき、この SSH ログインでレポを複製/プッシュ/プルできます。ただし、他の場所からこのレポにアクセスすることはできません。

私が使用しているSSHアカウントでは、

git clone git@gitserver:proj/myrepo.git

レポをクローンします。

別のマシンからgitサーバーへのsshトンネルを設定しようとしましたが、

ssh -L 3333:gitserver:22 userid@sshserver
git clone ssh://localhost:3333/proj/repo.git

ただし、ユーザー「git」のパスワードの入力を求められ続けます。ここで私が間違っていることはありますか?

4

1 に答える 1

14

これを行う場合:

git clone git@gitserver:proj/myrepo.git

ssh クライアントがローカル ホスト ('sshserver') で起動され、公開鍵認証を使用して 'gitserver' で認証されます。ユーザー「git」のパスワードを求めるプロンプトが表示された場合、それは公開鍵認証が失敗したことを意味し、ssh は次の方法であるパスワード認証に失敗しています。

公開鍵認証が失敗する最も可能性の高い理由は、ssh クライアントが必要な秘密鍵を持っていないことです。この場合、'git@gitserver' として認証するために必要なキーが sshserver:~/.ssh にあると思われます。その場合、レポのクローンを作成しようとしたときに、ローカル ホストで開始された ssh クライアントでキーを使用できません。あなたのsshトンネルを通して。

これを解決するには、そのクライアントに適切なキーへのアクセスを許可する必要があります。ローカルで ~/.ssh に追加するか、ssh エージェントにロードすることができます。

于 2013-06-06T19:49:06.070 に答える