Saya memerlukan akses SSH ke instans Amazon EC2 yang menjalankan Ubuntu 10.4. Yang saya miliki hanyalah nama pengguna dan kata sandi Amazon. Ada ide?
Jawaban:
Pada dasarnya, Anda memerlukan file kunci pribadi untuk login ke EC2 Anda melalui SSH. Ikuti langkah-langkah berikut untuk membuatnya:
ssh -i /path/to/private-key root@<ec2-public-dns-address>
- nama pengguna root telah dihindari di rilis terbaru, berdasarkan pilihan distribusi Anda ec2-user
atau ubuntu
sebagai nama pengguna Anda.ubuntu
login daripada root
. Ternyata saya punya contoh ubuntu server 12.04.
ec2-user
atau mungkin ubuntu
, tetapi tidak root
.
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>
gunakan saja, ubuntu
bukan root
. Masalah Anda akan terpecahkan. Bersulang!
LANGKAH 1) Unduh kunci pribadi yang ditugaskan ke mesin ec2 Anda (yang hanya satu kali mengunduh saat dibuat. Jadi disarankan untuk berkomitmen di suatu tempat)
LANGKAH 2) dan jalankan perintah berikut,
chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
Dokumen Resmi : Menghubungkan ke Instans Linux / Unix Anda Menggunakan SSH
Anda perlu membuat pasangan kunci terlebih dahulu - lakukan itu menggunakan konsol EC2 Anda. Kemudian gunakan kunci pribadi Anda ke SSH ke server (nama penggunanya ec2-user
) menggunakan klien SSH pilihan Anda.
Setelah masuk, Anda dapat mengeluarkan a sudo su -
untuk mendapatkan root jika Anda mau (catatan: Anda tidak dapat masuk sebagai root secara langsung).
Jika Anda menggunakan MacOS, Anda harus membuat / mengedit file konfigurasi SSH (~ / .ssh / config) dan meletakkan sesuatu seperti:
Host *.amazonaws.com
User ubuntu
Port 22
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem
Kemudian untuk menghubungkan ke salah satu instans EC2:
ssh MYNAME.amazonaws.com
Tidak ada lagi!
Untuk mengatur Ubuntu di AWS, ikuti langkah-langkah berikut:
Untuk mengakses instance melalui SSH, jalankan:
Hubungkan ke kotak Linux dengan menentukan file PEM Anda, misalnya
ssh -i "file.pem" ubuntu@x.x.x.x
Pastikan file PEM Anda memiliki 600 izin ( chmod 600 file.pem
).
Jika Anda menjalankan instance VPC, dan grup keamanan Anda sudah benar (dengan aturan yang benar) dan masih tidak berfungsi, di bagian VPC periksa subnet Anda yang harus dilampirkan ke VPC Anda (keduanya digunakan oleh instance Anda) dan siapkan aturan baru di Route Table yang memiliki 0.0.0.0/0
sebagai tujuan dan Anda Internet Gateway sebagai Sasaran .
Untuk detail selengkapnya, periksa: Pemecahan Masalah Menghubungkan ke Mesin Virtual Anda
Lihat juga: Kemungkinan alasan waktu tunggu saat mencoba mengakses instans EC2
1) Pertama chmod
yang .pem file
untuk membatasi hak izin berkas seperti di bawah ini
chmod 400 my-key-pair.pem
2) Kemudian
ssh
dengan perintah berikut langsung dari .ssh
folder
ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com
Catatan: - Untuk menavigasi ke dalam .ssh
folder. Pertama tekan Ctrl + H
untuk menampilkan semua file tersembunyi dan terakhircd .ssh
Tidak masuk sebagai pengguna yang tepat untuk Anda OS Distro bisa menjadi masalah. Untuk AMI baru tertentu, nama pengguna mungkin bukan "ubuntu", tetapi "ec2-user". Untuk Amazon Linux, misalnya, saya yakin penggunanya adalah "ec2-user". Eric Hammond memberikan contoh di sini: http://alestic.com/2014/01/ec2-ssh-username
Saran saya, coba:
ssh -i /path/to/file.pem ec2-user@ec2...
ssh -i /path/to/file.pem ubuntu@ec2...
ssh -i /path/to/file.pem root@ec2...
Jika Anda memiliki AMI yang salah, Anda mungkin hanya ingin me-restart mesin sama sekali sehingga Anda memiliki keseragaman di antara cluster Anda. Jika ini masalah Anda, Anda mungkin menginginkan OS Distro yang sama setidaknya untuk kotak linux Anda.
Melakukan apa yang disarankan dalam semua jawaban ini tidaklah cukup. Terhadap setiap contoh Anda melihat grup keamanan. Saat Anda meluncurkan instance baru, Anda akan menyetelnya ke default. Anda perlu mengedit grup keamanan dan menambahkan port ssh itu. Nanti Anda perlu menambahkan port 8080, 8443, 80, 443 juga saat Anda ingin meng-host situs web Anda.
Saya Menerima tawaran AWS untuk menggunakan grup keamanan default yang mencakup port 'All Trafic'.
Dan, setelah berkali-kali mencoba untuk terhubung pada contoh ec2 baru saya, saya baru menyadari bahwa saya harus mengedit grup keamanan bekas saya dan secara manual menambahkan ke masuk dan keluar 22 port (ssh)!
Semoga membantu!
Pertama ubah izin file pem oleh
chmod 400 path/to/key_pair.pem
Di dalam file ~ / .ssh / config tambahkan baris berikut, di bagian atas file
Host AWS
Hostname myserver.com
User myuser
IdentityFile path/to/.pem/file
port 22
Nama host mengambil IP atau tautan server, Pengguna mengambil nama pengguna server dan File identitas adalah file yang diunduh dari AWS saat Anda membuat instans. Jalankan saja perintah berikut di terminal
ssh AWS
dan nikmatilah!
Catatan : Untuk menavigasi ke dalam .ssh
folder. Pertama tekan Ctrl + H
di folder home untuk menampilkan semua file tersembunyi dan terakhircd .ssh
Pastikan hal ini diperiksa
kunci pribadi harus memiliki 400 izin
Pastikan port 22 terbuka untuk instans AWS yang Anda coba akses.
ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX
// XXX.XXX.XXX.XXX = ip publik instance Anda