Memecahkan masalah saat menghubungkan ke instans Linux - Amazon Elastic Compute Cloud

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

Memecahkan masalah saat menghubungkan ke instans Linux

Informasi berikut dan kesalahan umum dapat membantu Anda memecahkan masalah saat terhubung ke instans Linux Anda.

Penyebab umum masalah koneksi

Sebaiknya Anda mulai memecahkan masalah koneksi instans dengan memverifikasi bahwa Anda telah melakukan tugas-tugas berikut secara akurat.

Verifikasi nama pengguna untuk instans Anda

Anda dapat terhubung ke instans menggunakan nama pengguna untuk akun pengguna Anda atau nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instans Anda.

  • Dapatkan nama pengguna untuk akun pengguna Anda.

    Untuk informasi selengkapnya tentang cara membuat akun pengguna, lihat Mengelola pengguna sistem pada instans Linux Anda.

  • Dapatkan nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instans Anda:

    AMI digunakan untuk meluncurkan instans Nama pengguna default

    AL2023

    Amazon Linux 2

    Amazon Linux

    ec2-user
    CentOS centos atau ec2-user
    Debian admin
    Fedora fedora atau ec2-user
    RHEL ec2-user atau root
    SEGAR ec2-user atau root
    Ubuntu ubuntu
    Oracle ec2-user
    Bitnami bitnami
    Linux Rocky rocky
    Lainnya Periksa dengan penyedia AMI
Verifikasi bahwa aturan grup keamanan mengizinkan lalu lintas

Pastikan grup keamanan yang terkait dengan instans Anda mengizinkan lalu lintas SSH masuk dari alamat IP Anda. Grup keamanan default untuk VPC tidak mengizinkan lalu lintas SSH masuk secara default. Grup keamanan yang dibuat oleh wizard peluncuran instans mengaktifkan lalu lintas SSH secara default. Untuk langkah-langkah guna menambahkan aturan lalu lintas SSH masuk ke instans Linux Anda, lihat. Aturan-aturan untuk terhubung ke instans dari komputer Anda Untuk langkah-langkah verifikasi, lihat Kesalahan saat menghubungkan instans Anda: Waktu koneksi habis.

Verifikasi bahwa instans Anda sudah siap

Setelah Anda meluncurkan instans, perlu beberapa menit sampai instans tersebut siap, sehingga Anda dapat terhubung dengannya. Periksa instans Anda untuk memastikan ia berfungsi dan telah melewati pemeriksaan status.

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.

  3. Verifikasi hal berikut:

    1. Di kolom Status instans, verifikasi bahwa instans Anda berada dalam status running.

    2. Di kolom Pemeriksaan status, verifikasi bahwa instans Anda telah lulus dua pemeriksaan status.

Verifikasi bahwa Anda telah memenuhi semua prasyarat untuk terhubung

Pastikan Anda memiliki semua informasi yang dibutuhkan untuk terhubung. Untuk informasi selengkapnya, lihat Hubungkan ke instans Linux Anda.

Untuk prasyarat khusus tipe koneksi, seperti SSH, EC2 Instance Connect, OpenSSH, PuTTY, dan lainnya, lihat opsi berikut.

Linux atau macOS X

Jika sistem operasi komputer lokal Anda adalah Linux atau macOS X, periksa prasyarat khusus untuk opsi koneksi berikut:

Windows

Jika sistem operasi komputer lokal Anda adalah Windows, periksa prasyarat khusus untuk opsi koneksi berikut:

Kesalahan saat menghubungkan instans Anda: Waktu koneksi habis

Jika Anda mencoba terhubung ke instans Anda dan mendapatkan pesan kesalahan Network error: Connection timed out atauError connecting to [instance], reason: -> Connection timed out: connect, coba yang berikut ini:

Periksa aturan grup keamanan Anda.

Anda memerlukan aturan grup keamanan yang mengizinkan lalu lintas masuk dari alamat IPv4 publik di port yang sesuai.

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.

  3. Pada tab Keamanan di bagian bawah halaman konsol, di bawah Aturan Masuk, periksa daftar aturan yang memengaruhi instans terpilih.

    • Untuk instans Linux: Verifikasi bahwa ada aturan yang mengizinkan lalu lintas dari komputer lokal Anda ke port 22 (SSH).

    • Untuk instans Windows: Verifikasi bahwa ada aturan yang mengizinkan lalu lintas dari komputer lokal Anda ke port 3389 (RDP).

    Jika grup keamanan Anda tidak memiliki aturan yang mengizinkan lalu lintas masuk dari komputer lokal Anda, tambahkan aturan ke grup keamanan Anda. Untuk informasi selengkapnya, lihat Aturan-aturan untuk terhubung ke instans dari komputer Anda.

  4. Untuk aturan yang memungkinkan lalu lintas masuk, periksa bidang Sumber. Jika nilainya adalah alamat IP tunggal, dan jika alamat IP tidak statis, alamat IP baru akan ditetapkan setiap kali Anda memulai ulang komputer Anda. Ini akan mengakibatkan aturan tidak menyertakan lalu lintas alamat IP komputer Anda. Alamat IP mungkin tidak statis jika komputer Anda berada di jaringan perusahaan, atau Anda terhubung melalui penyedia layanan internet (ISP), atau alamat IP komputer Anda dinamis dan berubah setiap kali Anda memulai ulang komputer Anda. Untuk memastikan bahwa aturan grup keamanan Anda mengizinkan lalu lintas masuk dari komputer lokal Anda, alih-alih menentukan satu alamat IP untuk Sumber, lebih baik tentukan rentang alamat IP yang digunakan oleh komputer klien Anda.

    Untuk informasi selengkapnya tentang aturan grup keamanan, lihat Aturan grup keamanan di Panduan Pengguna Amazon VPC.

