Клиент OpenSSH отказывается использовать новый файл ключа

После генерации нового закрытого ключа ssh (id_rsa) на одном сервере и распространяя его по серверной сети, одному серверу не удается использовать новый ключ и вместо этого возвращается к аутентификации по паролю.

Копирование id_rsa в новый файл и использование его вместо этого работает.

$ ssh -i id_rsa user@server
user@server's password:
$ cp id_rsa id_rsa.copy
$ chmod --reference=id_rsa id_rsa.copy
$ ssh -i id_rsa.copy user@server
Last login: Wed Apr  2 06:30:36 2014 from otherhost
[user@server ~]$

Бег ssh -vvv отладки:

id_rsa:

debug3: Not a RSA1 key file id_rsa.
...
debug1: identity file id_rsa type 1
...
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-with-mic,password

id_rsa.copy:

debug3: Not a RSA1 key file id_rsa.copy.
...
debug1: identity file id_rsa.copy type -1
...
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: id_rsa.copy
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey
debug2: we sent a publickey packet, wait for reply
debug1: Authentication succeeded (publickey).

По какой-то причине OpenSSH по-разному обрабатывает ключевые файлы. Но почему?

1 ответ

Решение

Оказывается, сервер, который испытал проблему, имел оба id_rsa а также id_rsa.pub ключевые файлы скопированы ранее. При копировании новых ключевых файлов я перезаписывал только id_rsa уход id_rsa.pub на месте. Это вызвало использование SSH id_rsa неправильно.

Удаление id_rsa.pub или обновление с правильной версией решило проблему.

Другие вопросы по тегам