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 Amazon Linux EC2
Informasi berikut dan kesalahan umum dapat membantu Anda memecahkan masalah saat terhubung ke instans Linux Anda.
Masalah koneksi
- Penyebab umum masalah koneksi
- Kesalahan saat menghubungkan instans Anda: Waktu koneksi habis
- Kesalahan: tidak dapat memuat kunci ... Mengharapkan: ANY PRIVATE KEY
- Kesalahan: Kunci pengguna tidak dikenali oleh server
- Kesalahan: Izin ditolak atau koneksi ditutup oleh [instans] port 22
- Kesalahan: File kunci privat yang tidak dilindungi
- Kesalahan: Kunci pribadi harus dimulai dengan “----- -----” dan diakhiri dengan “BEGINRSAPRIVATEKEY----- -----” END RSA PRIVATE KEY
- Kesalahan: Server menolak kunci kami atau Tidak tersedia metode autentikasi yang didukung
- Tidak dapat melakukan ping pada instans
- Kesalahan: Server menutup koneksi jaringan secara tidak terduga
- Kesalahan: Validasi kunci host gagal untuk EC2 Instance Connect
- Tidak dapat terhubung ke instance Ubuntu menggunakan EC2 Instance Connect
- Saya kehilangan kunci privat. Bagaimana saya bisa terhubung ke instance saya?
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 Anda menggunakan nama pengguna untuk akun pengguna Anda atau nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instance Anda.
-
Dapatkan nama pengguna untuk akun pengguna Anda.
Untuk informasi selengkapnya tentang cara membuat akun pengguna, lihat Mengelola pengguna sistem di instans Amazon EC2 Linux.
-
Dapatkan nama pengguna default untuk AMI yang Anda gunakan untuk meluncurkan instance Anda.
AMIdigunakan untuk meluncurkan instance Nama pengguna default Amazon Linux
ec2-user
CentOS centos
atauec2-user
Debian admin
Fedora fedora
atauec2-user
RHEL ec2-user
atauroot
SUSE ec2-user
atauroot
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Linux Rocky rocky
Lainnya Periksa dengan AMI penyedia
-
- Verifikasi bahwa aturan grup keamanan mengizinkan lalu lintas
-
Pastikan bahwa grup keamanan yang terkait dengan instans Anda memungkinkan SSH lalu lintas masuk dari alamat IP Anda. Grup keamanan default untuk VPC tidak mengizinkan SSH lalu lintas masuk secara default. Grup keamanan yang dibuat oleh wizard instance peluncuran memungkinkan SSH lalu lintas secara default. Untuk langkah-langkah untuk menambahkan aturan untuk SSH lalu lintas masuk ke instance Linux Anda, lihatAturan-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 sebuah instance, dibutuhkan beberapa menit agar instans siap menerima permintaan koneksi. Periksa instans Anda untuk memastikan ia berfungsi dan telah melewati pemeriksaan status.
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.
-
Verifikasi hal berikut:
-
Di kolom Status instans, verifikasi bahwa instans Anda berada dalam status
running
. -
Di kolom Pemeriksaan status, verifikasi bahwa instans Anda telah lulus dua pemeriksaan status.
-
- Verifikasi bahwa Anda telah memenuhi semua prasyarat untuk terhubung
-
Pastikan bahwa Anda memiliki semua informasi yang Anda butuhkan untuk terhubung. Untuk informasi selengkapnya, lihat Connect ke instans Linux Anda menggunakan SSH.
Connect dari Linux atau macOS X
Jika sistem operasi komputer lokal Anda adalah Linux atau macOS X, periksa prasyarat spesifik berikut untuk menghubungkan ke instance Linux:
Hubungkan dari Windows
Jika sistem operasi komputer lokal Anda adalah Windows, periksa prasyarat khusus berikut untuk menghubungkan ke instance Linux:
- Periksa apakah instance tersebut adalah instance terkelola
-
Koneksi yang diprakarsai pengguna ke instans terkelola tidak diizinkan. Untuk menentukan apakah instance dikelola, cari bidang Dikelola untuk instance. Jika nilainya benar, itu adalah instance terkelola. Untuk informasi selengkapnya, lihat Instans yang EC2 dikelola Amazon.
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 memungkinkan lalu lintas masuk dari IPv4 alamat publik komputer lokal Anda di port yang tepat.
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.
-
Pada tab Keamanan di bagian bawah halaman konsol, di bawah Aturan Masuk, periksa daftar aturan yang memengaruhi instans terpilih. Verifikasi bahwa ada aturan yang memungkinkan lalu lintas dari komputer lokal Anda ke port 22 (SSH).
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.
-
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 me-restart 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 VPC Pengguna Amazon.
Periksa tabel rute untuk subnet.
Anda memerlukan rute yang mengirimkan semua lalu lintas yang ditujukan di luar VPC ke gateway internet untuk. VPC
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, pilih Instans, kemudian pilih instans Anda.
-
Pada tab Networking, catat nilai untuk VPCID dan Subnet ID.
Buka VPC konsol Amazon di https://console.aws.amazon.com/vpc/
. -
Di panel navigasi, pilih Gateway Internet. Verifikasi bahwa ada gateway internet yang terpasang pada AndaVPC. 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 VPC, pilih milik AndaVPC, lalu pilih Lampirkan gateway internet untuk melampirkannya ke gateway AndaVPC.
-
Di panel navigasi, pilih Subnet, lalu pilih subnet Anda.
-
Pada tab tabel Route, verifikasi bahwa ada rute dengan
0.0.0.0/0
tujuan dan gateway internet untuk Anda VPC 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:-
Pilih ID tabel rute (rtb-xxxxxxxx) untuk menavigasi ke tabel rute.
-
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. -
Pilih Simpan rute.
-
Periksa daftar kontrol akses jaringan (ACL) untuk subnet.
Jaringan ACLs harus mengizinkan SSH lalu lintas masuk dari alamat IP lokal Anda pada port 22. Hal ini juga mengizinkan lalu lintas keluar ke port sementara (1024-65535).
-
Buka VPC konsol Amazon di https://console.aws.amazon.com/vpc/
. -
Di panel navigasi, pilih Pengguna.
-
Pilih subnet Anda.
-
Pada ACL tab Jaringan, untuk aturan Inbound, verifikasi bahwa aturan mengizinkan lalu lintas masuk dari komputer Anda pada port yang diperlukan. Jika tidak, hapus atau ubah aturan yang memblokir lalu lintas.
-
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 administrator jaringan Anda apakah firewall internal memungkinkan lalu lintas masuk dan keluar dari komputer Anda pada port 22.
Jika Anda memiliki firewall di komputer Anda, verifikasi bahwa itu memungkinkan lalu lintas masuk dan keluar dari komputer Anda pada port 22.
Periksa apakah instans Anda memiliki IPv4 publik.
Jika tidak, Anda dapat mengaitkan alamat IP Elastis dengan instans Anda. Untuk informasi selengkapnya, lihat Alamat Elastic IP.
Periksa CPU beban pada instance 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 CPU beban 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 Perubahan jenis EC2 instans Amazon.
Untuk terhubung ke instans Anda menggunakan IPv6 alamat, periksa hal berikut:
-
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 IPv6 alamat lokal Anda di port 22.
-
ACLAturan jaringan Anda harus mengizinkan lalu lintas masuk dan keluarIPv6.
-
Jika Anda meluncurkan instans Anda dari yang lebih lamaAMI, itu mungkin tidak dikonfigurasi untuk DHCPv6 (IPv6alamat tidak secara otomatis dikenali pada antarmuka jaringan). Untuk informasi selengkapnya, lihat IPv6Mengonfigurasi instans Anda di Panduan VPC Pengguna Amazon.
-
Komputer lokal Anda harus memiliki alamat IPv6, dan harus dikonfigurasi untuk menggunakan IPv6.
Kesalahan: tidak dapat memuat kunci ... Mengharapkan: ANY PRIVATE KEY
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
-
Buat pasangan kunci baru. Untuk informasi selengkapnya, lihat Buat key pair menggunakan Amazon EC2.
catatan
Sebagai gantinya, Anda dapat membuat pasangan kunci baru menggunakan alat pihak ketiga. Untuk informasi selengkapnya, lihat Buat key pair menggunakan alat pihak ketiga dan impor kunci publik ke Amazon EC2.
-
Tambahkan pasangan kunci baru ke instans Anda. Untuk informasi selengkapnya, lihat Saya kehilangan kunci privat. Bagaimana saya bisa terhubung ke instance saya?.
-
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
.peminstance-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 Pu TTY untuk terhubung ke instans Anda
-
Verifikasi bahwa file kunci pribadi (.pem) Anda telah dikonversi ke format yang dikenali oleh Pu TTY (.ppk). Untuk informasi selengkapnya tentang cara mengubah kunci privat, lihat Connect ke instans Linux Anda menggunakan Pu TTY.
catatan
Di PuTTYgen, muat file kunci pribadi Anda dan pilih Simpan Kunci Pribadi daripada Menghasilkan.
-
Verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk AndaAMI. Masukkan nama pengguna di kotak nama Host di jendela TTYKonfigurasi Pu.
AMIdigunakan untuk meluncurkan instance Nama pengguna default Amazon Linux
ec2-user
CentOS centos
atauec2-user
Debian admin
Fedora fedora
atauec2-user
RHEL ec2-user
atauroot
SUSE ec2-user
atauroot
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
Linux Rocky rocky
Lainnya Periksa dengan AMI penyedia -
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 Anda menggunakan SSH dan mendapatkan salah satu kesalahan berikut,Host key not found in [directory]
,Permission denied (publickey)
,Authentication failed, permission denied
,, atauConnection closed by [instance] port 22
, verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk Anda AMI dan bahwa Anda telah menentukan kunci pribadi yang tepat (.pem)
file untuk contoh Anda.
Nama pengguna yang sesuai adalah sebagai berikut:
AMIdigunakan untuk meluncurkan instance | Nama pengguna default |
---|---|
Amazon Linux |
ec2-user
|
CentOS | centos atau ec2-user |
Debian | admin |
Fedora | fedora atau ec2-user |
RHEL | ec2-user atau root |
SUSE | ec2-user atau root |
Ubuntu | ubuntu |
Oracle | ec2-user |
Bitnami | bitnami |
Linux Rocky | rocky |
Lainnya | Periksa dengan AMI penyedia |
Misalnya, untuk menggunakan SSH klien untuk terhubung ke instans Amazon Linux, gunakan perintah berikut:
ssh -i
/path/key-pair-name
.peminstance-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.
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, pilih Instans, lalu pilih instans Anda.
-
Pada tab Detail, di bawah Detail instans, verifikasi nilai Nama pasangan kunci.
-
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 saya bisa terhubung ke instance saya?.
Jika Anda membuat key pair Anda sendiri, pastikan generator kunci Anda diatur untuk membuat RSA kunci. DSAkunci 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/
harus dibatasi untuk pemilik saja.instance-user-name
/.ssh/authorized_keys
Untuk memverifikasi izin pada instans Anda
-
Hentikan instans Anda dan lepaskan volume root. Untuk informasi selengkapnya, lihat Hentikan dan mulai EC2 instans Amazon.
-
Luncurkan instance sementara di Availability Zone yang sama dengan instans Anda saat ini (gunakan yang serupa atau sama AMI seperti yang Anda gunakan untuk instance Anda saat ini), dan lampirkan volume root ke instance sementara.
-
Hubungkan ke instans sementara, buat titik pemasangan, dan pasang volume yang Anda lampirkan.
-
Dari instans sementara, periksa izin direktori
/home/
dari volume yang dilampirkan. Jika perlu, sesuaikan izin sebagai berikut:instance-user-name
/[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
-
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
. -
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 pribadi Anda dapat dibaca atau ditulis oleh siapa pun kecuali Anda, maka SSH abaikan kunci Anda dan Anda 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 ke instance Linux dari Windows, lakukan langkah-langkah berikut di komputer lokal Anda.
Navigasikan ke file .pem Anda.
Klik kanan pada file .pem dan pilih Properti.
Pilih tab Keamanan.
Pilih Lanjutan.
Verifikasi bahwa Anda adalah pemilik file. Jika tidak, ubah pemilik ke nama pengguna Anda.
Pilih Nonaktifkan warisan dan Hapus semua izin yang diwariskan dari objek ini.
Pilih Tambahkan, Pilih pengguna utama, masukkan nama pengguna, lalu pilih OKE.
Dari jendela Entri izin, berikan izin Baca dan pilih OKE.
-
Klik Terapkan untuk memastikan semua pengaturan disimpan.
Pilih OKE untuk menutup jendela Pengaturan Keamanan Lanjutan.
Pilih OKE untuk menutup jendela Properti.
Anda harus dapat terhubung ke instance Linux Anda dari Windows menggunakanSSH.
Dari prompt perintah Windows, jalankan perintah berikut.
Dari perintah prompt, navigasikan ke jalur lokasi file .pem Anda.
Jalankan perintah berikut untuk mengatur ulang dan menghapus izin eksplisit:
icacls.exe
$path
/resetJalankan perintah berikut untuk memberikan izin Baca kepada pengguna saat ini:
icacls.exe
$path
/GRANT:R "$($env:USERNAME):(R)
"Jalankan perintah berikut untuk menonaktifkan warisan dan menghapus izin yang diwariskan.
icacls.exe
$path
/inheritance:rAnda harus dapat terhubung ke instance Linux Anda dari Windows menggunakanSSH.
Kesalahan: Kunci pribadi harus dimulai dengan “----- -----” dan diakhiri dengan “BEGINRSAPRIVATEKEY----- -----” END RSA PRIVATE KEY
Jika Anda menggunakan alat pihak ketiga, sepertissh-keygen, untuk membuat RSA key pair, itu menghasilkan kunci pribadi dalam format Open SSH key. Ketika Anda terhubung ke instans Anda, jika Anda menggunakan kunci pribadi dalam SSH format Buka untuk mendekripsi kata sandi, Anda akan mendapatkan kesalahan. Private key must begin with "-----BEGIN RSA PRIVATE KEY-----" and end with "-----END RSA
PRIVATE KEY-----"
Untuk mengatasi kesalahan, kunci pribadi harus dalam PEM format. Gunakan perintah berikut untuk membuat kunci pribadi dalam PEM format:
ssh-keygen -m PEM
Kesalahan: Server menolak kunci kami atau Tidak tersedia metode autentikasi yang didukung
Jika Anda menggunakan Pu TTY untuk terhubung ke instans Anda dan mendapatkan salah satu dari kesalahan berikut, Kesalahan: Server menolak kunci kami
atau Kesalahan: Tidak ada metode otentikasi yang didukung
, verifikasi bahwa Anda terhubung dengan nama pengguna yang sesuai untuk AndaAMI. Ketik nama pengguna di Nama pengguna di jendela TTYKonfigurasi Pu.
Nama pengguna yang sesuai adalah sebagai berikut:
AMIdigunakan untuk meluncurkan instance | Nama pengguna default |
---|---|
Amazon Linux |
ec2-user
|
CentOS | centos atau ec2-user |
Debian | admin |
Fedora | fedora atau ec2-user |
RHEL | ec2-user atau root |
SUSE | ec2-user atau root |
Ubuntu | ubuntu |
Oracle | ec2-user |
Bitnami | bitnami |
Linux Rocky | rocky |
Lainnya | Periksa dengan AMI penyedia |
Anda juga harus memverifikasi bahwa:
-
Anda menggunakan versi terbaru dari PuTTY. Untuk informasi lebih lanjut, lihat halaman TTY web Pu
. -
File kunci pribadi (.pem) Anda telah dikonversi dengan benar ke format yang dikenali oleh Pu TTY (.ppk). Untuk informasi selengkapnya tentang cara mengubah kunci privat, lihat Connect ke instans Linux Anda menggunakan Pu TTY.
Tidak dapat melakukan ping pada instans
ping
Perintah adalah jenis ICMP lalu lintas - jika Anda tidak dapat melakukan ping ke instans Anda, pastikan bahwa aturan grup keamanan masuk Anda mengizinkan ICMP lalu lintas untuk Echo Request
pesan dari semua sumber, atau dari komputer atau instance tempat Anda mengeluarkan perintah.
Jika Anda tidak dapat mengeluarkan ping
perintah dari instans Anda, pastikan bahwa aturan grup keamanan keluar Anda mengizinkan ICMP lalu lintas untuk Echo
Request
pesan 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 Anda dengan Pu TTY dan Anda menerima kesalahan “Server tiba-tiba menutup koneksi jaringan,” verifikasi bahwa Anda telah mengaktifkan keepalives pada halaman Koneksi TTY Konfigurasi Pu untuk menghindari 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 keepalives, coba nonaktifkan algoritma Nagle di halaman Koneksi Konfigurasi Pu. TTY
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 saat Anda mencoba menyambung ke instans menggunakan klien berbasis browser EC2 Instance Connect, dan Anda tidak dapat terhubung ke instans Anda.
Untuk mengatasi kesalahan, Anda harus menjalankan eic_harvest_hostkeys
skrip pada instance 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.
Tidak dapat terhubung ke instance Ubuntu menggunakan EC2 Instance Connect
Jika Anda menggunakan EC2 Instance Connect untuk terhubung ke instans Ubuntu Anda dan Anda mendapatkan kesalahan ketika mencoba untuk terhubung, 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:
-
Connect ke instans Anda menggunakan metode selain EC2 Instance Connect.
-
Jalankan perintah berikut pada instans Anda untuk memperbarui paket
ec2-instance-connect
ke versi terbaru.apt update && apt upgrade
Saya kehilangan kunci privat. Bagaimana saya bisa terhubung ke instance saya?
Jika Anda kehilangan kunci pribadi untuk instans yang EBS didukung, 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 Perubahan status EC2 instans Amazon.
Prosedur ini hanya didukung untuk instance dengan volume EBS root. 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 jenis perangkat root instance Anda, buka EC2 konsol Amazon, pilih Instans, pilih instance, pilih tab Penyimpanan, dan di bagian Detail perangkat Root, periksa nilai jenis 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 terhubung ke EC2 instans Amazon jika kehilangan SSH key pair setelah peluncuran awalnya?
Langkah-langkah untuk menghubungkan ke instance EBS -backed dengan key pair yang berbeda
- Langkah 1: Buat pasangan kunci baru
- Langkah 2: Dapatkan informasi tentang instans asli dan volume root-nya
- Langkah 3: Hentikan instans asli
- Langkah 4: Luncurkan instans sementara
- Langkah 5: Copot volume root dari instans asli dan lampirkan ke instans sementara
- Langkah 6: Tambahkan kunci publik baru ke authorized_keys pada volume asli yang dipasang ke instans sementara
- Langkah 7: Lepaskan dan copot volume asli dari instans sementara, lalu lampirkan kembali ke instans asli
- Langkah 8: Hubungkan ke instans asli menggunakan pasangan kunci baru
- Langkah 9: Bersihkan
Langkah 1: Buat pasangan kunci baru
Buat key pair baru menggunakan EC2 konsol Amazon 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 Buat key pair menggunakan Amazon EC2 or Buat key pair menggunakan alat pihak ketiga dan impor 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
-
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pilih Instans dalam panel navigasi, lalu pilih instans yang ingin Anda hubungkan. (Kami akan merujuknya sebagai instans asli.)
-
Pada tab Detail, catat ID dan AMI ID instance.
-
Pada tab Jaringan, catat Zona Ketersediaan.
-
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
Untuk meluncurkan instans sementara
-
Di panel navigasi, pilih Instans, lalu pilih Luncurkan instans.
-
Di bagian Nama dan tanda, untuk Nama, masukkan Sementara.
-
Di bagian Application and OS Images, pilih AMI yang sama dengan yang Anda gunakan untuk meluncurkan instance asli. Jika AMI ini tidak tersedia, Anda dapat membuat AMI yang dapat Anda gunakan dari instance yang dihentikan. Untuk informasi selengkapnya, lihat Buat yang EBS didukung Amazon AMI.
-
Di bagian Tipe instans, pertahankan tipe instance default.
-
Di bagian Pasangan kunci, untuk Nama pasangan kunci, pilih pasangan kunci yang ada untuk digunakan atau buat yang baru.
-
Di bagian Pengaturan jaringan, pilih Edit, lalu untuk Subnet, pilih subnet di Zona Ketersediaan yang sama dengan instans asli.
-
Di panel Ringkasan, pilih Luncurkan.
Langkah 5: Copot volume root dari instans asli dan lampirkan ke instans sementara
-
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.) -
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 Anda dari AWS Marketplace AMI dan volume Anda 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
-
Luncurkan ke instans sementara.
-
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/sd
menjadif
/dev/xvd
.k
-
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. -
Buat direktori sementara untuk memasang volume.
[ec2-user ~]$
sudo mkdir /mnt/tempvol
-
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 7.x RHEL
[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
-
-
Dari instans sementara, gunakan perintah berikut untuk memperbarui
authorized_keys
pada volume yang dipasang dengan kunci publik baru dariauthorized_keys
untuk instans sementara.penting
Contoh berikut menggunakan nama pengguna Amazon Linux
ec2-user
. Anda mungkin perlu mengganti nama pengguna yang berbeda, sepertiubuntu
untuk instance Ubuntu.[ec2-user ~]$
cp .ssh/authorized_keys /mnt/tempvol/home/
ec2-user
/.ssh/authorized_keysJika 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_keysDalam contoh output ini,
222
adalah ID pengguna dan500
merupakan 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_keysJalankan lagi akun perintah berikut untuk menentukan apakah izin sudah berubah atau belum.
[ec2-user ~]$
sudo ls -l /mnt/tempvol/home/
ec2-user
/.sshJika 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
-
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
-
Lepaskan volume dari instance sementara (Anda melepasnya pada langkah sebelumnya): Dari EC2 konsol Amazon, pilih Volume di panel navigasi, pilih volume perangkat root untuk instance asli (Anda mencatat ID volume pada langkah sebelumnya), pilih Tindakan, Lepaskan volume, lalu pilih Lepaskan. Tunggu status volume menjadi
available
. (Anda mungkin harus memilih ikon Segarkan.) -
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 mengharapkan 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 instance sementara, dan pilih Instance state, Terminate (delete) instance.