Periksa tabel rute untuk subnet.

Anda memerlukan rute yang mengirimkan semua lalu lintas yang ditujukan di luar VPC ke gateway internet untuk VPC.

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.

  3. Pada tab Jaringan, catat nilai untuk ID VPC dan ID subnet.

  4. Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.

  5. Di panel navigasi, pilih Gateway Internet. Verifikasi bahwa ada gateway internet yang dilampirkan ke VPC Anda. Jika tidak ada, pilih Buat gateway internet, masukkan nama untuk gateway internet, dan pilih Buat gateway internet. Kemudian, untuk gateway internet yang Anda buat, pilih Tindakan, Lampirkan ke VPC, pilih VPC Anda, lalu pilih Lampirkan gateway internet untuk melampirkannya ke VPC anda.

  6. Di panel navigasi, pilih Subnet, lalu pilih subnet Anda.

  7. Di tab Tabel Rute, verifikasi bahwa ada rute dengan 0.0.0.0/0 sebagai tujuan dan gateway internet untuk VPC Anda sebagai target. Jika Anda terhubung ke instans Anda menggunakan alamat IPv6, pastikan ada rute untuk semua lalu lintas IPv6 (::/0) yang mengarah ke gateway internet. Jika tidak, lakukan tindakan berikut:

    1. Pilih ID tabel rute (rtb-xxxxxxxx) untuk menavigasi ke tabel rute.

    2. Di tab Rute, pilih Edit rute. Pilih Tambahkan rute, gunakan 0.0.0.0/0 sebagai tujuan, dan gateway internet sebagai target. Untuk IPv6, pilih Tambahkan rute, gunakan ::/0 sebagai tujuan, dan gateway internet sebagai target.

    3. Pilih Simpan rute.

Periksa jaringan daftar kontrol akses (ACL) untuk subnet.

ACL jaringan harus mengizinkan lalu lintas masuk dari alamat IP lokal Anda di port 22 (untuk instans Linux) atau port 3389 (untuk instans Windows). Hal ini juga mengizinkan lalu lintas keluar ke port sementara (1024-65535).

  1. Buka konsol Amazon VPC di https://console.aws.amazon.com/vpc/.

  2. Di panel navigasi, pilih Pengguna.

  3. Pilih subnet Anda.

  4. Pada tab ACL Jaringan, untuk Aturan masuk, verifikasi bahwa aturan mengizinkan lalu lintas masuk dari komputer Anda di port yang diperlukan. Jika tidak, hapus atau ubah aturan yang memblokir lalu lintas.

  5. Untuk Aturan keluar, verifikasi bahwa aturan mengizinkan lalu lintas keluar ke komputer Anda pada port sementara. Jika tidak, hapus atau ubah aturan yang memblokir lalu lintas.

Jika komputer Anda berada di jaringan perusahaan

Tanyakan kepada administrator jaringan apakah firewall internal mengizinkan lalu lintas masuk dan keluar dari komputer Anda di port 22 (untuk instans Linux) atau port 3389 (untuk instans Windows).

Jika komputer Anda memiliki firewall, verifikasi bahwa firewall mengizinkan lalu lintas masuk dan keluar dari komputer Anda di port 22 (untuk instans Linux) atau port 3389 (untuk instans Windows).

Periksa apakah instans Anda memiliki alamat IPv4 publik atau tidak.

Jika tidak, Anda dapat mengaitkan alamat IP Elastis dengan instans Anda. Untuk informasi selengkapnya, lihat Alamat IP elastis.

Periksa beban CPU pada instans Anda; server mungkin kelebihan beban.

AWS secara otomatis menyediakan data seperti CloudWatch metrik Amazon dan status instans, yang dapat Anda gunakan untuk melihat berapa banyak beban CPU pada instans Anda dan, jika perlu, menyesuaikan cara penanganan beban Anda. Untuk informasi selengkapnya, lihat Pantau instans Anda menggunakan CloudWatch.

  • Jika beban Anda bervariasi, Anda dapat menaikkan atau menurunkan skala secara otomatis menggunakan Auto Scaling dan Elastic Load Balancing.

  • Jika beban terus bertambah, Anda dapat beralih ke tipe instans yang lebih besar. Untuk informasi selengkapnya, lihat Ubah tipe instans.

Untuk terhubung ke instans Anda menggunakan alamat IPv6, periksa hal berikut ini:

  • Subnet Anda harus terkait dengan tabel rute yang memiliki rute untuk lalu lintas IPv6 (::/0) ke gateway internet.

  • Aturan grup keamanan Anda harus mengizinkan lalu lintas masuk dari alamat IPv6 lokal pada port yang tepat (22 untuk Linux dan 3389 untuk Windows).

  • Aturan ACL jaringan Anda harus mengizinkan lalu lintas IPv6 masuk dan keluar.

  • Jika Anda meluncurkan instans dari versi AMI yang lebih lama, instans mungkin tidak dikonfigurasi untuk DHCPv6 (alamat IPv6 tidak dikenali secara otomatis pada antarmuka jaringan). Untuk informasi selengkapnya, lihat Konfigurasi IPv6 di instans Anda di Panduan Pengguna Amazon VPC.

  • Komputer lokal Anda harus mempunyai alamat IPv6 dan harus dikonfigurasi untuk menggunakan IPv6.

