
egghead
Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.
Permission denied (publickey) when SSH Access to Amazon EC2 instance
Ошибка «В доступе отказано (publickey)» при подключении по SSH к Amazon EC2 — одна из самых распространённых проблем у пользователей AWS. Она может появляться как у начинающих, так и у опытных администраторов. В этом материале мы разберём типичные причины сбоя, способы их устранения и дадим рекомендации, которые помогут избежать подобных ошибок в будущем.
Ошибка возникает, когда сервер EC2 отклоняет попытку входа, так как не может проверить ваш SSH‑ключ или не принимает указанные имя пользователя. Ниже рассмотрены основные причины.
Если используется не тот файл .pem или ключ повреждён, EC2 не позволит подключиться. Это частая ситуация, если у вас несколько ключей или вы переименовывали файлы.
SSH требует строгих прав доступа к приватному ключу. Если они заданы неправильно, клиент SSH может просто игнорировать ключ.
Каждый AMI использует своё стандартное имя пользователя, и набор пользователей отличается. Если указать неправильный логин, авторизация не пройдёт.
На Linux или macOS выполните команду:
chmod 400 your-key.pem
Это гарантирует, что SSH примет ключ для использования.
Ниже приведены популярные варианты стандартных логинов:
Если у вас есть альтернативный способ доступа, убедитесь, что ключ действительно находится в файле и корректно прописан одной строкой.
Ошибка «В доступе отказано (publickey)» — решаемая. Зная основные причины и методы устранения, вы сможете быстро восстановить SSH‑доступ к вашему EC2 instance и избежать подобных проблем в дальнейшем.

Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.