Невозможно подключиться к экземпляру EC2 Linux из Windows 10 CMD с помощью ssh - PullRequest
2 голосов
/ 11 апреля 2020

У меня есть запущенный экземпляр EC2, на котором запущен Linux OS (Amazon Linux AMI release 2018.03).

Учитывая, что Windows 10 имеет SSH клиента, доступного в командной строке, я пытался SSH в мой экземпляр EC2, используя закрытый ключ SSH (файл .pem), предоставленный AWS в качестве пары ключей во время установки экземпляра EC2.

Команда Я использую на cmd is:

ssh -i private_key.pem ec2-user@3.133.96.240

Здесь private_key.pem - имя файла секретного ключа, предоставленного AWS.

Но я продолжаю получать сообщение об ошибке:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'private_key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "private_key.pem": bad permissions
ec2-user@3.133.96.240: Permission denied (publickey).

Некоторые вещи, которые я хотел бы уточнить:

  1. Есть аналогичные вопросы о StackOverflow. Эти вопросы на самом деле связаны с попыткой подключиться к экземпляру EC2 с хоста, на котором работает MacOS / Linux (любая ОС на основе UNIX). В моем случае я пытаюсь подключиться с хоста Windows 10 с помощью командной строки.

  2. В ответ на такие другие вопросы, которые обсуждались в (1), люди предложили попробовать изменить разрешение доступа к файлу с закрытым ключом (.pem) только для чтения (chmod 444 file.pem). В ответ я попытался сделать мой .pem файл доступным только для чтения из свойств файла в моем Windows. Это не помогло. Я продолжаю получать ту же ошибку.

  3. Я могу подключиться к другим удаленным Linux хостам с моего Windows 10 cmd, что говорит о том, что, вероятно, нет проблем с моим Windows 10 S SH client.

  4. Я знаю, что это соединение можно сделать проще, используя Putty вместо CMD, но это не тот вопрос, о котором идет речь. Просто предположим, что из-за некоторых ограничений я не могу использовать Putty.

Любая помощь будет признательна.

Ответы [ 2 ]

1 голос
/ 12 апреля 2020

В Windows 10 найдите нужный файл pem и щелкните его правой кнопкой мыши.

В Свойствах -> Безопасность -> Дополнительно:
1. Сделайте своего пользователя владельцем файл 2. Дайте разрешения на чтение и выполнение для вашего пользователя, при удалении всех других разрешений на файл для других пользователей или групп.

enter image description here

0 голосов
/ 11 апреля 2020

Вы правы - это потому, что Windows модель разрешений отличается от Linux.

Подробнее: Понимание Linux Разрешения для файлов - Linux .com

Есть много советов, как решить проблему. Я бы предложил применить этот скрипт из этого репозитория: открывает sh -портативный

Согласно исходный код

.Synopsis Устанавливает ACL защищенного файла. 1. Удалены все пользовательские списки доступа, кроме группы «Администраторы», системы и текущего пользователя 2. Независимо от того, является ли владелец владельцем. Выходы нет данных. Входные данные FilePath - путь к владельцу файла - если хотите стать владельцем

...