Kesalahan: tidak dapat memuat kunci ... Mengharapkan: KUNCI PRIVAT APA PUN

Jika Anda mencoba untuk terhubung ke instans Anda dan mendapatkan pesan kesalahan, unable to load key ... Expecting: ANY PRIVATE KEY, file tempat kunci privat disimpan tidak dikonfigurasi dengan benar. Jika file kunci privat berakhir dengan .pem, ia mungkin masih dikonfigurasi dengan salah. Kemungkinan penyebab file kunci privat yang tidak dikonfigurasi dengan benar adalah sertifikat yang hilang.

Jika file kunci privat tidak dikonfigurasi dengan benar, ikuti langkah-langkah berikut ini untuk mengatasi kesalahan
  1. Buat pasangan kunci baru. Untuk informasi selengkapnya, lihat Membuat pasangan kunci menggunakan Amazon EC2.

    catatan

    Sebagai gantinya, Anda dapat membuat pasangan kunci baru menggunakan alat pihak ketiga. Untuk informasi selengkapnya, lihat Membuat pasangan kunci menggunakan alat pihak ketiga dan mengimpor kunci publik ke Amazon EC2.

  2. Tambahkan pasangan kunci baru ke instans Anda. Untuk informasi selengkapnya, lihat Saya kehilangan kunci privat. Bagaimana caranya terhubung ke instans Linux saya?.

  3. Hubungkan ke instans Anda menggunakan pasangan kunci baru.

Kesalahan: Kunci pengguna tidak dikenali oleh server

Jika Anda menggunakan SSH untuk terhubung ke instans Anda
  • Gunakan ssh -vvv untuk mendapatkan informasi debug tiga kali lipat saat menghubungkan:

    ssh -vvv -i path/key-pair-name.pem instance-user-name@ec2-203-0-113-25.compute-1.amazonaws.com

    Output contoh berikut menunjukkan hal-hal yang mungkin Anda lihat jika mencoba untuk terhubung ke instans menggunakan kunci yang tidak dikenali oleh server:

    open/ANT/myusername/.ssh/known_hosts). debug2: bits set: 504/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: Roaming not allowed by server debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: boguspem.pem ((nil)) debug1: Authentications that can continue: publickey debug3: start over, passed a different list publickey debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: boguspem.pem debug1: read PEM private key done: type RSA debug3: sign_and_send_pubkey: RSA 9c:4c:bc:0c:d0:5c:c7:92:6c:8e:9b:16:e4:43:d8:b2 debug2: we sent a publickey packet, wait for reply 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).
Jika Anda menggunakan PuTTY untuk terhubung ke instans Anda
  • Verifikasi bahwa file kunci privat (.pem) Anda telah diubah dengan sesuai ke format yang dikenali oleh PuTTY (.ppk). Untuk informasi selengkapnya tentang cara mengubah kunci privat, lihat Hubungkan ke instans Linux Anda dari Windows dengan PuTTY.

    catatan

    Di dalam PuTTYgen, muat file kunci privat Anda dan pilih Simpan Kunci Privat alih-alih Buat.

  • Verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk AMI Anda. Masukkan nama pengguna di Nama host di dalam jendela Konfigurasi PuTTY.

    AMI yang digunakan untuk meluncurkan instans Nama pengguna default

    AL2023

    Amazon Linux 2

    Amazon Linux

    ec2-user
    CentOS centos atau ec2-user
    Debian admin
    Fedora fedora atau ec2-user
    RHEL ec2-user atau root
    SEGAR ec2-user atau root
    Ubuntu ubuntu
    Oracle ec2-user
    Bitnami bitnami
    Linux Rocky rocky
    Lainnya Periksa dengan penyedia AMI
  • Verifikasi bahwa Anda memiliki aturan grup keamanan masuk untuk mengizinkan lalu lintas masuk ke port yang sesuai. Untuk informasi selengkapnya, lihat Aturan-aturan untuk terhubung ke instans dari komputer Anda.

Kesalahan: Izin ditolak atau koneksi ditutup oleh [instans] port 22

Jika Anda terhubung ke instans menggunakan SSH dan mendapatkan salah satu kesalahan berikut, Host key not found in [directory], Permission denied (publickey), Authentication failed, permission denied, atau Connection closed by [instance] port 22, verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk AMI Anda dan bahwa Anda telah menentukan kunci privat dengan benar (file .pem) untuk instans Anda).

Nama pengguna yang sesuai adalah sebagai berikut:

AMI yang digunakan untuk meluncurkan instans Nama pengguna default

AL2023

Amazon Linux 2

Amazon Linux

ec2-user
CentOS centos atau ec2-user
Debian admin
Fedora fedora atau ec2-user
RHEL ec2-user atau root
SEGAR ec2-user atau root
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Linux Rocky rocky
Lainnya Periksa dengan penyedia AMI

