2

У меня проблемы с SSHD на моем сервере. Я пытаюсь настроить аутентификацию без пароля (pub/pv keys). Это работало для других моих серверов, но не для этого. Агент SSHD добавляет мой открытый ключ в "разрешенные ключи", но все равно запрашивает пароль. Я попытался полностью отключить аутентификацию по паролю (в /etc /ssh /sshd_conf), чтобы увидеть, что происходит, и я получил "неверный ключ паба".

Ключ pub отправляется клиентом (ssh -vvv):

 ----
 debug1: Next authentication method: publickey
 debug1: Offering RSA public key: /home/me/.ssh/id_rsa
 debug3: send_pubkey_test
 debug2: we sent a publickey packet, wait for reply
 debug1: Authentications that can continue: publickey,password
 debug1: Trying private key: /home/me/.ssh/id_dsa
 ----
 ## Next key (rsa was the good one)

Я проверил разрешения "sshd_config" и «.ssh». Теперь я просто хочу видеть, что происходит на стороне сервера. Я проверил мои "/var/log/auth" и "/var/log/secure", но здесь нет файла.

В конфиге я настроил логи следующим образом:

 SyslogFacility AUTH
 LogLevel DEBUG

Как я могу отладить мою ситуацию, не используя глубокий анализ сети? Можно ли перенаправить вывод Sshd в файл журнала или STD?

Спасибо

1 ответ1

1

Чтобы увидеть, что происходит на сервере, нужно запустить демон sshd с этими параметрами:

  /usr/sbin/sshd -dD 

Два варианта (со страницы Man):

-D Когда указана эта опция, sshd не отсоединится и не станет демоном. Это позволяет легко контролировать sshd.

-d      Debug mode.  The server sends verbose debug output to standard error, and does not put itself in the
         background.  The server also will not fork and will only process one connection.  This option is only
         intended for debugging for the server.  Multiple -d options increase the debugging level.  Maximum is
         3.

Этого должно быть много. Для прошлого это зависит от вашего дистрибутива. Я получаю сообщения в /var/log/auth.log, но вы можете искать сообщения, относящиеся к ssh, в том же каталоге с помощью

    find /var/log -type f -exec grep -l ssh {} \;

который выведет имена всех файлов, содержащих выражение ssh . Затем вам придется проверить их содержание.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .