ПРЕДУПРЕЖДЕНИЕ:НЕЗАЩИЩЕННЫЙ ФАЙЛ ЧАСТНОГО КЛЮЧА!при попытке подключиться по SSH к экземпляру Amazon EC2

StackOverflow https://stackoverflow.com/questions/201893

Вопрос

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

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

@         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, поэтому могу что-то упустить.

Это было полезно?

Решение

Вчера вечером я изменил свою пару ключей на 600, чтобы попасть в свой личный экземпляр,

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

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

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

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

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

Другие советы

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

chmod 700 ~/.ec2

Чтобы это исправить, 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

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

Файл закрытого ключа должен быть защищен.В моем случае я долгое время использовал аутентификацию 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

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

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

Связь : http://stackabuse.com/how-to-fix-warning-unprotected-private-key-file-on-mac-and-linux/

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

chmod 400 *****.pem

ssh -i "******.pem" ubuntu@ec2-11-111-111-111.us-east-2.compute.amazonaws.com

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

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 файл...

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 (или любое другое имя, которое вы укажете после «Хост»).

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

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

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

Просто примечание для тех, кто наткнется на это:

Если вы пытаетесь подключиться к SSH с ключом, которым вам поделились, например:

ssh -i /path/to/keyfile.pem user@some-host

Где keyfile.pem вам предоставлен общий/открытый ключ, и вы используете его для подключения, обязательно сохраните его в ~/.ssh/ и chmod 777.

Попытка использовать файл, когда он был сохранен в другом месте на моем компьютере, приводила к ошибке ОП.Не уверен, что это напрямую связано.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top