Я знаю, что здесь есть десятки вопросов о том, как подключиться к SSH-серверу без ввода пароля каждый раз, и ответом всегда будет «использовать открытый ключ». Ну, я нахожусь в редком случае, когда это действительно не вариант. По какой-то необъяснимой причине демон OpenSSH на сервере, к которому я пытаюсь подключиться, настроен с
RSAAuthentication no
PubkeyAuthentication no
в /etc/ssh/sshd_config
. У меня нет административного доступа на сервере, поэтому я не могу изменить эти или другие параметры конфигурации сервера. (Я, конечно, имею полный контроль над конфигурацией клиента: OpenSSH 5.8 в Linux.)
Каковы мои варианты, и в частности, какой самый безопасный вариант, чтобы избежать необходимости вводить мой пароль каждый раз, когда я хочу SSH на этот сервер? Я держу свои собственные компьютеры достаточно надежно защищенными, поэтому давайте предположим, что риски безопасности при сохранении пароля в файле на клиенте приемлемо низки, если это действительно необходимо.
Другими способами аутентификации, которые может принять сервер, являются, очевидно, GSS API (о котором я ничего не знаю), интерактивная клавиатура (о которой я тоже ничего не знаю) и пароль. Вот некоторые соответствующие параметры конфигурации:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
и вот трассировка отладки (-vv
):
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: password