Я хочу использовать свой экземпляр Amazon ec2, но столкнулся со следующей ошибкой:
Permission denied (publickey).
Я создал свою пару ключей и скачал .pem файл.
Данный:
chmod 600 pem file.
Затем эта команда
ssh -i /home/kashif/serverkey.pem ubuntu@ec2-54-227-242-179.compute-1.amazonaws.com
Но есть эта ошибка:
Permission denied (publickey)
Кроме того, как я могу связаться с FileZilla для загрузки / скачивания файлов?
amazon-web-services
ssh
amazon-ec2
Kashiftufail
источник
источник
admin
. По крайней мере, для версий 6.5 и 7.0.ec2-user
, убедитесь, что вы не используетеec2_user
:)$HOME/.ssh/authorized_keys
файле.Ответы:
Это сообщение об ошибке означает, что вам не удалось пройти аутентификацию.
Это общие причины, которые могут вызвать это:
ubuntu
это имя пользователя для дистрибутива AWS на основе Ubuntu, но на некоторых других этоec2-user
(илиadmin
на некоторых Debian, согласно ответу Богдана Кульбиды) (также может бытьroot
,fedora
смотрите ниже)Обратите внимание, что
1.
это также произойдет, если вы испортили/home/<username>/.ssh/authorized_keys
файл в своем экземпляре EC2.О
2.
, информация о том, какое имя пользователя вы должны использовать, часто отсутствует в описании изображения AMI. Но некоторые из них можно найти в документации по AWS EC2, пункт с маркировкой4.
: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.htmlНаконец , имейте в виду, что существует множество других причин, по которым аутентификация не удалась. SSH обычно довольно ясно говорит о том, что пошло не так, если вы хотите добавить
-v
опцию в вашу команду SSH и прочитать вывод, как объяснялось во многих других ответах на этот вопрос.источник
В этом случае проблема возникает из-за потерянной пары ключей. Об этом:
Вы можете выполнить следующие действия:
В общем, помните, что вы должны разрешить вашему экземпляру EC2 принимать входящий трафик SSH.
Для этого вам нужно создать определенное правило для группы безопасности вашего экземпляра EC2. Вы можете следовать этим шагам.
Надеюсь, что это может помочь кому-то, как мне помогли.
источник
Вот так я решил проблему
источник
Я решил проблему просто поставив
sudo
передНо правильное решение - сначала изменить владельца, а затем подключиться как обычный пользователь, как сказал Янус Троелсен ниже. В моем случае это будет:
источник
sudo chown wellington:wellington key.pem
.Попробуйте использовать
ИЛИ
источник
Другая возможная причина этой ошибки:
Когда домашний каталог пользователя доступен для записи в группе пользователя доступен для , пользователь не может войти в систему.
(Воспроизводится на экземпляре Ubuntu.)
источник
для экземпляра Ubuntu 12.04 LTS Micro мне пришлось установить имя пользователя в качестве опции
источник
Вам нужно сделать следующие шаги:
cd <path to your .pem file>
chmod 400 <filename>.pem
ssh -i <filename>.pem ubuntu@<ipaddress.com>
Если
ubuntu
пользователь не работает, попробуйтеec2-user
.источник
Я боролся с тем же разрешением отказано в ошибке, по-видимому, из-за
В моей ситуации причиной был файл конфигурации ssh текущего пользователя (~ / .ssh / config).
Используя следующее:
Первоначальный вывод показал:
... много строк отладки вырезано здесь ...
Третья строка выше - это место, где была выявлена актуальная проблема; однако я искал отладочное сообщение в четырех строках снизу (сверху) и был введен в заблуждение. С ключом проблем нет, но я проверил его и сравнил другие конфигурации.
Мой пользовательский конфигурационный файл ssh сбрасывает хост через непреднамеренные глобальные настройки, как показано ниже. Первая строка Host не должна была быть комментарием.
Я надеюсь, что кто-то еще считает это полезным.
источник
Я забыл добавить имя пользователя (Ubuntu) при подключении моего экземпляра Ubuntu. Итак, я попробовал это:
и правильный путь был
источник
Это случалось со мной несколько раз. Я использовал Amazon Linux AMI 2013.09.2 и Ubuntu Server 12.04.3 LTS, которые находятся на свободном уровне.
Каждый раз, когда я запускаю экземпляр, у меня появляется отказ в разрешении. Я не проверял это, но моя теория состоит в том, что сервер не полностью настроен, прежде чем я пытаюсь подключиться к нему по ssh. После нескольких попыток с отказом в разрешении я подожду несколько минут и смогу подключиться. Если у вас возникла эта проблема, я советую подождать пять минут и повторить попытку.
источник
Вот возможные расстраивающие сценарии, которые производят эту ошибку:
Если вы запускаете новый экземпляр из созданного вами AMI другого экземпляра (скажем, экземпляра xyz), то новый экземпляр будет принимать только тот же ключ, который использовался экземпляром А. Это вполне понятно, но это сбивает с толку, потому что во время пошагового процесса создания нового экземпляра вас просят выбрать или создать ключ (на самом последнем шаге), который не будет работать.
Независимо от того, какой ключ вы создали или выбрали, новый экземпляр будет принят только тот ключ, который вы использовали, например, XYZ.
источник
Я тоже некоторое время боролся с этим, пока не нашел следующее:
Когда вы используете это из каталога проекта, bingo-bango no muss no fuss, вы находитесь в
источник
В моем собственном случае я сделал следующее:
Я первоначально использовал
root@
часть, и я получил это приглашение:источник
Я в Windows с WinSCP . Он отлично работает как в File Explorer, так и в PuTTY SSH Shell для доступа к моему Amazon EC2-VPC Linux. Там нет ничего , чтобы сделать с
chmod pem file
как он используетmyfile.ppk
конвертируются по PuTTYgen из файла PEM .источник
со мной произошло то же самое, но все, что происходило, это то, что закрытый ключ потерялся из цепочки для ключей на моей локальной машине.
повторно добавил ключ, затем команда ssh для подключения вернулась к работе.
источник
Эта проблема может быть решена путем входа в окно Ubuntu с помощью следующей команды:
источник
У меня дважды были правильные ключи и командная строка ssh (я знаю, потому что я дублирую работающий экземпляр Ubuntu 14.04), но я просто не смог подключиться к ssh в новом экземпляре, даже после ожидания 5 минут, как было предложено Уэйдом Андерсоном выше.
Я должен был уничтожить и воссоздать машину. Это произошло в двух разных случаях. Поскольку я не могу войти вначале, я не вижу, что не так.
Итак, если у вас есть эта проблема, попробуйте это.
источник
Вы должны проверить эти несколько вещей:
У меня была такая же проблема, и она решилась после того, как я сменил имя пользователя на Ubuntu. В документации AWS упоминался пользователь ec2-user, но у меня как-то не работает.
источник
Мой закрытый ключ был установлен на разрешение
400
и в результате было отказано в разрешении, установка «644» помогла мне.key_load_private_type: разрешение отклонено это конкретная ошибка, которую я получаю
Решение:
Sudo chmod 644 <key.pem>
Примечание: установить значение 644 необходимо, оно не работает с 400
источник
Когда вы пытаетесь сделать
ssh -i <.pem path> root@ec2-public-dns
Вы получите сообщение, советующее вам использовать
ec2-user
.Please login as the user "ec2-user" rather than the user "root".
Так что используйте
ssh -i <.pem path> ec2-user@ec2-public-dns
источник
У меня была такая же проблема, и это очень странно. Если вы считаете, что у вас все хорошо, следуйте этому: Иногда возникает путаница в отношении пользователя для экземпляра EC2 !! Иногда вы получаете ec2-user, ubuntu, centos и т. Д. Так что проверьте ваше имя пользователя для machie !!
Авторизуйтесь под root-пользователем.
ssh -i yourkey.pem (400 permission) root@<ip>
Он выдаст ошибку и даст вам доступное имя пользователя . затем войдите с этим пользователем.источник
Это простая вещь, но всегда проверяйте, какой пользователь пытается войти в систему. Им мой случай был просто отвлечением . Я пытался использовать пользователя root :
Но был другой пользователь :
источник
У меня была та же ошибка, но другая ситуация. для меня это случилось совершенно неожиданно после того, как я смог успешно подключиться к удаленному компьютеру. после долгих поисков решения моей проблемы были разрешения на доступ к файлам. это, конечно, странно, потому что я не менял никаких разрешений на своем компьютере или удаленном, принадлежащем файлам / каталогам ssh. так что из хорошей Archlinux Wiki вот оно:
Для локальной машины сделайте это:
Для удаленной машины сделайте это:
После этого мой SSH снова начал работать без вещи, запрещенной (publickey).
источник
Другая возможная проблема: неверный логин
Проверьте «Инструкции по использованию»
Все хорошие предложения выше, но я столкнулся с тем, что выбрал готовый экземпляр. После запуска экземпляра ознакомьтесь с инструкциями по использованию. Я неправильно использовал идентификатор входа в личный ключ, когда в инструкциях я должен был использовать «bitnami» (например, bitnami @ domain -i key.pem)
источник
У меня была похожая ошибка
Моя проблема заключалась в том, что экземпляр не запустился должным образом из-за ошибки в сценарии запуска при запуске из-
Step 3: Configure instance detail
подAdvanced details:
Что я думал, я вошел:
#include https://xxxx/bootstrap.sh
То, что на самом деле введено, нарушает настройку экземпляра
#include
https://xxxx/bootstrap.sh
Таким образом, открытый ключ на стороне экземпляра не был создан
источник
Это чувствительно к регистру.
Неправильно: SSH EC2-пользователь @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
Правильно: SSH ec2-user @ XXX.XX.XX.XX -i MyEC2KeyPair.pem
источник
Я был в состоянии SSH с одной машины, но не с другой. Оказывается, я использовал неправильный закрытый ключ.
Я понял это путем получения открытого ключа из моего закрытого ключа, например так:
ssh-keygen -y -f ./myprivatekey.pem
То, что получилось, не соответствовало тому, что было в
~/.ssh/authorized_keys
экземпляре EC2.источник
Все приведенные выше ответы являются точными и должны работать в большинстве случаев. В случае, если это не так, как в моем случае, я просто избавился от своего
~/.ssh/known_hosts
файла на компьютере, с которого пытался выполнить ssh, и это решило проблему для меня. Я смог подключиться потом.источник
known_hosts
может решить проблему при подключении к серверу, который изменил свой ключ хоста (в любом случае, это плохой подход), я почти уверен, что он не может решить ошибку «Permission denied (publickey)» .