Клиент 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
или обновление с правильной версией решило проблему.