Misalnya, untuk menggunakan klien SSH agar terhubung ke instans Amazon Linux, gunakan perintah berikut:

ssh -i /path/key-pair-name.pem instance-user-name@ec2-203-0-113-25.compute-1.amazonaws.com

Konfirmasi bahwa Anda menggunakan file kunci privat yang sesuai dengan pasangan kunci, yang Anda pilih saat meluncurkan instans.

  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, pilih Instans, lalu pilih instans Anda.

  3. Pada tab Detail, di bawah Detail instans, verifikasi nilai Nama pasangan kunci.

  4. Jika Anda tidak menentukan pasangan kunci saat meluncurkan instans, Anda dapat mengakhiri instans dan meluncurkan instans baru, untuk memastikan bahwa Anda telah menentukan pasangan kunci. Jika ini adalah instans yang Anda gunakan tetapi Anda tidak lagi memiliki file .pem untuk pasangan kunci, Anda bisa mengganti pasangan kunci dengan yang baru. Untuk informasi selengkapnya, lihat Saya kehilangan kunci privat. Bagaimana caranya terhubung ke instans Linux saya?.

Jika Anda membuat pasangan kunci sendiri, pastikan bahwa pembuat kunci Anda diatur untuk membuat kunci RSA. Kunci DSA tidak diterima.

Jika Anda mendapatkan kesalahan Permission denied (publickey) dan tidak ada satu pun di atas yang berlaku (misalnya, Anda dapat terhubung sebelumnya), izin pada direktori beranda instans Anda mungkin telah diubah. Izin untuk /home/instance-user-name/.ssh/authorized_keys harus dibatasi untuk pemilik saja.

Untuk memverifikasi izin pada instans Anda
  1. Hentikan instans Anda dan lepaskan volume root. Untuk informasi selengkapnya, lihat Hentikan dan mulai instans Amazon EC2.

  2. Luncurkan instans sementara di Zona Ketersediaan yang sama dengan instans Anda saat ini (gunakan AMI yang serupa atau sama dengan yang digunakan untuk instans Anda saat ini), dan lampirkan volume root ke instans sementara.

  3. Hubungkan ke instans sementara, buat titik pemasangan, dan pasang volume yang Anda lampirkan.

  4. Dari instans sementara, periksa izin direktori /home/instance-user-name/ dari volume yang dilampirkan. Jika perlu, sesuaikan izin sebagai berikut:

    [ec2-user ~]$ chmod 600 mount_point/home/instance-user-name/.ssh/authorized_keys
    [ec2-user ~]$ chmod 700 mount_point/home/instance-user-name/.ssh
    [ec2-user ~]$ chmod 700 mount_point/home/instance-user-name
  5. Copot volume, lepas dari instans sementara, dan lampirkan kembali ke instans asli. Pastikan Anda menentukan nama perangkat yang benar untuk volume root; misalnya, /dev/xvda.

  6. Mulai instans Anda. Jika Anda tidak lagi membutuhkan instans sementara, Anda dapat mengakhirinya.

Kesalahan: File kunci privat yang tidak dilindungi

File kunci privat Anda harus dilindungi dari operasi baca dan tulis dari pengguna lain. Jika kunci privat Anda dapat dibaca atau ditulis oleh siapa pun kecuali Anda, SSH akan mengabaikan kunci Anda dan Anda akan melihat pesan peringatan berikut di bawah ini.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for '.ssh/my_private_key.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: .ssh/my_private_key.pem Permission denied (publickey).

Jika Anda melihat pesan serupa saat mencoba masuk ke instans, periksa baris pertama pesan kesalahan untuk memverifikasi bahwa Anda menggunakan kunci publik yang benar untuk instans Anda. Contoh di atas menggunakan kunci privat .ssh/my_private_key.pem dengan izin file 0777, yang memungkinkan siapa pun untuk membaca atau menulis file ini. Tingkat izin ini sangat tidak aman, sehingga SSH mengabaikan kunci ini.

Jika Anda terhubung dari macOS atau Linux, jalankan perintah berikut untuk memperbaiki kesalahan ini, ganti jalur untuk file kunci privat Anda.

[ec2-user ~]$ chmod 0400 .ssh/my_private_key.pem

Jika Anda terhubung dari Windows, lakukan langkah-langkah berikut pada komputer lokal Anda.

  1. Navigasikan ke file .pem Anda.

  2. Klik kanan pada file .pem dan pilih Properti.

  3. Pilih tab Keamanan.

  4. Pilih Lanjutan.

  5. Verifikasi bahwa Anda adalah pemilik file. Jika tidak, ubah pemilik ke nama pengguna Anda.

  6. Pilih Nonaktifkan warisan dan Hapus semua izin yang diwariskan dari objek ini.

  7. Pilih Tambahkan, Pilih pengguna utama, masukkan nama pengguna, lalu pilih OKE.

  8. Dari jendela Entri izin, berikan izin Baca dan pilih OKE.

  9. Klik Terapkan untuk memastikan semua pengaturan disimpan.

  10. Pilih OKE untuk menutup jendela Pengaturan Keamanan Lanjutan.

  11. Pilih OKE untuk menutup jendela Properti.

  12. Anda dapat terhubung ke instans Linux dari Windows melalui SSH.

