Вопрос или проблема
Несколько минут назад я смог подключиться к экземпляру AWS EC2 ubuntu с помощью ключа и пароля. Теперь, с тем же ключом и паролем, появляется сообщение: Доступ запрещен (publickey,gssapi-keyex,gssapi-with-mic,password).
Я единственный, кто имеет доступ к экземпляру, и я не вносил никаких изменений в конфигурацию.
Я проверил, что экземпляр работает, как и службы, развернутые на нем.
Ответ или решение
Ошибка "Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)" при подключении к AWS EC2
Когда вы получаете ошибку "Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)" при попытке SSH-подключения к вашему экземпляру EC2 на AWS, это может вызывать определенные трудности. Давайте рассмотрим возможные причины этой проблемы и шаги для ее устранения.
1. Проверка ключа доступа
Первое, что следует проверить — это правильность ключа. Убедитесь, что вы используете правильный закрытый ключ (.pem
файл), который соответствует открытым ключам в экземпляре EC2.
-
Убедитесь, что вы используете правильный ключ:
ssh -i /path/to/your-key.pem ubuntu@your-instance-ip
-
Проверьте, что права на файл ключа установлены правильно:
chmod 400 /path/to/your-key.pem
2. Аутентификация через пароль
Если вы ранее могли подключиться через пароль, проверьте, не изменились ли настройки SSH-сервера на вашем экземпляре EC2, которые могут блокировать аутентификацию по паролю.
-
Откройте файл конфигурации SSH:
sudo nano /etc/ssh/sshd_config
-
Убедитесь, что следующие параметры установлены:
PasswordAuthentication yes PubkeyAuthentication yes
-
После внесения изменений не забудьте перезапустить SSH-сервер:
sudo systemctl restart ssh
3. Проверка пользователя
Убедитесь, что вы подключаетесь от имени правильного пользователя. Например, для Ubuntu это обычно ubuntu
, но для других дистрибутивов или образов может быть ec2-user
или другой пользователь. Определите правильное имя пользователя в документации AWS.
4. Безопасность группы и настройки сети
Если сервер доступен по SSH, убедитесь, что ваши настройки группы безопасности EC2 разрешают подключение по порту 22.
- Перейдите в раздел «Безопасность» на консоли AWS и проверьте параметры группы безопасности:
- Убедитесь, что есть правило для входящего трафика по порту 22, разрешающее IP-адреса, с которых вы пытаетесь подключиться.
5. Проверка целостности экземпляра
Иногда может быть проблема с самим экземпляром, особенно если происходило какое-либо обновление или изменение конфигурации. Если вы сделали какие-либо изменения в самом экземпляре, например, обновления пакетов или конфигурации, это могло повлиять на SSH. В таких случаях перезагрузка экземпляра или восстановление из резервной копии может помочь.
Вывод
Ошибка "Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)" может возникать по различным причинам, включая несоответствие ключей, неверные настройки пользователя и параметры безопасности. Пройдя через описанные шаги, вы сможете диагностировать и, возможно, устранить проблему. Если ни один из методов не помог, следует обратиться в службу поддержки AWS для получения дополнительной помощи.
Постоянное соблюдение лучшей практики управления ключами и безопасностью подключений значительно снизит вероятность возникновения таких ситуаций в будущем.