Подтвердить что ты не робот

Не удается ssh для AWS EC2: файл удостоверения недоступен

Я не могу ssh на свой сервер EC2 и получаю ошибку:

ssh -i /Users/Skeniver/Keepass/skeniver.pem [email protected]

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

Файл определенно находится в каталоге, и у меня есть chmod'd каталог до 755, а файл - 600:

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

Я уверен, что это проблема с разрешениями, но не могу понять, почему...

Вот результат команды ssh с использованием -v, если он используется:

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).
4b9b3361

Ответ 1

Вам нужен файл идентификатора для входа в систему. Используйте команду:

ssh -i (identity_file) [email protected]"

Это сработало для меня. Напишите только имя файла (без косых черт), в отличие от учебника Amazon EC2, в котором предлагается ввести:

ssh -i /path/key_pair.pem [email protected]_dns_name

Это сработало для меня после помещения файла идентификации в папку .ssh(скрытый) на дому. Чтобы просмотреть скрытые папки на дому, используйте ctrl+h

Ответ 2

У меня была аналогичная проблема, и я обнаружил, что в команде была скрытая команда char, вставка в текстовый редактор и копирование назад помогли мне.

Ответ 3

У меня была такая же проблема. Сохранение файла идентификации в моем каталоге ~/.ssh и запуск cd ~/.ssh до ssh -i (identity_file) [email protected]. Я столкнулся с проблемой при попытке запустить команду ssh извне ~/.ssh. Надеюсь, что это поможет

Ответ 4

Для вашего случая просто

просто выполните следующую команду, чтобы изменить разрешение

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

и затем выполните команду, которая соединит вас с EC2

ssh -i/Users/Skeniver/Keepass/skeniver.pem [email protected]

Ответ 5

У меня была такая же проблема, и я обнаружил, что проблема с путем к файлу. Щелкните правой кнопкой мыши на вашем key_pair.pem (идентичный файл), перейдите в свойства и скопируйте, и теперь ваш комментарий похож на

ssh -i /path/skeniver.pem [email protected]_public_ip

например, в моем случае команда, как

ssh -i /home/anil/.ssh/webKey.pem [email protected]

Ответ 6

Вам нужен файл идентификатора для входа в систему. Используйте команду

ssh -i (identity_file) [email protected]

Ответ 7

Попробуйте использовать

ssh -i Users/Skeniver/Keepass/skeniver.pem [email protected]

вместо

ssh -i **/**Users/Skeniver/Keepass/skeniver.pem [email protected]

Ответ 8

chmod 600 ~/.ssh/public_key_file решен для меня

Ответ 9

запустите команду из каталога .ssh, т.е. /Users//. ssh, а затем выполните команду ssh -v -i @

это сработало для меня после многих неудачных попыток.

примечание: пожалуйста, убедитесь, что .pem файл имеет необходимые разрешения chmod 400 & lt;.pem file> перед выполнением команды