Вопрос или проблема
У меня проблема с входом с использованием открытого ключа, сгенерированного с помощью puttygen. Мой /var/log/auth.log
говорит:
“Нет доступных поддерживаемых методов аутентификации [preauth]”
При попытке подключиться с помощью PuTTY я получаю ошибку:
Сервер отказал в нашем ключе
Отключено: Нет доступных поддерживаемых методов аутентификации (сервер прислал: publickey)
Похоже, что файл ключа, сгенерированный PuTTYgen, несовместим с OpenSSH?
Я не нашел работающего решения в интернете. Что это может быть?
Есть несколько возможностей:
- Вы должны запустить pagent и загрузить ваш приватный ключ перед тем, как пытаться подключиться к ssh-серверу
- Файл
~/.ssh/authorized_keys
имеет неправильные права доступа (должен иметь0600
)
Убедитесь, что файл .ppk
действительно содержит ключ в формате PuTTY (начинается с PuTTY-User-...
)
Иногда люди кладут PEM-формат туда (начинается с -----BEGIN OPENSSH PRIVATE KEY-----
), особенно когда копируют и вставляют ключи с одной рабочей станции на другую.
Ответ или решение
Ошибка "No supported authentication methods available [preauth]" при подключении по SSH с использованием ключа, сгенерированного с помощью PuTTYgen, может быть вызвана несколькими факторами. В данном ответе мы постараемся разобраться в возможных причинах возникновения этой проблемы и предложить соответствующие решения.
Возможные причины возникновения ошибки
-
Проблемы с форматом ключа:
PuTTYgen генерирует приватные ключи в формате, специфичном для PuTTY, который отличается от формата OpenSSH. Если вы пытаетесь использовать приватный ключ в формате OpenSSH, а не в формате PuTTY, это может вызвать проблемы. Файл ключа в формате PuTTY должен начинаться с строкиPuTTY-User-
и иметь расширение.ppk
. Если вы видите ключ, начинающийся с-----BEGIN OPENSSH PRIVATE KEY-----
, то это свидетельствует о том, что ключ в формате OpenSSH. В этом случае вам нужно либо экспортировать ключ из PuTTYgen в правильном формате, либо использовать OpenSSH для генерации ключей. -
Необходимо запускать Pageant:
Если вы используете PuTTY для подключения, убедитесь, что программа Pageant (SSH-менеджер ключей для Windows) запущена и ваш приватный ключ загружен в Pageant. Для этого:- Запустите Pageant.
- Кликните правой кнопкой мыши на иконку Pageant в системном трее и выберите "Add Key".
- Выберите ваш
.ppk
файл.
После этого попробуйте снова подключиться с помощью PuTTY.
-
Разрешения на файл
authorized_keys
:
Если вы получаете сообщение, что сервер отказал в ключе, возможно, проблема связана с правами доступа к файлу~/.ssh/authorized_keys
на сервере. Убедитесь, что:- Файл
~/.ssh/authorized_keys
имеет разрешения0600
. Это можно сделать с помощью следующей команды:chmod 600 ~/.ssh/authorized_keys
- Файл
-
Правильное добавление публичного ключа:
Убедитесь, что публичный ключ корректно добавлен в файл~/.ssh/authorized_keys
на сервере. Он должен быть в одной строке и не содержать лишних пробелов или символов. Если ключи неправильно скопированы, это также может вызвать ошибку доступа. -
Настройки SSH сервера:
Проверьте настройки вашего SSH сервера (обычно в файле/etc/ssh/sshd_config
) и убедитесь, что разрешены методы аутентификации с использованием ключа. Следующие параметры должны быть установлены:PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
После внесения изменений не забудьте перезапустить службу SSH:
sudo systemctl restart ssh
Заключение
Ошибка "No supported authentication methods available [preauth]" может быть вызвана различными факторами, от неправильного формата ключа до настроек сервера. Вам нужно внимательно проверить эти аспекты, и, надеемся, одно из приведенных выше решений поможет устранить возникшую проблему. Если проблема не решится, может иметь смысл проверить логи сервера более детально или обратиться к системному администратору для более глубокого анализа ситуации.