2013-06-06 13 views
12

GITサーバにアクセスできるSSHアカウントにアクセスでき、このSSHログインでリポジトリをクローン/プッシュ/プルできるようになりました。しかし、私は他の場所からこのレポにアクセスすることはできません。レポのクローンを作成するSSHトンネル経由でGitリポジトリにアクセスする

私が使用してSSHアカウントで

git clone [email protected]:proj/myrepo.git 

私は、ユーザーのgitの 'のパスワードの入力を求め得続けるしかし、

ssh -L 3333:gitserver:22 [email protected] 
git clone ssh://localhost:3333/proj/repo.git 

を使用して他のマシンからのgitサーバーへのSSHトンネルを設定しようとしました。私がここで間違っていることは何ですか?あなたがこれを行う場合は

答えて

12

git clone [email protected]:proj/myrepo.git 

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

公開鍵認証が失敗する最も一般的な理由は、sshクライアントに必要な秘密鍵がないことです。このケースでは、 'git @ gitserver'として認証するために必要な鍵がsshserverに存在すると思われます。〜/ .ssh。この場合、リポジトリをクローンしようとするとローカルホスト上で起動されたsshクライアントは利用できませんあなたのsshトンネルを通して。

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

+0

ありがとうございました(http://stackoverflow.com/questions/4565700/specify-private-ssh-key-to-use-when-executing-shell-command-with-or-without-ruby)設定ファイルを設定してください。 – Bootstrapper