Saya ingin menggunakan contoh Amazon ec2 saya tetapi menghadapi kesalahan berikut:
Permission denied (publickey).
Saya telah membuat pasangan kunci dan mengunduh file .pem .
Diberikan:
chmod 600 pem file.
Lalu, perintah ini
ssh -i /home/kashif/serverkey.pem [email protected]
Tetapi ada kesalahan ini:
Permission denied (publickey)
Juga, bagaimana saya bisa terhubung dengan filezilla untuk mengunggah / mengunduh file?
amazon-web-services
ssh
amazon-ec2
Kashiftufail
sumber
sumber
admin
. Setidaknya untuk versi 6.5 dan 7.0.ec2-user
, pastikan Anda tidak menggunakanec2_user
:)$HOME/.ssh/authorized_keys
.Jawaban:
Pesan kesalahan ini berarti Anda gagal mengautentikasi.
Ini adalah alasan umum yang dapat menyebabkan itu:
ubuntu
adalah nama untuk distribusi AWS ubuntu berdasarkan, tetapi pada beberapa orang lain ituec2-user
(atauadmin
pada beberapa Debians, menurut jawaban Bogdan Kulbida ini) (juga bisaroot
,fedora
, lihat di bawah)Catatan itu
1.
juga akan terjadi jika Anda mengacaukan/home/<username>/.ssh/authorized_keys
file pada instance EC2 Anda.Tentang
2.
, informasi tentang nama pengguna yang harus Anda gunakan sering kurang dari deskripsi Gambar AMI. Tetapi Anda dapat menemukan beberapa di dokumentasi AWS EC2, poin4.
: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.htmlAkhirnya , ketahuilah bahwa ada banyak alasan lain mengapa otentikasi akan gagal. SSH biasanya cukup eksplisit tentang apa yang salah jika Anda ingin menambahkan
-v
opsi ke perintah SSH Anda dan membaca hasilnya, seperti yang dijelaskan dalam banyak jawaban lain untuk pertanyaan ini.sumber
Dalam hal ini masalahnya muncul dari Pasangan Kunci yang hilang. Tentang ini:
Anda dapat mengikuti langkah-langkah ini:
Secara umum, ingat Anda harus mengizinkan instance EC2 Anda untuk menerima lalu lintas SSH masuk.
Untuk melakukan ini, Anda harus membuat aturan khusus untuk Grup Keamanan instance EC2 Anda. Anda dapat mengikuti langkah-langkah ini.
Semoga ini bisa membantu seseorang seperti membantu saya.
sumber
Inilah cara saya memecahkan masalah
sumber
Aku memecahkan masalah hanya menempatkan
sudo
sebelumTetapi solusi yang tepat adalah mengubah kepemilikan terlebih dahulu, dan kemudian terhubung sebagai pengguna normal seperti yang dikatakan Janus Troelsen di bawah ini. Dalam kasus saya itu adalah:
sumber
sudo chown wellington:wellington key.pem
.Coba gunakan
ATAU
sumber
Kemungkinan penyebab lain dari kesalahan ini:
Ketika direktori home pengguna dapat ditulis kelompok , pengguna tidak dapat login.
(Direproduksi pada instance Ubuntu.)
sumber
untuk contoh mikro ubuntu 12,04 lts saya harus menetapkan nama pengguna sebagai opsi
sumber
Anda perlu melakukan langkah-langkah berikut:
cd <path to your .pem file>
chmod 400 <filename>.pem
ssh -i <filename>.pem ubuntu@<ipaddress.com>
Jika
ubuntu
pengguna tidak berfungsi maka coba denganec2-user
.sumber
Saya kesulitan dengan izin yang sama karena kesalahan ternyata
Dalam situasi saya penyebabnya adalah file konfigurasi ssh dari pengguna saat ini (~ / .ssh / config).
Menggunakan yang berikut ini:
Output awal menunjukkan:
... banyak garis debug memotong di sini ...
Baris ketiga di atas adalah tempat masalah aktual diidentifikasi; Namun, saya mencari pesan debug empat baris dari bawah (atas) dan disesatkan. Tidak ada masalah dengan kunci tetapi saya mengujinya dan membandingkan konfigurasi lainnya.
File konfigurasi ssh pengguna saya mengatur ulang host melalui pengaturan global yang tidak diinginkan seperti yang ditunjukkan di bawah ini. Baris Host pertama seharusnya bukan komentar.
Saya harap orang lain menemukan ini bermanfaat.
sumber
Saya lupa menambahkan nama pengguna (ubuntu) saat menghubungkan contoh Ubuntu saya. Jadi saya mencoba ini:
dan cara yang benar adalah
sumber
Ini terjadi pada saya beberapa kali. Saya telah menggunakan Amazon Linux AMI 2013.09.2 dan Ubuntu Server 12.04.3 LTS yang keduanya berada pada tingkat gratis.
Setiap kali saya meluncurkan contoh saya memiliki izin ditolak muncul. Saya belum memverifikasi ini tetapi teori saya adalah bahwa server tidak sepenuhnya diatur sebelum saya mencoba ssh ke dalamnya. Setelah beberapa kali mencoba dengan izin yang ditolak, saya menunggu beberapa menit dan kemudian saya dapat terhubung. Jika Anda mengalami masalah ini, saya sarankan menunggu lima menit dan mencoba lagi.
sumber
Berikut adalah skenario frustasi yang mungkin menghasilkan kesalahan ini:
Jika Anda menyantap instance baru dari AMI yang Anda buat dari instance lain (misalkan instance xyz), maka instance baru hanya akan menerima kunci yang sama dengan instance A yang digunakan. Ini benar-benar dapat dimengerti tetapi menjadi membingungkan karena selama proses langkah demi langkah membuat instance baru, Anda diminta untuk memilih atau membuat kunci (pada langkah terakhir) yang tidak akan berfungsi.
Terlepas dari kunci yang Anda buat atau pilih, hanya kunci yang Anda gunakan misalnya XYZ akan diterima oleh instance baru.
sumber
Saya berjuang dengan ini untuk sementara waktu sampai saya menemukan yang berikut:
Ketika Anda menggunakannya dari direktori proyek, bingo-bango no muss no ribut-ribut, Anda masuk
sumber
Dalam kasus saya sendiri, saya melakukan hal berikut:
Saya awalnya menggunakan
root@
bagian dan saya mendapat prompt ini:sumber
Saya di Windows dengan WinSCP . Ini bekerja sangat baik pada File Explorer dan Putty SSH Shell untuk mengakses Amazon EC2-VPC Linux saya. Tidak ada hubungannya dengan
chmod pem file
penggunaanmyfile.ppk
dikonversi oleh PuTTYgen dari file pem .sumber
hal yang sama terjadi pada saya, tetapi semua yang terjadi adalah bahwa kunci pribadi hilang dari gantungan kunci di mesin lokal saya.
menambahkan kembali kunci, maka perintah ssh untuk menghubungkan kembali berfungsi.
sumber
Masalah ini dapat diselesaikan dengan masuk ke kotak Ubuntu menggunakan perintah di bawah ini:
sumber
Saya sudah dua kali memiliki kunci dan ssh baris perintah yang benar (saya tahu karena saya menduplikasi contoh Ubuntu 14.04 yang berfungsi), tetapi tidak dapat ssh menjadi contoh baru, bahkan setelah menunggu 5 menit seperti yang disarankan oleh Wade Anderson di atas.
Saya harus menghancurkan dan menciptakan kembali mesin. Ini telah terjadi pada dua kesempatan terpisah. Karena saya tidak bisa masuk pada awalnya, saya tidak bisa melihat apa yang salah.
Jadi, jika Anda memiliki masalah ini, coba itu.
sumber
Anda harus memeriksa beberapa hal ini:
Saya memiliki masalah yang sama, dan diselesaikan setelah saya mengubah nama pengguna menjadi ubuntu. Dalam dokumentasi AWS disebutkan untuk pengguna ec2-user tetapi entah bagaimana tidak bekerja untuk saya.
sumber
Kunci pribadi saya disetel untuk izin
400
dan mengakibatkan Izin ditolak menetapkannya ke '644' membantu saya.key_load_private_type: Izin ditolak adalah kesalahan spesifik yang saya dapatkan
Larutan:
Sudo chmod 644 <key.pem>
Catatan: diatur ke 644 harus, itu tidak berfungsi dengan 400
sumber
Ketika Anda mencoba melakukannya
ssh -i <.pem path> root@ec2-public-dns
Anda mendapatkan pesan yang menyarankan Anda untuk menggunakan
ec2-user
.Please login as the user "ec2-user" rather than the user "root".
Jadi gunakan
ssh -i <.pem path> ec2-user@ec2-public-dns
sumber
Saya memiliki masalah yang sama dan sangat aneh. Jika Anda yakin Anda melakukan semua yang baik daripada mengikuti ini: Terkadang ada kebingungan tentang pengguna untuk instance EC2 !! Beberapa kali Anda mendapatkan pengguna ec2, ubuntu, centos dll. Jadi periksalah username Anda untuk machie !!
Login dengan pengguna root.
ssh -i yourkey.pem (400 permission) root@<ip>
Ini akan menimbulkan kesalahan dan akan memberi Anda nama pengguna yang tersedia . kemudian login dengan pengguna itu.sumber
Ini hal mendasar, tetapi selalu pastikan pengguna mana yang Anda coba lakukan login. Saya kasus saya hanya gangguan . Saya mencoba menggunakan pengguna root :
Tetapi ada pengguna lain :
sumber
saya memiliki kesalahan yang sama tetapi situasi yang berbeda. bagi saya itu terjadi tiba-tiba setelah banyak waktu saya bisa ssh berhasil ke komputer remote saya di luar sana. setelah banyak mencari solusi untuk masalah saya adalah izin file. itu aneh tentu saja karena saya tidak mengubah izin di komputer saya atau yang jauh milik file / direktori ssh. jadi dari wiki archlinux yang baik ini dia:
Untuk mesin lokal lakukan ini:
Untuk mesin jarak jauh lakukan itu:
setelah itu ssh saya mulai bekerja lagi tanpa izin ditolak (publickey).
sumber
Kemungkinan Kemungkinan Lain: ID login salah
Periksa 'Petunjuk Penggunaan'
Semua saran bagus di atas, tetapi yang saya temui adalah saya memilih contoh yang sudah dibuat sebelumnya. Setelah instance dimulai, lihat petunjuk penggunaan. Saya salah menggunakan id login kunci pribadi ketika dalam instruksi saya seharusnya menggunakan 'bitnami' (misalnya bitnami @ domain -i key.pem)
sumber
Saya memiliki kesalahan serupa
Masalah saya adalah bahwa instance tidak mulai dengan benar karena kesalahan pada skrip run-on-start-up dari
Step 3: Configure instance detail
bawahAdvanced details:
Apa yang saya pikir saya masukkan:
#include https://xxxx/bootstrap.sh
Apa yang sebenarnya dimasukkan merusak pengaturan instance
#include
https://xxxx/bootstrap.sh
Jadi kunci publik di sisi contoh tidak dibuat
sumber
Ini sensitif huruf.
Salah: Pengguna SSH EC2 @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
Benar: SSH ec2-user @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
sumber
Saya bisa SSH dari satu mesin, tetapi tidak dari yang lain. Ternyata saya menggunakan kunci pribadi yang salah.
Cara saya menemukan ini adalah dengan mengambil kunci publik dari kunci pribadi saya, seperti ini:
ssh-keygen -y -f ./myprivatekey.pem
Apa yang keluar tidak cocok dengan apa yang ada di
~/.ssh/authorized_keys
instance EC2.sumber
Semua jawaban berperingkat teratas di atas akurat dan harus berfungsi untuk sebagian besar kasus. Jika mereka tidak seperti dalam kasus saya, saya cukup menyingkirkan
~/.ssh/known_hosts
file saya pada mesin yang saya coba ssh dari dan yang memecahkan masalah bagi saya. Saya dapat terhubung setelah itu.sumber
known_hosts
dapat memecahkan masalah saat menyambungkan ke server yang telah mengubah kunci hostnya (meskipun ini pendekatan yang buruk), saya cukup yakin itu tidak dapat menyelesaikan kesalahan "Izin ditolak (publickey)" .