への SSH 接続のトラブルシューティングAWS CodeCommit - AWS CodeCommit

AWS CodeCommit は、新しいお客様では使用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

への SSH 接続のトラブルシューティングAWS CodeCommit

以下の情報は、SSH を使用して CodeCommit リポジトリに接続する際に発生する一般的な問題のトラブルシューティングに役立つ場合があります。

アクセスエラー: パブリックキーが IAM に正常にアップロードされたが、Linux、macOS、または Unix システムでは接続が失敗する。

問題: 接続をテストする場合、またはリポジトリのクローンを作成する場合に CodeCommit リポジトリと通信するために SSH エンドポイントに接続しようとすると、接続に失敗するか、拒否される。

解決方法: IAM のパブリックキーに割り当てられた SSH キー ID が接続試行時に関連付けられていない可能性があります。設定ファイルが構成されていない、設定ファイルへのアクセス許可が付与されていない、別の設定が原因で設定ファイルが読み取れない、キー ID ではなく IAM ユーザーの ID を入力している、のいずれかが考えられます。

SSH キー ID は、IAM ユーザーのプロフィールの IAM コンソールで確認できます。

IAM コンソールの SSH キー ID
注記

複数の SSH キー ID をアップロードしている場合、キーは、アップロードの日付ではなく、キー ID のアルファベット順にリストされます。正しいアップロードの日付に関連付けられたキー ID をコピーしていることを確認します。

次のコマンドを使用して、接続をお試しください。

ssh Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com

接続確認後に成功メッセージが表示される場合、お使いの SSH キー ID は有効です。設定ファイルを編集し、接続試行を IAM のパブリックキーと関連付けます。設定ファイルを編集しない場合は、すべてのリポジトリへの接続試行の前で SSH キー ID を使用することができます。たとえば、接続試行を関連付けるための設定ファイルを変更せずに、リポジトリ (MyDemoRepo) のクローンを作成する場合は、次のコマンドを実行します。

git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

詳細については、「Linux、macOS、または Unix での SSH 接続の場合」を参照してください。

アクセスエラー: パブリックキーは正常に IAM および SSH にアップロードされたが、Windows システム上で接続できない。

問題: SSH エンドポイントを使用して、クローンを作成するか、CodeCommit リポジトリと接続しようとすると、エラーメッセージ No supported authentication methods available が表示される。

解決方法: このエラーの最も一般的な原因は、SSH 使用時に Windows に別のプログラムを使用すると指示する Windows システムの環境変数セットが含まれることです。たとえば、ツール (plink.exe) の PuTTY セットのいずれかにポイントするように GIT_SSH 変数を設定しているとします。これはレガシーな設定であるか、コンピュータにインストールされている他のプログラムに必須である可能性があります。この環境変数が必須ではないことがわかっている場合は、システムプロパティを開き、この環境変数を削除できます。

この問題を対処するには、Bash エミュレーターを開いて 再度 SSH 接続を試みますが、プリフィックスとして GIT_SSH_COMMAND="SSH" を含みます。たとえば、SSH を使用してリポジトリのクローンを作成するには次のように行います。

GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

お使いの Windows バージョンによって、Windows コマンドラインで SSH から接続しているときに接続文字列の一部として SSH キー ID を含める必要がある場合にも、同様のエラーが発生する場合があります。再度接続をお試しください。今回は、コマンドの一部として、IAM からコピーした SSH キー ID を含めます。例:

git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo

認証の問題: CodeCommit リポジトリへの接続時にホストの信頼性が確立できない

問題: SSH エンドポイントを使用して、CodeCommit リポジトリと接続しようとすると、警告メッセージ The authenticity of host 'host-name' can't be established. が表示される

解決方法: 認証情報が正しく設定されていない可能性があります。「Linux、macOS、または Unix での SSH 接続の場合」または「Windows で SSH 接続をセットアップする手順」の手順に従います。

