2012-05-15 5 views
6

私は複数のサブモジュール(プライベート)を持つプロジェクト(プライベートレポ)を持っています。私はAmazon EC2上にプロジェクトを格納するサーバーを用意しており、プライベートGithubリポジトリを使いたいと思っています。Githubデプロイメントキーを使用しているときに許可が拒否されました

私はメインプロジェクト用のsshキーを生成し、プロジェクトにキーを追加しました。また、各サブモジュールに追加のsshキーを生成し、そのサブキーを配布キーに追加しました。

私がしようとするプロジェクト(のgitの@ githubのを使用して)をクローンすると、それは動作しません:

許可拒否(公開鍵)を。 致命的:リモートエンドが予期せずハングアップします

各レポとその展開キーをダブルチェックしてすべてが正しいようです。私は行方不明のいくつかの他の小さなステップがありますか?

+0

ポート22は開いていますか? 'ssh -vT git @ github.com'とは何ですか? - http://help.github.com/ssh-issues/ –

+0

結果をHeresします。 –

+0

OpenSSH_5.3p1、OpenSSL 1.0.0i-fips 19 Apr 2012 debug1:設定データ/ etc/ssh/ssh_configを読み込みます。 debug1 :* のオプションの適用debug1:github.com [207.97.227.239]ポートへの接続22. debug1:接続が確立されました。 –

答えて

6

短い答え:プライベートサブモジュールでデプロイキーを使用する簡単な方法はありません。私の経験では、2つのオプションがあります。

  1. キープサブモジュールを使用しますが、キーを展開し使用を中止し、代わりに(簡単に、安全性が低い)すべてのあなたのプライベートのリポジトリへのアクセスを許可する単一のアカウントレベルのSSHキー
  2. ストップを使用サブモジュールを使用して、
この理由は git cloneある

のみを使用することができSSH接続をトリガー(トリッキー、より安全な)展開のキーに一致するSSH秘密鍵を渡し、各リポジトリをキーを展開し使用し続けると、手動git cloneのシングルSSH秘密鍵(例えば、 〜/ .ssh/id_rsa)。使用されているSSH秘密鍵はリポジトリのデプロイキーと一致する必要があります。デプロイメントキーはプロジェクトごとに一意でなければなりません。サブモジュールクローンの場合は、1つの秘密鍵のみを使用しています。そのキーはあなたのトップレベルのプロジェクトと一致するかもしれませんが、あなたが提供したエラーで子プロジェクトを失敗するでしょう。

希望します。

+1

2年後の時点で、まだ解決策はありませんか? – aledalgrande

+3

OK、見つかりました:https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth – aledalgrande

関連する問題