Pertanyaan Tidak bisa ssh ke AWS EC2: File identitas tidak dapat diakses


Saya tidak dapat ssh ke server EC2 saya dan mendapatkan kesalahan:

ssh -i /Users/Skeniver/Keepass/skeniver.pem ubuntu@xx.xxx.xx.xxx

Identity file /Users/Skeniver/Keepass/skeniver.pem not accessible: No such file or directory

File ini pasti ada di direktori dan saya telah chmod'd direktori ke 755 dan file ke 600:

drwxr-xr-x  14 Skeniver  staff    476 28 Nov  2012 Keepass
-rw-------  1 Skeniver  staff    1696  5 Oct  2012 skeniverkey.pem

Saya cukup yakin itu masalah perizinan, tetapi tidak bisa mencari tahu mengapa ...

Berikut adalah output dari perintah ssh menggunakan -v, jika ada gunanya:

Warning: Identity file /Users/Skeniver/Keepass/skeniver.pem not accessible: No such file or directory.
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to xx.xxx.xx.xxx [xx.xxx.xx.xxx] port 22.
debug1: Connection established.
debug1: identity file /Users/Skeniver/.ssh/identity type -1
debug1: identity file /Users/Skeniver/.ssh/id_rsa type 1
debug1: identity file /Users/Skeniver/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.2
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host 'xx.xxx.xx.xxx' is known and matches the RSA host key.
debug1: Found key in /Users/Skeniver/.ssh/known_hosts:8
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /Users/Skeniver/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/Skeniver/.ssh/identity
debug1: Trying private key: /Users/Skeniver/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

32
2018-06-11 06:45


asal


Jawaban:


Anda membutuhkan file identitas untuk masuk ke kotak. Gunakan perintah:

ssh -i (identity_file) username@hostname"

Ini berhasil bagi saya. Tulis nama file saja (tanpa garis miring), tidak seperti tutorial Amazon EC2 yang meminta Anda untuk memasukkan:

ssh -i /path/key_pair.pem ec2-user@public_dns_name

Ini berhasil bagi saya setelah meletakkan file identitas di folder .ssh (tersembunyi) di rumah. Untuk melihat folder tersembunyi di rumah, gunakan ctrl+h


15
2017-09-26 23:47



Saya memiliki masalah serupa dan menemukan bahwa ada perintah char tersembunyi, menempel ke editor teks biasa dan menyalin kembali membantu saya.


4
2018-06-18 05:20



Saya mengalami masalah yang sama ini. Menyimpan file identitas di saya ~/.ssh direktori dan berjalan cd ~/.ssh sebelum ssh -i (identity_file) username@hostname bekerja. Saya hanya berlari ke masalah ketika mencoba menjalankan perintah ssh dari luar ~/.ssh direktori. Semoga itu membantu


1
2018-01-20 21:44



Saya memiliki masalah yang sama dan saya menemukan masalah dengan path file. Klik kanan pada key_pair.pem Anda (file yang identik), pergilah ke properti dan salin dan sekarang komentar Anda seperti

ssh -i /path/skeniver.pem user@your_public_ip

misalnya dalam perintah saya seperti

ssh -i /home/anil/.ssh/webKey.pem ec2-user@ec2-45-349-50-38.us-west-2.compute.amazonaws.com

1
2018-06-13 18:53



Anda membutuhkan file identitas untuk masuk ke kotak. Gunakan perintah

ssh -i (identity_file) username@hostname

0
2018-06-11 06:47



Coba gunakan

ssh -i Users/Skeniver/Keepass/skeniver.pem ubuntu@xx.xxx.xx.xxx

dari pada

ssh -i **/**Users/Skeniver/Keepass/skeniver.pem ubuntu@xx.xxx.xx.xxx

0
2018-02-04 02:55



Hanya untuk kasus Anda

jalankan saja perintah berikut untuk mengubah izin

sudo chmod 400 /Users/Skeniver/Keepass/skeniver.pem

dan kemudian jalankan perintah yang akan menghubungkan Anda ke EC2

ssh -i /Users/Skeniver/Keepass/skeniver.pem ubuntu@xx.xxx.xx.xxx


0
2018-05-16 03:54