このステップ通りに行っても問題が解決しない場合は、中間者 (MITM) 攻撃を受けている可能性があります。次のメッセージが表示されたら、no と入力し、[Enter] キーを押します。

Are you sure you want to continue connecting (yes/no)?

接続を継続する前に、CodeCommit 接続に必要なフィンガープリントやパブリックキーが、SSH セットアップのトピックのものと一致していることを確認します。

CodeCommit のパブリックフィンガープリント
サーバー 暗号ハッシュタイプ フィンガープリント
git-codecommit.us-east-2.amazonaws.com MD5 a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e
git-codecommit.us-east-2.amazonaws.com SHA256 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ
git-codecommit.us-east-1.amazonaws.com MD5 a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84
git-codecommit.us-east-1.amazonaws.com SHA256 eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8+8isPtotBoY
git-codecommit.us-west-2.amazonaws.com MD5 a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77
git-codecommit.us-west-2.amazonaws.com SHA256 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo
git-codecommit.eu-west-1.amazonaws.com MD5 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d
git-codecommit.eu-west-1.amazonaws.com SHA256 tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ
git-codecommit.ap-northeast-1.amazonaws.com MD5 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb
git-codecommit.ap-northeast-1.amazonaws.com SHA256 Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow
git-codecommit.ap-southeast-1.amazonaws.com MD5 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf
git-codecommit.ap-southeast-1.amazonaws.com SHA256 ZIsVa7OVzxrTIf+Rk4UbhPv6Es22mSB3uTBojfPXIno
git-codecommit.ap-southeast-2.amazonaws.com MD5 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0
git-codecommit.ap-southeast-2.amazonaws.com SHA256 nYp+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec
git-codecommit.ap-southeast-3.amazonaws.com MD5 64:d9:e0:53:19:4f:a8:91:9a:c3:53:22:a6:a8:ed:a6
git-codecommit.ap-southeast-3.amazonaws.com SHA256 ATdkGSFhpqIu7RqUVT/1RZo6MLxxxUW9NoDVMbAc/6g
git-codecommit.me-central-1.amazonaws.com MD5 bd:fa:e2:f9:05:84:d6:39:6f:bc:d6:8d:fe:de:61:76
git-codecommit.me-central-1.amazonaws.com SHA256 grceUDWubo4MzG1NoaKZKUfrgPvfN3ijliOnQr1lTZA
git-codecommit.eu-central-1.amazonaws.com MD5 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d
git-codecommit.eu-central-1.amazonaws.com SHA256 MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY
git-codecommit.ap-northeast-2.amazonaws.com MD5 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed
git-codecommit.ap-northeast-2.amazonaws.com SHA256 eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko
git-codecommit.sa-east-1.amazonaws.com MD5 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51
git-codecommit.sa-east-1.amazonaws.com SHA256 kW+VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU
git-codecommit.us-west-1.amazonaws.com MD5 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1
git-codecommit.us-west-1.amazonaws.com SHA256 gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg
git-codecommit.eu-west-2.amazonaws.com MD5 a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3
git-codecommit.eu-west-2.amazonaws.com SHA256 r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs
git-codecommit.ap-south-1.amazonaws.com MD5 da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21
git-codecommit.ap-south-1.amazonaws.com SHA256 hUKwnTj7+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE
git-codecommit.ap-south-2.amazonaws.com MD5 bc:cc:9f:15:f8:f3:58:a2:68:65:21:e2:23:71:8d:ce
git-codecommit.ap-south-2.amazonaws.com SHA256 Xe0CyZEOvgR5Xa2YUGqf+jn8/Ut7l7nX/CmslSFNEig
git-codecommit.ca-central-1.amazonaws.com MD5 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23
git-codecommit.ca-central-1.amazonaws.com SHA256 Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w
git-codecommit.eu-west-3.amazonaws.com MD5 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76
git-codecommit.eu-west-3.amazonaws.com SHA256 uw7c2FL564jVoFgtc+ikzILnKBsZz7t9+CFdSJjKbLI
git-codecommit.us-gov-west-1.amazonaws.com MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69
git-codecommit.us-gov-west-1.amazonaws.com SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4
git-codecommit.us-gov-east-1.amazonaws.com MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2
git-codecommit.us-gov-east-1.amazonaws.com SHA256 fVb+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98
git-codecommit.eu-north-1.amazonaws.com MD5 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4
git-codecommit.eu-north-1.amazonaws.com SHA256 b6KSK7xKq+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ
git-codecommit.me-south-1.amazonaws.com MD5 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7
git-codecommit.me-south-1.amazonaws.com SHA256 O+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/c9wc0JU
git-codecommit.ap-east-1.amazonaws.com MD5 a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe
git-codecommit.ap-east-1.amazonaws.com SHA256 LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0
git-codecommit.cn-north-1.amazonaws.com.cn MD5 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3
git-codecommit.cn-north-1.amazonaws.com.cn SHA256 IYUXxH2OpTDsyYMLIp+JY8CTLS4UX+ZC5JVZXPRaxc8
git-codecommit.cn-northwest-1.amazonaws.com.cn MD5 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6
git-codecommit.cn-northwest-1.amazonaws.com.cn SHA256 wqjd6eHd0+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ
git-codecommit.eu-south-1.amazonaws.com MD5 b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11
git-codecommit.eu-south-1.amazonaws.com SHA256 lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI
git-codecommit.ap-northeast-3.amazonaws.com MD5 25:17:40:da:b9:d4:18:c3:b6:b3:fb:ed:1c:20:fe:29
git-codecommit.ap-northeast-3.amazonaws.com SHA256 2B815B9F0AvwLnRxSVxUz4kDYmtEQUGGdQYP8OQLXhA
git-codecommit.af-south-1.amazonaws.com MD5 21:a0:ba:d7:c1:d1:b5:39:98:8d:4d:7c:96:f5:ca:29
git-codecommit.af-south-1.amazonaws.com SHA256 C34ji3x/cnsDZjUpyNGXdE5pjHYimqJrQZ3leTgqJHM
git-codecommit.il-central-1.amazonaws.com MD5 04:74:89:16:98:7a:61:b1:69:46:42:3c:d1:b4:ac:a9
git-codecommit.il-central-1.amazonaws.com SHA256 uFxhp51kUWhleTLeYbxQVYm4RnNLNZ5Dbdm1cgdSl/8

