Fehlerbehebung bei SSH-Verbindungen zuAWS CodeCommit - AWS CodeCommit

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei SSH-Verbindungen zuAWS CodeCommit

Die folgenden Informationen können Ihnen dabei helfen, häufige Probleme bei der Verwendung von SSH zur Verbindung mit CodeCommit-Repositorys zu beheben.

Zugriffsfehler: Der öffentliche Schlüssel wurde erfolgreich in IAM hochgeladen, aber die Verbindung schlägt auf Linux-, macOS- oder Unix-Systemen fehl

Problem:Wenn Sie versuchen, eine Verbindung zu einem SSH-Endpunkt herzustellen, um mit einem zu kommunizierenCodeCommitRepository, entweder beim Testen der Verbindung oder beim Klonen eines Repositorys schlägt die Verbindung fehl oder wird abgelehnt.

Mögliche Korrekturen:Die SSH-Schlüssel-ID, die Ihrem öffentlichen Schlüssel in IAM zugewiesen wurde, ist möglicherweise nicht mit Ihrem Verbindungsversuch verknüpft. Möglicherweise haben Sie keine Konfigurationsdatei konfiguriert, Sie haben möglicherweise keinen Zugriff auf die Konfigurationsdatei, eine andere Einstellung verhindert möglicherweise ein erfolgreiches Lesen der Konfigurationsdatei, Sie haben möglicherweise die falsche Schlüssel-ID angegeben, oder Sie haben anstelle der Schlüssel-ID die ID des IAM-Benutzers angegeben.

Die SSH-Schlüssel-ID finden Sie in der IAM-Konsole im Profil Ihres IAM-Benutzers:


                Die SSH-Schlüssel-ID in der IAM-Konsole
Anmerkung

Wenn Sie mehr als eine SSH-Schlüssel-IDs hochgeladen haben, werden die Schlüssel alphabetisch nach Schlüssel-ID und nicht nach dem Datum des Hochladens aufgeführt. Stellen Sie sicher, dass Sie die Schlüssel-ID kopiert haben, die dem richtigen Upload-Datum zugeordnet ist.

Testen Sie versuchsweise die Verbindung mit dem folgenden Befehl:

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

Wenn nach der Bestätigung der Verbindung eine Erfolgsmeldung angezeigt wird, ist Ihre SSH-Schlüssel-ID gültig. Bearbeiten Sie Ihre Konfigurationsdatei, um Ihre Verbindungsversuche mit Ihrem öffentlichen Schlüssel in IAM zu verknüpfen. Wenn Sie die Config-Datei nicht bearbeiten möchten, können Sie allen Verbindungsversuchen mit Ihrem Repository Ihre SSH-Schlüssel-ID voranstellen. Zum Beispiel, wenn Sie ein Repository mit dem Namen klonen möchtenMyDemoRepoOhne Ihre Konfigurationsdatei so zu ändern, dass sie Ihre Verbindungsversuche verknüpft, würden Sie den folgenden Befehl ausführen:

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

Weitere Informationen finden Sie unter Für SSH-Verbindungen unter Linux, macOS oder Unix.

Zugriffsfehler: Der öffentliche Schlüssel wurde erfolgreich in IAM hochgeladen und SSH wurde erfolgreich getestet, aber die Verbindung schlägt auf Windows-Systemen fehl

Problem:Wenn Sie versuchen, einen SSH-Endpunkt zum Klonen oder Kommunizieren mit einem zu verwendenCodeCommitRepository, es erscheint eine Fehlermeldung mit dem folgenden SatzNo supported authentication methods available.

Mögliche Lösungen: Die häufigste Ursache für diesen Fehler ist das Vorhandensein einer Windows-Systemumgebungsvariablen, die Windows anweist, ein anderes Programm zu verwenden, wenn Sie SSH zu verwenden versuchen. Möglicherweise verweist auf Ihrem System z. B. die Variable GIT_SSH auf eines der PuTTY-Tools (plink.exe). Dabei kann es sich um eine veraltete Konfiguration handeln oder aber auch um eine notwendige Einstellung für ein oder mehrere Programme auf Ihrem Computer. Wenn Sie sicher sind, dass diese Umgebungsvariable nicht benötigt wird, können Sie sie entfernen. Öffnen Sie dazu die Systemeigenschaften.

Um dieses Problem zu umgehen, öffnen Sie einen Bash-Emulator und versuchen Sie erneut, die SSH-Verbindung herzustellen. Geben Sie dabei jedoch GIT_SSH_COMMAND="SSH" als Präfix an. Beispiel zum Klonen eines Repositorys mit SSH:

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

