Не могу понять - я использую аутентификацию на основе ключа 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 находил соответствующие разрешения для каталога и файла.