IAM エラー: 「無効な形式」(IAM へのパブリックキーの追加時)

問題: IAM において、CodeCommit で SSH を使用するようにセットアップを試みると、パブリックキー追加時にエラーメッセージ Invalid format が表示される。

解決方法: IAM では、パブリックキーを ssh-rsa 形式または PEM 形式でエンコードする必要があります。OpenSSH 形式のパブリックキーのみを受け入れ、さらに「IAM ユーザーガイド」の「CodeCommit で SSH キーを使用する」で説明されている追加の要件があります。別の形式でパブリックキーを指定した場合やキーが必要なビット数ではない場合にこのエラーが表示されます。

IAM における SSH キーの要件の詳細については、IAM ユーザーガイドCodeCommit で SSH キーを使用するを参照してください。

SSH 認証情報を使用して複数の Amazon Web Services アカウントの CodeCommit リポジトリにアクセスする必要がある

問題: 複数のアマゾン ウェブ サービスアカウントで CodeCommit リポジトリへの SSH アクセスを設定する必要がある。

解決方法: アマゾン ウェブ サービスアカウントごとに一意の SSH パブリック/プライベートキーペアを作成し、各キーを使用して IAM を設定できます。次に、パブリックキーに関連付けられた各 IAM ユーザー ID に関する情報を使用して ~/.ssh/config ファイルを設定できます。例:

