Назад | Перейти на главную страницу

ssh rsa key auth происходит только в том случае, если я уже вошел в систему на консоли

Не могу понять - я использую аутентификацию на основе ключа id_rsa для наших серверов (примерно 400 серверов Linux и UNIX).

В этом случае у меня есть 3 идентичных сервера с 3 недавними установками Ubuntu 12.04 - svr1 svr2 svr3 для этого обсуждения.

Это блейд-серверы IBM, поэтому у меня есть возможность войти в удаленную консоль.

Для svr1 я могу нормально использовать ssh, используя свой ключ rsa - это выглядит так из клиента с ssh -vvv:

debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/mbubb/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 279 

и env vars установлены, и я в ...

Но для svr2 (и 3) это выглядит так:

debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/mbubb/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering DSA public key: /home/mbubb/.ssh/id_dsa

... он перебирает другие ключевые параметры и, наконец:

   debug2: we did not send a packet, disable method
   debug1: No more authentication methods to try.
   Permission denied (publickey).

Что любопытно, если я консолью через Bladecenter MM, а затем ssh на сервер, он работает нормально.

Глядя на /var/log/auth.log на svr2, нет записей о том, когда я получаю «Permission denied». Кажется, он не «видит» попытку.

Я проверил разрешения каталога (homedir и sshdir), они согласованы. Сравнивал / etc / ssh / sshd_config - они идентичны.

Может это ПАМ? Или другой уровень аутентификации.

Я заинтригован этим - очевидно, здесь есть что-то базовое, чего я не понимаю ...

Если вы используете зашифрованный домашний каталог, исправление заключается в создать альтернативный authorized_keys расположение установив

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

на сервере sshd_config файл, поэтому он ищет файл не в домашнем каталоге пользователя.

Файл может быть расположен где угодно, но при этом необходимо иметь %u для разделения файлов пользователей в их собственные каталоги, чтобы sshd находил соответствующие разрешения для каталога и файла.