Dari prompt perintah Windows, jalankan perintah berikut.

  1. Dari perintah prompt, navigasikan ke jalur lokasi file .pem Anda.

  2. Jalankan perintah berikut untuk mengatur ulang dan menghapus izin eksplisit:

    icacls.exe $path /reset
  3. Jalankan perintah berikut untuk memberikan izin Baca kepada pengguna saat ini:

    icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
  4. Jalankan perintah berikut untuk menonaktifkan warisan dan menghapus izin yang diwariskan.

    icacls.exe $path /inheritance:r
  5. Anda dapat terhubung ke instans Linux dari Windows melalui SSH.

Kesalahan: Kunci privat harus dimulai dengan “-----BEGIN RSA PRIVATE KEY-----” dan diakhiri dengan “-----END RSA PRIVATE KEY-----”

Jika Anda menggunakan alat pihak ke tiga, seperti ssh-keygen, untuk membuat pasangan kunci RSA, alat ini menghasilkan kunci privat dalam format kunci OpenSSH. Saat Anda terhubung dengan instans, jika Anda menggunakan kunci privat dalam format OpenSSH untuk mendekripsi kata sandi, Anda akan menerima kesalahan Private key must begin with "-----BEGIN RSA PRIVATE KEY-----" and end with "-----END RSA PRIVATE KEY-----".

Untuk mengatasi kesalahan tersebut, kunci privat harus dalam format PEM. Gunakan perintah berikut untuk membuat kunci privat dalam format PEM:

ssh-keygen -m PEM

Kesalahan: Server menolak kunci kami atau Tidak tersedia metode autentikasi yang didukung

Jika Anda menggunakan PuTTY untuk terhubung ke instans dan mendapatkan kesalahan berikut, Kesalahan: Server menolak kunci kami atau Kesalahan: Tidak tersedia metode autentikasi yang didukung, verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk AMI Anda. Ketik nama pengguna pada Nama pengguna di jendela Konfigurasi PuTTY.

Nama pengguna yang sesuai adalah sebagai berikut:

AMI yang digunakan untuk meluncurkan instans Nama pengguna default

AL2023

Amazon Linux 2

Amazon Linux

ec2-user
CentOS centos atau ec2-user
Debian admin
Fedora fedora atau ec2-user
RHEL ec2-user atau root
SEGAR ec2-user atau root
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Linux Rocky rocky
Lainnya Periksa dengan penyedia AMI

Anda juga harus memverifikasi bahwa:

Tidak dapat melakukan ping pada instans

Perintah ping adalah tipe lalu lintas ICMP — jika Anda tidak dapat melakukan ping pada instans Anda, pastikan bahwa aturan grup keamanan masuk Anda mengizinkan lalu lintas ICMP untuk pesan Echo Request dari semua sumber, atau dari komputer atau instans yang mengeluarkan perintah.

Jika Anda tidak dapat mengeluarkan perintah ping dari instans, pastikan bahwa aturan grup keamanan keluar Anda mengizinkan lalu lintas ICMP untuk pesan Echo Request ke semua tujuan, atau ke host yang Anda coba ping.

Perintah Ping juga dapat diblokir oleh firewall atau waktunya habis karena masalah latensi jaringan atau perangkat keras. Anda harus berkonsultasi dengan jaringan lokal atau administrator sistem untuk bantuan pemecahan masalah lebih lanjut.

Kesalahan: Server menutup koneksi jaringan secara tidak terduga

Jika Anda terhubung ke instans dengan PuTTY dan Anda menerima pesan kesalahan “Server menutup koneksi jaringan secara tidak terduga”, verifikasi bahwa Anda telah mengaktifkan keepalive di halaman Koneksi Konfigurasi PuTTY agar koneksi tidak terputus. Beberapa server memutus koneksi klien saat tidak menerima data apa pun dalam periode waktu tertentu. Atur Detik untuk keepalive menjadi 59 detik.

Jika Anda masih mengalami masalah setelah mengaktifkan keepalive, coba nonaktifkan algoritma Nagle di halaman Koneksi Konfigurasi PuTTY.

Kesalahan: Validasi kunci host gagal untuk EC2 Instance Connect

Jika Anda memutar kunci host instance Anda, kunci host baru tidak secara otomatis diunggah ke database kunci host AWS tepercaya. Hal ini menyebabkan validasi kunci host gagal ketika Anda mencoba untuk terhubung ke instans menggunakan klien berbasis peramban EC2 Instance Connect, dan Anda tidak dapat terhubung ke instans Anda.

Untuk mengatasi kesalahan, Anda harus menjalankan skrip eic_harvest_hostkeys pada instans Anda, yang mengunggah kunci host baru Anda ke EC2 Instance Connect. Skrip ini terletak di /opt/aws/bin/ di instans Amazon Linux 2, dan di /usr/share/ec2-instance-connect/ pada instans Ubuntu.

