19

AWS CodeCommit を標準の SSH 認証で動作させる方法を理解するのに非常に苦労しました。このような別のトピックを見ましたが、回答がなく、まだコメントできません。これは、Git Bash を使用する Windows 上です。

再現手順

  1. 完全な権限を持つ IAM ユーザーを作成しました (AwsAdministrator)
  2. ~/.ssh の Git Bash から
  3. 「cat id_rsa.pub」と出力をクリップボードにコピー
  4. IAM コンソールで、ボタンをクリックして SSH キーを追加し、入力フィールドに貼り付けます。[保存] をクリックします。
  5. CodeCommit リポジトリへのアクセスを試み (この場合はプッシュしようとしています)、「アクセス許可が拒否されました」というメッセージが表示されます。

Git + SSH 出力

これは、DEBUG3 ロギングを使用して SSH から取得したものです。

debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/Dan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug2: input_userauth_pk_ok: fp SHA256:<omitted>
debug3: sign_and_send_pubkey: RSA SHA256:<same-as-above>
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
fatal: Could not read from remote repository.

比較のために、これは GitHub へのまったく同じ SSH キーを使用して取得したものです。

debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /c/Users/Dan/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 535
debug2: input_userauth_pk_ok: fp SHA256:<same-as-above>
debug3: sign_and_send_pubkey: RSA SHA256:<same-as-above>
debug1: Authentication succeeded (publickey).
Authenticated to github.com ([192.30.252.130]:22).

上記の出力は、git push origin masterで ssh デバッグ ログを有効にして、通常の git コマンドを実行した結果.ssh/configです。

Host git-codecommit.us-east-1.amazonaws.com
  LogLevel DEBUG3

Host github.com
  LogLevel DEBUG3
4

7 に答える 7

24

SSH の設定手順が抜けていたようです。この情報を .ssh/config ファイルに追加する必要があります。

Host git-codecommit.us-east-1.amazonaws.com
   User Your-SSH-Key-ID, such as APKAEIBAERJR2EXAMPLE
   IdentityFile Your-Private-Key-File, such as ~/.ssh/codecommit_rsa or ~/.ssh/id_rsa

Your-SSH-Key-ID は IAM コンソールから取得できます。

于 2016-01-04T17:19:30.160 に答える