Host codecommit-1 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 1 (for example, APKAEIBAERJR2EXAMPLE1). IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa. We advise creating CodeCommit specific _rsa files. Host codecommit-2 Hostname git-codecommit.us-east-1.amazonaws.com User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 2 (for example, APKAEIBAERJR2EXAMPLE2). IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file. We advise creating CodeCommit specific _rsa files.

この設定では、'git-codecmit.us-east-1.amazonaws.com' を 'codecmit-2' に置き換えることができます。例えば、2 番目の Amazon Web Services アカウントにリポジトリを複製するには、次のようにします。

git clone ssh://codecommit-2/v1/repos/YourRepositoryName

リポジトリのリモートを設定するには、git remote add を実行します。例:

git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName

その他の例については、こちらのフォーラムの投稿GitHub でのこちらの投稿を参照してください。

Windows 上の Git: SSH を使用して接続を試みると、Bash エミュレーターまたはコマンドラインはフリーズします。

問題: Windows で SSH アクセスを設定し、コマンドラインやターミナルで接続できることを確認した後で、コマンドプロンプトまたは Bash エミュレーターで git pullgit pushgit clone などのコマンドを使用すると、サーバーのホストキーがレジストリにキャッシュされていないことを示すメッセージが表示されたり、キーをキャッシュに保存するための入力画面がフリーズしたりする (y/n/ の戻り値入力が受け付けられない)。

解決方法: このエラーの最も一般的な原因は、お使いの Git 環境が OpenSSH 以外 (おそらく PuTTY) を使用して認証するように設定されていることです。設定によっては、キーのキャッシングに関する問題が発生することで知られています。この問題を解決するには、以下のいずれかをお試しください。

  • Bash エミュレーターを開き、GIT_SSH_COMMAND="ssh" パラメータを追加してから、Git コマンドを使用します。たとえば、リポジトリにプッシュする場合は、git push ではなく、次のように入力します。

    GIT_SSH_COMMAND="ssh" git push
  • PuTTY がインストールされている場合は、PuTTY を開き、[Host Name (or IP address)] (ホスト名 (または IP アドレス)) で、到達する CodeCommit エンドポイント (例えば、git-codecommit.us-east-2.amazonaws.com) を入力します。[Open] を選択します。PuTTY セキュリティ警告によりプロンプトが表示されたら、[はい] を選択して、完全にキーをキャッシュします。

  • 今後使用しない GIT_SSH 環境変数の名前を変更するか、削除します。次に、新しいコマンドプロンプト、または Bash エミュレーターセッションを開き、コマンドを再度実行してみてください。

その他のソリューションについては、スタックのオーバーフローの「キャッシュの保存キーでの Git のクローン/プルのフリーズ」を参照してください。

パブリックキー形式は、Linux の一部のディストリビューションにおいて指定する必要があります。

問題: パブリックキーとプライベートキーのペアを構成しようとすると、エラーが発生する。

解決方法: Linux の一部のディストリビューションでは、~/.ssh/config ファイルで、受け入れられるパブリックキーの種類を指定する追加の設定を行う必要があります。詳細については、PubkeyAcceptedKeyTypes に関するディストリビューションのドキュメントを参照してください。

アクセスエラー: CodeCommit リポジトリへの接続時に SSH パブリックキーが拒否される

問題: SSH エンドポイントを使用して、CodeCommit リポジトリと接続しようとすると、エラーメッセージ Error: public key denied が表示される。

解決方法: このエラーの最も一般的な原因は、SSH 接続のセットアップを完了していないことです。SSH キー (パブリックキーとプライベートのペア) を設定し、続いて、そのパブリックキーを IAM ユーザーと関連付けます。SSH の設定に関する詳細については、「Linux、macOS、または Unix での SSH 接続の場合」および「Windows で SSH 接続をセットアップする手順」を参照してください。