Mobaxterm – Доступ запрещен (Publickey)

Вопрос или проблема

У меня возникли проблемы с подключением к экземпляру Linux в AWS через Mobaxterm.
Я получаю следующую ошибку при попытке SSH на сервер;

─
[2018-02-16 10:07.57]  ~
[bunde.DESKTOP-A0APQ1T] ➤ ssh -v -i "XYZ.pem" servername.eu-west-2.compute.amazonaws.com
OpenSSH_7.1p2, OpenSSL 1.0.1g 7 Apr 2014
debug1: Чтение конфигурационных данных /etc/ssh_config
debug1: Подключение к servername.eu-west-2.compute.amazonaws.com [x.x.x.x] порт 22.
debug1: Подключение установлено.
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификации /var/keys/.10996.ssh тип -1
debug1: key_load_public: Нет такого файла или каталога
debug1: файл идентификации /var/keys/.10996.ssh-cert тип -1
debug1: Включение режима совместимости для протокола 2.0
debug1: Локальная строка версии SSH-2.0-OpenSSH_7.1
debug1: Удаленная версия протокола 2.0, удаленная версия программного обеспечения OpenSSH_7.4
debug1: совпадение: OpenSSH_7.4 паттерн OpenSSH* совместимость 0x04000000
debug1: Аутентификация на servername.eu-west-2.compute.amazonaws.com:22 как 'bunde'
debug1: SSH2_MSG_KEXINIT отправлено
debug1: SSH2_MSG_KEXINIT получено
debug1: kex: сервер->клиент aes128-ctr hmac-sha1 [email protected]
debug1: kex: клиент->сервер aes128-ctr hmac-sha1 [email protected]
debug1: ожидается SSH2_MSG_KEX_ECDH_REPLY
debug1: Ключ хоста сервера: ssh-rsa SHA256: ...
debug1: Хост 'servername.eu-west-2.compute.amazonaws.com' известен и соответствует ключу RSA.
debug1: Найден ключ в /home/mobaxterm/.ssh/known_hosts:1
debug1: SSH2_MSG_NEWKEYS отправлено
debug1: ожидается SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS получено
debug1: SSH2_MSG_SERVICE_REQUEST отправлено
debug1: SSH2_MSG_SERVICE_ACCEPT получено
debug1: pubkey_prepare: ssh_fetch_identitylist: агент отказал в операции
debug1: Аутентификации, которые могут продолжаться: publickey
debug1: Следующий метод аутентификации: publickey
debug1: Попытка частного ключа: /var/keys/.10996.ssh
debug1: Аутентификации, которые могут продолжаться: publickey
debug1: Больше методов аутентификации не осталось.
**Доступ запрещен (publickey).**

Какие идеи?
Я пытался поиграть с правами доступа к файлам (я знаю, что на моем Mac ключи должны быть хорошо защищены), но изменения, похоже, не влияют на ошибку, которую я получаю.

Похоже, ваша проблема связана с правами доступа к файлам. Можете ли вы проверить через Mobaxterm, что ключ находится в папке, из которой вы пытаетесь выполнить команду ssh?

Запустите ls -lh из консоли Mobaxterm и проверьте, существует ли файл XYZ.pem с владельцем и группой пользователя, который запускает mobaxterm, а также с правами доступа 600 (-rw——-).

Я не эксперт в MAC, хотя я довольно уверен, что он имеет ssh-клиент по умолчанию, взгляните на эту ссылку

Удалите Mobaxterm. Переустановите в другое место, не в Программах, потому что у вас больше нет прав на запись туда.

Ответ или решение

Ошибка Mobaxterm – Permission Denied (Publickey): Решения и Рекомендации

Ошибка "Permission denied (publickey)" при подключении к экземпляру Linux в AWS через Mobaxterm является распространенной проблемой, которая может возникнуть по нескольким причинам. В данном ответе мы рассмотрим наиболее вероятные причины этой ошибки и предоставим подробные шаги для ее устранения.

1. Проверка прав доступа к файлу ключа

Одной из самых распространенных причин возникновения данной ошибки являются неправильные права доступа к файлу с приватным ключом (XYZ.pem). SSH требует, чтобы права доступа к ключу были настроены так, что только владелец может их прочитать и записать. Правила следующие:

  • Необходимо удостовериться, что файл XYZ.pem имеет права 600 (-rw-------).

Как проверить права доступа:

  • Откройте консоль Mobaxterm и выполните команду:
    ls -lh XYZ.pem
  • Убедитесь, что вывод показывает права доступа как -rw-------.

Как изменить права доступа:
Если права доступа неверные, измените их с помощью команды:

chmod 600 XYZ.pem

2. Проверка наличия файла ключа

Убедитесь, что файл XYZ.pem действительно существует в той директории, из которой вы запускаете команду SSH. Если файл находится не там, где ожидается, это также может привести к ошибке аутентификации.

Проверка наличия файла:

  • Используйте команду:
    ls -lh
  • Убедитесь, что он присутствует в выводе списка.

3. Проверка конфигурации SSH

Иногда проблема может быть связана с конфигурационными файлами SSH. Проверьте, сконфигурированы ли все настройки верно.

Обновление конфигурации:

  • Откройте файл конфигурации SSH (обычно находится в /etc/ssh/ssh_config или ~/.ssh/config) и проверьте, нет ли там неправильных записей.

4. Использование правильного пользователя

Убедитесь, что вы подключаетесь к серверу с использованием правильного пользователя. Например, для экземпляров Ubuntu обычно используется пользователь ubuntu, а для Amazon Linux — ec2-user.

Пример правильной команды:

ssh -i "XYZ.pem" ec2-user@servername.eu-west-2.compute.amazonaws.com

5. Проверка SSH-агента

В некоторых случаях проблема может быть связана с SSH-агентом, который отказывается выполнять операции. Убедитесь, что ваш приватный ключ добавлен в SSH-агент.

Добавление ключа в агент:

ssh-add XYZ.pem

6. Установка Mobaxterm

Если все вышеперечисленное не помогло, возможно, проблема заключается в самом программном обеспечении Mobaxterm. Попробуйте переустановить Mobaxterm в директорию, к которой у вас есть полный доступ, вместо установки в Program Files, где могут быть ограничения на запись.

Заключение

Ошибка "Permission denied (publickey)" может возникнуть по нескольким причинам, включая неправильные права доступа, отсутствие файла ключа, конфигурационные ошибки или неверное имя пользователя. Следуя этому руководству, вы сможете диагностировать и устранить проблему.

Если после выполнения всех указанных шагов ошибка продолжает проявляться, обратитесь в службу поддержки AWS или на форумы, посвященные Mobaxterm, для получения дополнительной помощи.

Это руководство поможет вам не только устранить текущую проблему, но и лучше понять работу SSH и безопасность доступа к вашим облачным ресурсам.

Оцените материал
Добавить комментарий

Капча загружается...