Pemecahan masalah koneksi SSH ke AWS CodeCommit - AWS CodeCommit

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemecahan masalah koneksi SSH ke AWS CodeCommit

Informasi berikut dapat membantu Anda memecahkan masalah umum saat menggunakan SSH untuk terhubungCodeCommitrepositori.

Kesalahan akses: Kunci publik berhasil diunggah ke IAM namun koneksi gagal pada sistem Linux, macOS, atau Unix

Masalah:Ketika Anda mencoba untuk terhubung ke endpoint SSH untuk berkomunikasi denganCodeCommitrepositori, baik saat menguji koneksi atau mengkloning repositori, koneksi gagal atau ditolak.

Perbaikan yang dimungkinkan: ID kunci SSH yang ditetapkan ke kunci publik Anda di IAM mungkin tidak terkait dengan upaya koneksi Anda. Anda mungkin belum mengonfigurasi file konfigurasi, Anda mungkin tidak memiliki akses ke file konfigurasi, pengaturan lain mungkin mencegah keberhasilan membaca file konfigurasi, Anda mungkin telah memberikan ID kunci yang salah, atau Anda mungkin telah memberikan ID dari pengguna IAM bukan ID kunci.

ID kunci SSH dapat ditemukan di konsol IAM di profil untuk pengguna IAM Anda:

ID Kunci SSH di konsol IAM
catatan

Jika Anda memiliki lebih dari satu ID kunci SSH yang diunggah, kunci tercantum menurut abjad berdasarkan ID kunci, bukan tanggal pengunggahan. Pastikan bahwa Anda telah menyalin ID kunci yang terkait dengan tanggal pengunggahan yang benar.

Coba uji koneksi dengan perintah berikut:

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

Jika Anda melihat pesan sukses setelah mengonfirmasi koneksi, ID kunci SSH Anda valid. Edit file konfigurasi Anda untuk mengaitkan upaya koneksi Anda dengan kunci publik Anda di IAM. Jika Anda tidak ingin mengedit file konfigurasi Anda, Anda dapat mendahulukan semua upaya koneksi ke repositori Anda dengan ID kunci SSH Anda. Misalnya, jika Anda ingin mengkloning repositori bernamaMyDemoRepotanpa memodifikasi file konfigurasi Anda untuk mengaitkan upaya koneksi Anda, Anda akan menjalankan perintah berikut:

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

Untuk informasi selengkapnya, lihat Untuk koneksi SSH di Linux, macOS, atau Unix.

Kesalahan akses: Kunci publik berhasil diunggah ke IAM dan SSH berhasil diuji tetapi koneksi gagal pada sistem Windows

Masalah:Ketika Anda mencoba menggunakan endpoint SSH untuk mengkloning atau berkomunikasi denganCodeCommitrepositori, pesan kesalahan muncul yang berisi frasaNo supported authentication methods available.

Perbaikan yang dimungkinkan: Alasan paling umum untuk kesalahan ini adalah bahwa Anda memiliki pengaturan variabel lingkungan sistem Windows yang mengarahkan Windows untuk menggunakan program lain ketika Anda mencoba untuk menggunakan SSH. Misalnya, Anda mungkin telah menetapkan variabel GIT_SSH untuk menunjuk ke salah satu set PuTTY alat (plink.exe). Ini mungkin konfigurasi lama, atau mungkin diperlukan untuk satu atau lebih program lain yang diinstal pada komputer Anda. Jika Anda yakin bahwa variabel lingkungan ini tidak diperlukan, Anda dapat menghapusnya dengan membuka properti sistem Anda.

Untuk mengatasi masalah ini, buka Bash emulator dan kemudian mencoba koneksi SSH Anda lagi, tetapi termasuk GIT_SSH_COMMAND="SSH" sebagai awalan. Misalnya, untuk mengkloning suatu repositori menggunakan SSH:

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

Masalah serupa mungkin terjadi jika versi Windows mengharuskan Anda menyertakan ID kunci SSH sebagai bagian dari rangkaian sambungan saat menghubungkan melalui SSH pada baris perintah Windows. Coba koneksi Anda lagi, kali ini termasuk ID kunci SSH disalin dari IAM sebagai bagian dari perintah. Misalnya:

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

Tantangan otentikasi: Keaslian host tidak dapat dibuat saat menghubungkan keCodeCommitrepositori

Masalah:Ketika Anda mencoba menggunakan endpoint SSH untuk berkomunikasi denganCodeCommitrepositori, pesan peringatan muncul berisi frasaThe authenticity of host 'host-name' can't be established.

Perbaikan yang dimungkinkan: Kredensial Anda mungkin tidak diatur dengan benar. Ikuti instruksi di Untuk koneksi SSH di Linux, macOS, atau Unix atau Untuk koneksi SSH pada Windows.

Jika Anda telah mengikuti langkah-langkah itu dan masalah tetap ada, seseorang mungkin mencobaman-in-the-middlemenyerang. Ketika Anda melihat pesan berikut, ketik no, dan tekan Enter.

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

Pastikan sidik jari dan kunci publik untukCodeCommitkoneksi cocok dengan yang didokumentasikan dalam topik penyiapan SSH sebelum Anda melanjutkan koneksi.

Sidik jari publik untukCodeCommit
Server Tipe hash kriptografi Sidik jari
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

Galat IAM: 'Format tidak valid' ketika mencoba untuk menambahkan kunci publik ke IAM

Masalah:Di IAM, saat mencoba mengatur untuk menggunakan SSH denganCodeCommit, pesan kesalahan muncul yang berisi frasaInvalid formatketika Anda mencoba untuk menambahkan kunci publik Anda.