Amazon Linux 2
Untuk mengatasi kesalahan kegagalan validasi kunci host pada instans Amazon Linux 2
  1. Hubungkan ke instans Anda menggunakan SSH.

    Anda dapat terhubung dengan menggunakan CLI EC2 Instance Connect atau dengan menggunakan pasangan kunci SSH yang ditetapkan ke instans Anda saat Anda meluncurkannya dan nama pengguna default AMI yang Anda gunakan untuk meluncurkan instans. Untuk Amazon Linux 2, nama pengguna default adalah ec2-user.

    Misalnya, jika instans Anda diluncurkan menggunakan Amazon Linux 2, nama DNS publik instans Anda adalah ec2-a-b-c-d.us-west-2.compute.amazonaws.com, dan pasangan kuncinya adalah my_ec2_private_key.pem, gunakan perintah berikut untuk SSH ke dalam instans Anda:

    $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Untuk informasi selengkapnya tentang menghubungkan ke instans Anda, lihat Hubungkan ke instans Linux dari Linux menggunakan SSH..

  2. Arahkan ke folder berikut.

    [ec2-user ~]$ cd /opt/aws/bin/
  3. Jalankan perintah berikut di instans Anda.


    [ec2-user ~]$ ./eic_harvest_hostkeys

    Perhatikan bahwa panggilan yang berhasil tidak menghasilkan output.

    Anda sekarang dapat menggunakan klien berbasis peramban EC2 Instance Connect untuk terhubung ke instans Anda.

Ubuntu
Untuk mengatasi kesalahan kegagalan validasi kunci host pada instans Ubuntu
  1. Hubungkan ke instans Anda menggunakan SSH.

    Anda dapat terhubung dengan menggunakan CLI EC2 Instance Connect atau dengan menggunakan pasangan kunci SSH yang ditetapkan ke instans Anda saat Anda meluncurkannya dan nama pengguna default AMI yang Anda gunakan untuk meluncurkan instans. Untuk Ubuntu, nama pengguna default-nya adalah ubuntu.

    Misalnya, jika instans Anda diluncurkan menggunakan Ubuntu, nama DNS publik instans Anda adalah ec2-a-b-c-d.us-west-2.compute.amazonaws.com, dan pasangan kuncinya adalah my_ec2_private_key.pem, gunakan perintah berikut untuk SSH ke dalam instans Anda:

    $ ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com

    Untuk informasi selengkapnya tentang menghubungkan ke instans Anda, lihat Hubungkan ke instans Linux dari Linux menggunakan SSH..

  2. Arahkan ke folder berikut.

    [ec2-user ~]$ cd /usr/share/ec2-instance-connect/
  3. Jalankan perintah berikut di instans Anda.


    [ec2-user ~]$ ./eic_harvest_hostkeys

    Perhatikan bahwa panggilan yang berhasil tidak menghasilkan output.

    Anda sekarang dapat menggunakan klien berbasis peramban EC2 Instance Connect untuk terhubung ke instans Anda.

Tidak dapat terhubung ke instans Ubuntu menggunakan EC2 Instance Connect

Jika Anda menggunakan EC2 Instance Connect untuk terhubung ke instans Ubuntu Anda dan mendapatkan kesalahan saat mencoba menghubungkan, Anda dapat menggunakan informasi berikut untuk mencoba memperbaiki masalah.

Kemungkinan penyebab

Paket ec2-instance-connect pada instans ini bukanlah versi terbaru.

Solusi

Perbarui paket ec2-instance-connect pada instans ke versi terbaru, sebagai berikut:

  1. Hubungkan ke instans Anda menggunakan metode selain EC2 Instance Connect.

  2. Jalankan perintah berikut pada instans Anda untuk memperbarui paket ec2-instance-connect ke versi terbaru.

    apt update && apt upgrade

Saya kehilangan kunci privat. Bagaimana caranya terhubung ke instans Linux saya?

Jika Anda kehilangan kunci privat untuk instans yang didukung EBS, Anda dapat memperoleh kembali akses ke instans Anda. Anda harus menghentikan instans, mencopot volume root, dan melampirkannya ke instans lain sebagai volume data, ubah file authorized_keys dengan kunci publik baru, memindahkan volume kembali ke instans asli, lalu memulai ulang instans. Untuk informasi tentang peluncuran, penghubungan ke, dan penghentian instans selengkapnya, lihat Siklus hidup instans.

Prosedur ini hanya didukung untuk instans dengan volume root EBS. Jika perangkat root adalah volume penyimpanan instans, Anda tidak dapat menggunakan prosedur ini untuk mendapatkan kembali akses ke instans Anda; Anda harus memiliki kunci privat untuk tersambung ke instans. Untuk menentukan tipe perangkat root instans Anda, buka konsol Amazon EC2, pilih Instans, pilih instans, pilih tab Penyimpanan, dan di bagian Detail perangkat root, periksa nilai Tipe perangkat root.

Nilainya antara EBS atau.INSTANCE-STORE

Selain langkah-langkah berikut, ada cara lain untuk terhubung ke instans Linux Anda jika kehilangan kunci privat Anda. Untuk informasi selengkapnya, lihat Bagaimana cara saya terhubung ke instans Amazon EC2 jika saya kehilangan pasangan kunci SSH setelah peluncuran awal?

Langkah 1: Buat pasangan kunci baru

Buat pasangan kunci baru menggunakan konsol Amazon EC2 atau alat pihak ketiga. Jika Anda ingin nama dari pasangan kunci baru Anda sama persis dengan kunci privat yang hilang, Anda harus menghapus pasangan kunci yang sudah ada terlebih dahulu. Untuk informasi tentang pembuatan pasangan kunci selengkapnya, lihat Membuat pasangan kunci menggunakan Amazon EC2 or Membuat pasangan kunci menggunakan alat pihak ketiga dan mengimpor kunci publik ke Amazon EC2.

