ВНИМАНИЕ: Незащищенный частный ключевой файл! при попытке SSH в инстанс Amazon EC2 - PullRequest
157 голосов
/ 14 октября 2008

Я работаю над настройкой Panda на инстансе Amazon EC2. Вчера вечером я настроил свою учетную запись и инструменты, и у меня не было проблем с использованием SSH для взаимодействия с моим личным экземпляром, но сейчас мне не дают разрешения на доступ к экземпляру Panda EC2. Начало работы с Panda

Я получаю следующую ошибку:

@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @

Permissions 0644 for '~/.ec2/id_rsa-gsg-keypair' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

Я изменил свою пару ключей на 600, чтобы попасть в свой личный экземпляр вчера вечером, и экспериментировал с подробностями, устанавливая разрешения на 0 и даже генерируя новые строки ключей, но, похоже, ничего не работает.

Любая помощь была бы отличной помощью!


Хм, похоже, что если для каталога не установлены разрешения 777, сценарий ec2-run-instances не может найти мои ключевые файлы. Я новичок в SSH, поэтому могу что-то пропустить.

Ответы [ 8 ]

188 голосов
/ 20 октября 2008

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

И так оно и должно быть.

Из документации EC2 у нас есть "Если вы используете OpenSSH (или любой разумно параноидальный SSH-клиент), вам, вероятно, потребуется установить разрешения для этого файла так, чтобы он был только для чтения вами. " Документация Panda, на которую вы ссылаетесь, ссылается на документацию Amazon, но на самом деле не говорит, насколько это важно.

Идея в том, что файлы пары ключей похожи на пароли и должны быть защищены. Итак, используемый вами ssh-клиент требует, чтобы эти файлы были защищены и чтобы их мог прочитать только ваша учетная запись.

Установки каталога на 700 действительно должно быть достаточно, но 777 не повредит, пока файлы 600.

Любые проблемы, с которыми вы сталкиваетесь, относятся к клиентской части, поэтому обязательно включайте информацию о локальной ОС в любые последующие вопросы!

49 голосов
/ 14 октября 2008

Убедитесь, что каталог, содержащий файлы закрытого ключа, установлен на 700

chmod 700 ~/.ec2
25 голосов
/ 05 сентября 2014

Чтобы это исправить, 1) вам нужно сбросить разрешения обратно к значениям по умолчанию:

sudo chmod 600 ~/.ssh/id_rsa sudo chmod 600 ~/.ssh/id_rsa.pub

Если вы получаете другую ошибку: Вы уверены, что хотите продолжить подключение (да / нет)? да Не удалось добавить хост в список известных хостов (/home/geek/.ssh/known_hosts).

2) Это означает, что права доступа к этому файлу также установлены неправильно и могут быть скорректированы следующим образом:

sudo chmod 644 ~/.ssh/known_hosts

3) Наконец, вам также может потребоваться настроить права доступа к каталогу:

sudo chmod 755 ~/.ssh

Это должно вернуть вас к работе.

13 голосов
/ 17 апреля 2015

Файл закрытого ключа должен быть защищен. В моем случае я использовал аутентификацию public_key в течение длительного времени, и я использовал для установки разрешения 600 (rw- --- ---) для закрытого ключа и 644 (rw- r-- r--) и для В папке .ssh в домашней папке у вас будет 700 разрешений (rwx --- ---). Для настройки перейдите в домашнюю папку пользователя и выполните следующую команду


Установите разрешение 700 для папки .ssh

chmod 700 .ssh


Установите разрешение 600 для файла закрытого ключа

chmod 600 .ssh/id_rsa


Установить 644 разрешение для файла открытого ключа

chmod 644 .ssh/id_rsa.pub
4 голосов
/ 12 июля 2018

У меня тоже возникла та же проблема, но я исправил ее, изменив разрешение файла ключа на 600.

sudo chmod 600 /path/to/my/key.pem

Ссылка: http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/

1 голос
/ 07 июня 2017

Сохраните свой личный ключ, открытый ключ, known_hosts в том же каталоге и попробуйте войти, как показано ниже:

ssh -I(small i) "hi.pem" ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
  • Тот же каталог в том смысле, cd /Users/prince/Desktop. Теперь наберите команду ls и вы должны увидеть **.pem **.ppk known_hosts

Примечание: Вы должны попытаться войти в систему из того же каталога, иначе вы получите сообщение об ошибке отказа в разрешении, поскольку он не может найти файл .pem из вашего текущего каталога.


Если вы хотите иметь возможность SSH из любого каталога, вы можете добавить следующее к вам ~/.ssh/config file ...

Host your.server
HostName ec2-user@ec2-**-***-**-***.us-west-2.compute.amazonaws.com
User ec2-user
IdentityFile ~/.ec2/id_rsa-gsg-keypair
IdentitiesOnly yes

Теперь вы можете использовать SSH на своем сервере независимо от того, где находится каталог, просто набрав ssh your.server (или любое другое имя, которое вы ставите после «Host»).

0 голосов
/ 16 декабря 2018

В Windows попробуйте использовать git bash и используйте там свои команды Linux. Легкий подход

chmod 400 *****.pem

ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com
0 голосов
/ 14 июня 2017

Я думаю о другом, если вы пытаетесь войти с другим именем пользователя, которое не существует, это сообщение, которое вы получите.

Итак, я предполагаю, что вы, возможно, пытаетесь выполнить ssh с пользователем ec2, но я помню, что в последнее время большинство AMI-файлов centos, например, используют centos user вместо ec2-user

так что если вы ssh -i file.pem centos@public_IP скажите, пожалуйста, что вы пытаетесь использовать ssh с правильным именем пользователя, в противном случае это может быть серьезной причиной, по которой вы видите такое сообщение об ошибке, даже если у вас есть необходимые разрешения для ~ / .ssh / id_rsa или file.pem

...