Ein ähnliches Problem kann auftreten, wenn bei Ihrer Windows-Version bei Verbindungen mithilfe von SSH über die Windows-Befehlszeile die SSH-Schlüssel-ID als Teil der Verbindungszeichenfolge angegeben werden muss. Versuchen Sie erneut, Ihre Verbindung herzustellen, diesmal mit der SSH-Schlüssel-ID, die als Teil des Befehls aus IAM kopiert wurde. Beispiele:

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

Authentifizierungsproblem: Bei der Verbindung mit einem CodeCommit-Repository kann die Authentizität des Hosts nicht festgestellt werden

Problem:Wenn Sie versuchen, einen SSH-Endpunkt für die Kommunikation mit einem zu verwendenCodeCommitRepository wird eine Warnmeldung mit dem folgenden Satz angezeigtThe authenticity of host 'host-name' can't be established.

Mögliche Lösungen: Ihre Anmeldeinformationen sind möglicherweise nicht richtig eingerichtet. Befolgen Sie die Anweisungen unter Für SSH-Verbindungen unter Linux, macOS oder Unix oder Für SSH-Verbindungen unter Windows.

Wenn Sie diese Schritte befolgt haben und das Problem weiterhin besteht, versucht möglicherweise jemandman-in-the-middleAngriff. Wenn die folgende Meldung angezeigt wird, geben Sie no ein und drücken Sie die Eingabetaste:

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

Stellen Sie sicher, dass der Fingerprint und der öffentliche Schlüssel für CodeCommit-Verbindungen mit denen übereinstimmen, die in den SSH-Einrichtungsthemen dokumentiert sind, bevor Sie mit dem Verbindungsaufbau fortfahren.

Öffentliche Fingerabdrücke fürCodeCommit
Server Kryptografischer Hash-Typ Fingerabdruck
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-Code-Commit.us-gov-west-1.amazonaws.com MD5 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69
Git-Code-Commit.us-gov-west-1.amazonaws.com SHA256 djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4
Git-Code-Commit.us-gov-east-1.amazonaws.com MD5 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2
Git-Code-Commit.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-Fehler: „Ungültiges Format“ beim Versuch, IAM einen öffentlichen Schlüssel hinzuzufügen

Problem:In IAM, wenn Sie versuchen, die Verwendung von SSH einzurichten mitCodeCommitwird eine Fehlermeldung mit dem folgenden Satz angezeigtInvalid formatwenn Sie versuchen, Ihren öffentlichen Schlüssel hinzuzufügen.

Mögliche Korrekturen:IAM erfordert, dass der öffentliche Schlüssel im ssh-rsa-Format oder PEM-Format codiert sein muss. Es akzeptiert nur öffentliche Schlüssel im OpenSSH-Format und hat zusätzliche Anforderungen, wie unter beschriebenVerwenden Sie SSH-Schlüssel mitCodeCommitin derIAM-Benutzerhandbuch. Wenn Sie den öffentlichen Schlüssel in einem anderen Format bereitstellen oder wenn der Schlüssel nicht die erforderliche Bitzahl enthält, wird diese Fehlermeldung angezeigt.

  • Beim Kopieren der öffentlichen SSH-Schlüssel wurden durch Ihr Betriebssystem möglicherweise Zeilenumbrüche eingeführt. Stellen Sie sicher, dass der öffentliche Schlüssel, den Sie zu IAM hinzufügen, keine Zeilenumbrüche enthält.

  • Einige Windows-Betriebssysteme verwenden das OpenSSH-Format nicht. Informationen zum Generieren eines Schlüsselpaars und zum Kopieren des von IAM benötigten OpenSSH-Formats finden Sie unterSchritt 3: Richten Sie die öffentlichen und privaten Schlüssel für Git und CodeCommit ein.

Weitere Informationen zu den Anforderungen für SSH-Schlüssel in IAM finden Sie unterVerwenden Sie SSH-Schlüssel mitCodeCommitin derIAM-Benutzerhandbuch.

Ich muss darauf zugreifenCodeCommitRepositorys in mehreren Amazon Web Services-Konten mit SSH-Anmeldeinformationen

Problem:Ich möchte den SSH-Zugang einrichten fürCodeCommitRepositorys in mehr als einem Amazon Web Services-Konto.

Mögliche Korrekturen:Sie können eindeutige öffentliche/private SSH-Schlüsselpaare für jedes Amazon Web Services-Konto erstellen und IAM mit jedem Schlüssel konfigurieren. Anschließend können Sie Ihre Datei ~/.ssh/config mit Informationen zu jeder IAM-Benutzer-ID konfigurieren, die dem öffentlichen Schlüssel zugeordnet ist. Beispiele:

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.