Langkah 2: Dapatkan informasi tentang instans asli dan volume root-nya

Catat informasi berikut karena Anda akan membutuhkannya untuk menyelesaikan prosedur ini.

Untuk mendapatkan informasi tentang instans asli Anda
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Pilih Instans dalam panel navigasi, lalu pilih instans yang ingin Anda hubungkan. (Kami akan merujuknya sebagai instans asli.)

  3. Pada tab Detail, catat ID instans dan ID AMI.

  4. Pada tab Jaringan, catat Zona Ketersediaan.

  5. Pada tab Penyimpanan, di bawah Nama perangkat root, catat nama perangkat untuk volume root (misalnya, /dev/xvda). Lalu, di bawah Perangkat blok, temukan nama perangkat ini dan catat ID volume (misalnya, vol-0a1234b5678c910de).

Langkah 3: Hentikan instans asli

Pilih Status instans, Hentikan instans. Jika opsi ini dinonaktifkan, baik instans sudah dihentikan maupun perangkat root-nya adalah volume penyimpanan instans.

Awas

Ketika Anda menghentikan instans, data pada setiap volume penyimpanan instans akan dihapus. Untuk menjaga data dari volume penyimpanan instans, pastikan untuk mencadangkannya ke penyimpanan persisten.

Langkah 4: Luncurkan instans sementara

New console
Untuk meluncurkan instans sementara
  1. Di panel navigasi, pilih Instans, lalu pilih Luncurkan instans.

  2. Di bagian Nama dan tanda, untuk Nama, masukkan Sementara.

  3. Di bagian Gambar Aplikasi dan OS, pilih AMI yang sama dengan yang Anda gunakan untuk meluncurkan instans asli. Jika AMI ini tidak tersedia, Anda dapat membuat AMI yang dapat digunakan dari instans yang dihentikan. Untuk informasi selengkapnya, lihat Buat AMI yang didukung Amazon EBS-Backed.

  4. Di bagian Tipe instans, pertahankan tipe instance default.

  5. Di bagian Pasangan kunci, untuk Nama pasangan kunci, pilih pasangan kunci yang ada untuk digunakan atau buat yang baru.

  6. Di bagian Pengaturan jaringan, pilih Edit, lalu untuk Subnet, pilih subnet di Zona Ketersediaan yang sama dengan instans asli.

  7. Di panel Ringkasan, pilih Luncurkan.

Old console

Pilih Luncurkan instans, lalu gunakan wizard peluncuran untuk meluncurkan instans sementara dengan opsi berikut:

  • Pada halaman Pilih AMI, pilih AMI yang sama dengan yang Anda gunakan untuk meluncurkan instans asli. Jika AMI ini tidak tersedia, Anda dapat membuat AMI yang dapat digunakan dari instans yang dihentikan. Untuk informasi selengkapnya, lihat Buat AMI yang didukung Amazon EBS-Backed.

  • Pada halaman Pilih Tipe Instans, tinggalkan tipe instans default yang dipilih oleh wizard untuk Anda.

  • Pada halaman Konfigurasi Detail Instans, tentukan Zona Ketersediaan yang sama dengan instans asli. Jika Anda meluncurkan instans dalam VPC, pilih sebuah subnet di Zona Ketersediaan ini.

  • Pada halaman Tambahkan Tanda, tambahkan tanda Name=Temporary ke instans untuk mengindikasikan bahwa ini adalah instans sementara.

  • Pada halaman Tinjau, pilih Luncurkan. Pilih pasangan kunci yang Anda buat di Langkah 1, lalu pilih Luncurkan Instans.

Langkah 5: Copot volume root dari instans asli dan lampirkan ke instans sementara

  1. Di panel navigasi, pilih Volume dan pilih volume perangkat root untuk instans asli (Anda sudah mencatat ID volumenya di langkah sebelumnya). Pilih Tindakan, Copot volume, lalu pilih Lepaskan. Tunggu status volume menjadi available. (Anda mungkin harus memilih ikon Segarkan.)

  2. Dengan volume yang masih dipilih, pilih Tindakan, lalu pilih Lampirkan volume. Pilih ID instans dari instans sementara, catat nama perangkat yang ditentukan di bawah Nama perangkat (misalnya, /dev/sdf), lalu pilih Lampirkan volume.

    catatan

    Jika Anda meluncurkan instans asli dari AWS Marketplace AMI dan volume berisi AWS Marketplace kode, Anda harus terlebih dahulu menghentikan instans sementara sebelum Anda dapat melampirkan volume.

