Wiem, że są tu dziesiątki pytań na temat łączenia się z serwerem SSH bez wpisywania hasła za każdym razem , a odpowiedź brzmi zawsze: „użyj klucza publicznego”. Cóż, znajduję się w rzadkich okolicznościach, w których tak naprawdę nie ma takiej opcji. Z jakiegoś niewytłumaczalnego powodu demon OpenSSH na serwerze, z którym próbuję się połączyć, jest skonfigurowany
RSAAuthentication no
PubkeyAuthentication no
w /etc/ssh/sshd_config
. Nie mam dostępu administracyjnego do serwera, więc nie mogę zmienić tych ani innych opcji konfiguracji serwera. (Oczywiście mam pełną kontrolę nad konfiguracją klienta: OpenSSH 5.8 w systemie Linux).
Jakie są moje opcje, a w szczególności jaka jest najbezpieczniejsza opcja, aby uniknąć konieczności wpisywania hasła za każdym razem, gdy chcę SSH na tym serwerze? Dbam o to, aby moje komputery były dość dobrze zabezpieczone, więc załóżmy, że ryzyko związane z przechowywaniem hasła w pliku na kliencie jest akceptowalnie niskie, jeśli jest to rzeczywiście konieczne.
Inne metody uwierzytelniania, które serwer może zaakceptować, to oczywiście interfejs API GSS (o którym nic nie wiem), interaktywna klawiatura (o której też nic nie wiem) i hasło. Oto kilka odpowiednich opcji konfiguracji:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
a oto -vv
ślad debugowania ( ):
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
/etc/krb5.keytab
, ale tak jest /etc/krb5/krb5.keytab
. Nie mam dostępu do treści. Nazwa serwera to sftp.pass.psu.edu
(nie sądzę, aby było to szkodliwe), jeśli pomoże ci to wyjaśnić procedurę.
/etc/krb5.keytab
? GSSAPI (Kerberos) może być prosty w konfiguracji po stronie klienta; Musiałbym jednak poprosić o nazwę hosta serwera. (Również:keyboard-interactive
jest bardzo podobny dopassword
, z wyjątkiem jednego monitu „Hasło:”.)