Попытка SSH в экземпляр Amazon Ec2 - ошибка разрешения - PullRequest
650 голосов
/ 19 ноября 2011

Это, наверное, глупо простой вопрос для некоторых:)

Я создал новый экземпляр linux на Amazon EC2 и как часть этого скачал файл .pem, чтобы я мог войти в SSH.

Когда я пытался выполнить ssh с помощью:

ssh -i myfile.pem <public dns>

, я получил:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: amazonec2.pem
Permission denied (publickey).

После этого поста Я попытался chmod +600 pemфайл, но теперь, когда я ssh, я просто получаю:

Permission denied (publickey).

Какую ошибку школьника я здесь делаю?Файл .pem находится в моей домашней папке (в osx).Это разрешения выглядят так:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

Ответы [ 28 ]

1 голос
/ 24 октября 2017

Просто измените разрешение файла pem на 0600, разрешив только для разрешенного пользователя, и оно будет работать как шарм.

sudo chmod 0600 myfile.pem

А затем попытайтесь ssh, он будет работать отлично.

ssh -i myfile.pem <<ssh_user>>@<<server>>
0 голосов
/ 03 июня 2019

Ваш ключ не должен быть публично доступен для работы SSH.При необходимости используйте эту команду:

chmod 400 Interview-apps.pem

Connect to your instance using its Public DNS:

ec2-**-***-***-***.us-west-2.compute.amazonaws.com

Пример:

ssh -i "Interview-apps.pem" ec2-user@ec2-**-***-***-***.us-west-2.compute.amazonaws.com
0 голосов
/ 20 марта 2019

Иногда в папке может быть ошибка.Я не знаю, почему ...

Вы можете изменить папку и попробовать еще раз.Например, вы можете экспериментировать в обычных папках (Desktop, Downloads и т. Д.).

Я пробовал этот метод и работал

0 голосов
/ 08 июня 2018

Я видел две причины этой проблемы

1) ключ доступа не имеет прав доступа.Ключи pem с разрешением по умолчанию не позволяют устанавливать безопасное соединение.Вам просто нужно изменить разрешение:

chmod 400 xyz.pem

2) Также проверьте, вошли ли вы с правильными учетными данными пользователя.В противном случае используйте sudo при подключении

sudo ssh -i {keyfile} ec2-user @ {IP-адрес удаленного хоста}

0 голосов
/ 02 мая 2018

Это просто проблема с разрешением вашего ключа pem aws.

Просто измените разрешение ключа pem на 400, используя следующую команду.

chmod 400 pemkeyname.pem

Если у вас нет разрешениячтобы изменить разрешение файла, вы можете использовать команду sudo, как показано ниже:

sudo chmod 400 pemkeyname.pem

Надеюсь, это должно работать нормально.

0 голосов
/ 13 марта 2018

Эта ошибка только из-за разрешения.

Просто дайте разрешение 600

# chmod 600 pemfilepath

0 голосов
/ 12 октября 2017

Ниже приведены простые шаги для пользователя Linux для подключения к серверу с использованием файла .pem:

Step1: To к местоположению файла pem и скопируйте его в домашнее местоположение .ssh.

cp example.pem ~/.ssh/example.pem

Шаг 2: Изменить разрешение

chmod 400 ~/.ssh/example.pem

Шаг 3: Запустите следующую команду

ssh -i ~/.ssh/example.pem ec2-user@host.com

Поскольку эта команда слишком длинная, вы можете создать ее псевдоним, используя следующие команды:

 vim ~/.bashrc

Напишите в конце ту же команду следующим образом.

alias sshConnect='ssh -i ~/.ssh/example.pem ec2-user@host.com'

Теперь перезагрузите вашу систему и используйте sshConnect для соединения с вашим сервером.

0 голосов
/ 09 сентября 2013

Что исправило это для меня, так это перемещение файла .pem в каталог приложений. Так сказать, fooapp - это название моего приложения. Я поместил это прямо там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...