Kemungkinan perbaikan:IAM mensyaratkan bahwa kunci publik harus dikodekan dalam format ssh-rsa atau format PEM. Ini menerima kunci publik dalam format OpenSSH saja dan memiliki persyaratan tambahan seperti yang ditentukan dalamGunakan SSH Keys denganCodeCommitdiPanduan Pengguna IAM. Jika Anda memberikan kunci publik Anda dalam format lain, atau jika kunci tidak berisi jumlah bit yang diperlukan, Anda akan melihat kesalahan ini.

  • Ketika Anda menyalin kunci publik SSH, sistem operasi Anda mungkin telah memperkenalkan jeda baris. Pastikan bahwa tidak ada jeda baris dalam kunci publik yang Anda tambahkan ke IAM.

  • Beberapa sistem operasi Windows tidak menggunakan format OpenSSH. Untuk menghasilkan pasangan kunci dan menyalin format OpenSSH yang dibutuhkan oleh IAM, lihat Langkah 3: Siapkan kunci publik dan privat untuk Git dan CodeCommit.

Untuk informasi selengkapnya tentang persyaratan kunci SSH di IAM, lihatGunakan SSH Keys denganCodeCommitdiPanduan Pengguna IAM.

Saya perlu mengaksesCodeCommitrepositori di beberapa akun Amazon Web Services dengan kredensi SSH

Masalah:Saya ingin mengatur akses SSH keCodeCommitrepositori di lebih dari satu akun Amazon Web Services.

Perbaikan yang dimungkinkan: Anda dapat membuat pasangan kunci publik/privat SSH unik untuk setiap akun Amazon Web Services dan mengkonfigurasi IAM dengan setiap tombol. Anda kemudian dapat mengkonfigurasi file ~/.ssh/config Anda dengan informasi tentang setiap ID Pengguna IAM yang terkait dengan kunci publik. Misalnya:

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.

Dalam konfigurasi ini, Anda akan dapat mengganti 'git-codecommit.us-east-1.amazonaws.com' dengan 'codecommit-2'. Misalnya, untuk mengkloning repositori di akun Amazon Web Services kedua Anda:

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

Untuk mengatur remote untuk repositori Anda, jalankan git remote add. Misalnya:

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

Untuk contoh lainnya, lihatposting forum inidankontribusi ini padaGitHub.

Git pada Windows: Bash emulator atau baris perintah membeku ketika mencoba untuk terhubung menggunakan SSH

Masalah: Setelah Anda mengkonfigurasi akses SSH untuk Windows dan mengkonfirmasi konektivitas pada baris perintah atau terminal, Anda melihat pesan bahwa server host kunci tidak disimpan dalam registri, dan prompt untuk menyimpan kunci dalam cache beku (tidak menerima y/n/return input) ketika Anda mencoba untuk menggunakan perintah seperti git pull, git push, atau git clone pada prompt perintah atau Bash emulator.

Perbaikan yang dimungkinkan: Penyebab paling umum untuk kesalahan ini adalah bahwa lingkungan Git Anda dikonfigurasi untuk menggunakan sesuatu selain OpenSSH untuk autentikasi (mungkin PuTTY). Hal ini diketahui menyebabkan masalah dengan cache kunci dalam beberapa konfigurasi. Untuk memperbaiki masalah ini, cobalah lakukan salah satu hal berikut:

  • Buka emulator Bash dan tambahkan parameter GIT_SSH_COMMAND="ssh" sebelum perintah Git. Sebagai contoh, jika Anda mencoba untuk mengirim ke repositori, jangan mengetik git push, tetapi ketik:

    GIT_SSH_COMMAND="ssh" git push
  • Jika Anda telah menginstal PuTTY, buka PuTTY, dan diNama Host (atau alamat IP), masukkanCodeCommittitik akhir yang ingin Anda jangkau (misalnya, git-codecommit.us-east-2.amazonaws.com). Pilih Buka . Saat diminta oleh peringatan keamanan PuTTY, pilih Ya untuk menyimpan kunci secara permanen.

  • Ubah nama atau hapus variabel lingkungan GIT_SSH jika Anda tidak lagi menggunakannya. Kemudian buka command prompt baru atau sesi emulator Bash, dan coba jalankan perintah Anda lagi.

Untuk solusi lainnya, lihat Git clone/pull terus membeku di kunci Penyimpanan dalam cache pada Stack Overflow.

Format kunci publik membutuhkan spesifikasi dalam beberapa distribusi Linux

Masalah: Ketika Anda mencoba mengkonfigurasi pasangan kunci publik-privat, Anda akan menerima kesalahan.

Perbaikan yang dimungkinkan: Beberapa distribusi Linux memerlukan baris konfigurasi tambahan di file ~/.ssh/config yang menentukan jenis kunci publik yang diterima. Untuk informasi lebih lanjut, lihat dokumentasi untuk Anda bagikan tentang PubkeyAcceptedKeyTypes.

Kesalahan akses: Kunci publik SSH ditolak saat menghubungkan keCodeCommitrepositori

Masalah:Ketika Anda mencoba menggunakan endpoint SSH untuk berkomunikasi denganCodeCommitrepositori, pesan kesalahan muncul yang berisi frasaError: public key denied.

Perbaikan yang mungkin dilakukan: Alasan paling umum untuk kesalahan ini adalah bahwa Anda belum menyelesaikan setup untuk koneksi SSH. Mengkonfigurasi pasangan kunci SSH publik dan privat, dan kemudian mengaitkan kunci publik dengan pengguna IAM Anda. Untuk informasi lebih lanjut tentang mengkonfigurasi SSH, lihat Untuk koneksi SSH di Linux, macOS, atau Unix dan Untuk koneksi SSH pada Windows.