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

Включение аутентификации с открытым ключом для серверов ssh

У меня есть два сервера, на которых запущен RHEL 5. Оба имеют почти идентичные конфигурации. Я настроил аутентификацию RSA Publickey на обоих, и один работает, а другой нет:

[my_user@client] $ ssh my_user@server1

--- server1 MOTD Banner ---

[my_user@server1] $

и на другом сервере:

[my_user@client] $ ssh my_user@server2
my_user@server2's password:

--- server2 MOTD Banner ---

[my_user@server2] $

Фрагмент файла / etc / ssh / sshd_config server2:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile        .ssh/authorized_keys

Когда я бегу ssh -vvv Получаю следующий фрагмент:

debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug3: Next authentication method: publickey
debug1: Offering public key: /home/my_user/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentication that can continue: publickey,gssapi-with-mic,passowrd
debug1: Offering public key: /home/my_user/.ssh/id_dsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentication that can continue: publickey,gssapi-with-mic,passowrd
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
my_user@server2's password:

РЕДАКТИРОВАТЬ: как серверы, так и клиентские .ssh каталоги имеют 700 разрешений, а все файлы внутри имеют 644 или 600 разрешений.

Вы проверили разрешение файловой системы на обеих машинах? sshd немного требователен к разрешениям на папку .ssh и файлы в этой папке.

.ssh должно иметь 700, а файлы - 644 или меньше.

Поскольку очевидные ответы были даны точно, некоторые другие варианты отладки:

выполнить различие между .ssh / authorized_keys на server1 и server2

Запустите демон sshd на переднем плане с ведением журнала, и он должен объяснить, почему он отклонил ключ аутентификации.

Это решение будет простым, если вы не изменили sshd_config между серверами. Вы можете запустить diff против них конечно.

Как сказал Кристиан, наиболее вероятной причиной обычно являются разрешения.

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

Кристиан и Уорнер были на правильном пути, это была ошибка прав доступа, но это была b / c домашнего каталога, а не каталога .ssh:

$# tail --f=n /var/log/secure
Mar 22 10:52:57 my_server2 sshd[6278]: Authentication refused: bad ownership or modes for directory /home/my_user

$# ls -la /home/my_user
drwxrwx--- 21 my_user my_user    4096 Mar 22  10:37 .
...

После chmodПри переходе в каталог на 755 логин работал правильно.