In dieser Konfiguration können Sie 'git-codecommit.us-east-1.amazonaws.com' durch 'codecommit-2' ersetzen. Um beispielsweise ein Repository in Ihrem zweiten Amazon Web Services-Konto zu klonen:

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

Um ein Remote für Ihr Repository einzurichten, führen Sie folgenden Befehl ausgit remote add. Beispiele:

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

Weitere Beispiele finden Sie unterdieser Forumsbeitragunddieser Beitrag amGitHub.

Git unter Windows: Bash-Emulator oder Befehlszeilenfenster stürzt bei Verbindungsversuchen mit SSH ab

Problem: Nachdem Sie SSH-Zugriff für Windows konfiguriert und Konnektivität im Befehlszeilen- oder Terminalfenster überprüft haben, wird eine Meldung angezeigt, dass der Host-Schlüssel des Servers nicht in der Registry zwischengespeichert wurde. Außerdem reagiert die Eingabeaufforderung zum Speichern des Schlüssels im Cache nicht (y/n/Eingabetaste wird nicht akzeptiert), wenn Sie versuchen, Befehle wie zum Beispiel git pull, git push oder git clone an der Eingabeauffoderung oder im Bash-Emulator zu verwenden.

Mögliche Lösungen: Die häufigste Ursache für diesen Fehler ist, dass Ihre Git-Umgebung zur Verwendung einer anderen Authentifizierungsmethode als OpenSSH konfiguriert ist (möglicherweise PuTTY). Es ist bekannt, dass dies in einigen Konfigurationen Probleme mit der Zwischenspeicherung von Schlüsseln verursachen kann. Um dieses Problem zu beheben, versuchen Sie es mit einer der folgenden Methoden:

  • Öffnen Sie einen Bash-Emulator und fügen Sie den Parameter GIT_SSH_COMMAND="ssh" vor dem Git-Befehl hinzu. Wenn Sie zum Beispiel versuchen, ein Repository per Push zu überragen, geben Sie anstelle von git push den folgenden Befehl ein:

    GIT_SSH_COMMAND="ssh" git push
  • Wenn Sie PuTTY installiert haben, öffnen Sie PuTTY und inHostname (oder IP-Adresse), geben Sie denCodeCommitEndpunkt, den Sie erreichen möchten (z. B. git-codecommit.us-east-2.amazonaws.com). Klicken Sie auf Open. Wenn Sie eine Eingabeaufforderung von PuTTY Security Alert erhalten, wählen Sie Yes (Ja), um den Schlüssel dauerhaft zwischenzuspeichern.

  • Löschen Sie die Umgebungsvariable GIT_SSH oder benennen Sie sie um, wenn Sie sie nicht mehr verwenden. Öffnen Sie anschließend ein neues Befehlszeilenfenster oder eine neue Bash-Emulator-Sitzung und versuchen Sie erneut, den Befehl einzugeben.

Weitere Lösungen finden Sie unter Git clone/pull continually freezing at Store key in cache auf Stack Overflow.

Das Public-Key-Format erfordert in einigen Linux-Distributionen eine Spezifikation

Problem:Wenn Sie versuchen, ein öffentlich-privates Schlüsselpaar zu konfigurieren, erhalten Sie eine Fehlermeldung.

Mögliche Korrekturen:Einige Linux-Distributionen erfordern eine zusätzliche Konfigurationszeile im~/.ssh/configDatei, die die akzeptierten Typen von öffentlichen Schlüsseln spezifiziert. Weitere Informationen finden Sie in der Dokumentation zu Ihrer Distribution überPubkeyAcceptedKeyTypes.

Zugriffsfehler: Der öffentliche SSH-Schlüssel wurde verweigert, wenn eine Verbindung zu einem hergestellt wurdeCodeCommitEndlager

Problem:Wenn Sie versuchen, einen SSH-Endpunkt für die Kommunikation mit einem zu verwendenCodeCommitRepository, es erscheint eine Fehlermeldung mit dem folgenden SatzError: public key denied.

Mögliche Fehlerbehebungen: Der häufigste Grund für diesen Fehler ist, dass Sie die Einrichtung für die SSH-Verbindungen nicht abgeschlossen haben. Konfigurieren Sie ein öffentliches und ein privates SSH-Schlüsselpaar und ordnen Sie den öffentlichen Schlüssel dann Ihrem IAM-Benutzer zu. Weitere Informationen zur Konfiguration von SSH finden Sie unter Für SSH-Verbindungen unter Linux, macOS oder Unix und Für SSH-Verbindungen unter Windows.