Langkah 6: Tambahkan kunci publik baru ke authorized_keys pada volume asli yang dipasang ke instans sementara

  1. Luncurkan ke instans sementara.

  2. Dari instans sementara, pasang volume yang Anda lampirkan ke instans sehingga Anda dapat mengakses sistem file-nya. Misalnya, jika nama perangkat adalah /dev/sdf, gunakan perintah berikut untuk memasang volume sebagai /mnt/tempvol.

    catatan

    Nama perangkat mungkin akan dimunculkan secara berbeda pada instans Anda. Misalnya, perangkat yang dipasang sebagai /dev/sdf dapat muncul sebagai /dev/xvdf pada instans. Beberapa versi Red Hat (atau variannya, seperti CentOS) bahkan dapat menambah huruf tambahan sebanyak 4 karakter, di mana /dev/sdf menjadi /dev/xvdk.

    1. Gunakan perintah lsblk untuk menentukan apakah volume sudah dipartisi atau belum.

      [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 101G 0 disk └─xvdf1 202:81 0 101G 0 part xvdg 202:96 0 30G 0 disk

      Di contoh sebelumnya, /dev/xvda dan /dev/xvdf adalah volume yang sudah dipartisi, dan /dev/xvdg yang belum. Jika volume Anda dipartisi, Anda dapat memasang partisi tersebut (/dev/xvdf1) alih-alih perangkat mentah (/dev/xvdf) pada langkah berikutnya.

    2. Buat direktori sementara untuk memasang volume.

      [ec2-user ~]$ sudo mkdir /mnt/tempvol
    3. Pasang volume (atau partisi) pada titik pasang sementara, menggunakan nama volume atau nama perangkat yang Anda identifikasi sebelumnya. Perintah yang diperlukan bergantung pada sistem file sistem operasi Anda. Perhatikan bahwa nama perangkat mungkin akan dimunculkan secara berbeda pada instans Anda. Lihat note di Langkah 6 untuk informasi selengkapnya.

      • Amazon Linux, Ubuntu, dan Debian

        [ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
      • Amazon Linux 2, CentOS, SUSE Linux 12, dan RHEL 7.x

        [ec2-user ~]$ sudo mount -o nouuid /dev/xvdf1 /mnt/tempvol
    catatan

    Jika Anda mendapatkan kesalahan yang menyatakan bahwa sistem file rusak, jalankan perintah berikut untuk menggunakan utilitas fsck guna memeriksa sistem file dan memperbaiki masalah:

    [ec2-user ~]$ sudo fsck /dev/xvdf1
  3. Dari instans sementara, gunakan perintah berikut untuk memperbarui authorized_keys pada volume yang dipasang dengan kunci publik baru dari authorized_keys untuk instans sementara.

    penting

    Contoh berikut menggunakan nama pengguna Amazon Linux ec2-user. Anda mungkin perlu mengganti nama pengguna yang berbeda, seperti ubuntu untuk instans Ubuntu.

    [ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    Jika penyalinan ini berhasil, Anda dapat melanjutkan ke langkah berikutnya.

    (Opsional) Kecuali, jika Anda tidak memiliki izin untuk mengedit file di /mnt/tempvol, Anda harus memperbarui file menggunakan sudo, lalu memeriksa izin pada file untuk memverifikasi bahwa Anda dapat masuk ke instans asli. Gunakan perintah berikut untuk memeriksa izin pada file.

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh total 4 -rw------- 1 222 500 398 Sep 13 22:54 authorized_keys

    Dalam output contoh ini, 222 adalah ID pengguna dan 500 adalah ID grup. Berikutnya, gunakan sudo untuk menjalankan kembali perintah penyalinan yang gagal.

    [ec2-user ~]$ sudo cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    Jalankan lagi akun perintah berikut untuk menentukan apakah izin sudah berubah atau belum.

    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh

    Jika ID pengguna dan ID grup telah berubah, gunakan perintah berikut untuk memulihkannya.

    [ec2-user ~]$ sudo chown 222:500 /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

Langkah 7: Lepaskan dan copot volume asli dari instans sementara, lalu lampirkan kembali ke instans asli

  1. Dari instans sementara, lepas volume yang Anda lampirkan ke instans sehingga Anda dapat melampirkannya kembali ke instans asli. Misalnya, gunakan perintah berikut untuk melepaskan volume pada /mnt/tempvol.

    [ec2-user ~]$ sudo umount /mnt/tempvol
  2. Copot volume dari instans sementara (Anda melepasnya di langkah sebelumnya): Dari konsol Amazon EC2, pilih Volume di panel navigasi, pilih volume perangkat root untuk instans asli (Anda sudah mencatat ID volume pilih di langkah sebelumnya), Tindakan, Lepaskan volume, lalu pilih Lepaskan. Tunggu status volume menjadi available. (Anda mungkin harus memilih ikon Segarkan.)

  3. Lampirkan kembali volume ke instans asli: Dengan volume yang masih dipilih, pilih Tindakan, Lampirkan Volume. Pilih ID instans dari instans asli, tentukan nama perangkat yang Anda catat sebelumnya di Langkah 2 untuk lampiran perangkat root asli (/dev/sda1 atau /dev/xvda), lalu pilih Lampirkan volume.

    penting

    Jika Anda tidak menentukan nama perangkat yang sama dengan lampiran asli, Anda tidak dapat memulai instans asli. Amazon EC2 memperkirakan volume perangkat root pada sda1 atau /dev/xvda.

Langkah 8: Hubungkan ke instans asli menggunakan pasangan kunci baru

Pilih instans asli, pilih Status instans, Mulai instans. Setelah instans memasuki status running, Anda dapat terhubung menggunakan file kunci privat untuk pasangan kunci baru Anda.

catatan

Jika nama pasangan kunci baru Anda dan file kunci privat yang terkait berbeda dari nama pasangan kunci asli, pastikan Anda menentukan nama file kunci privat baru saat terhubung ke instans Anda.

Langkah 9: Bersihkan

(Opsional) Anda dapat mengakhiri instans sementara jika tidak menggunakannya lagi. Pilih instans sementara, dan pilih Status instans, Akhiri instans.