Ich weiß, dass es hier Dutzende von Fragen gibt, wie man eine Verbindung zu einem SSH-Server herstellt, ohne jedes Mal Ihr Passwort einzugeben , und die Antwort lautet immer "Verwenden Sie einen öffentlichen Schlüssel". Nun, ich befinde mich in einem seltenen Fall, in dem das wirklich keine Option ist. Aus irgendeinem unerklärlichen Grund ist der OpenSSH-Dämon auf dem Server, mit dem ich eine Verbindung herstellen möchte, konfiguriert
RSAAuthentication no
PubkeyAuthentication no
in /etc/ssh/sshd_config
. Ich habe keinen Administratorzugriff auf den Server, daher kann ich diese oder andere Serverkonfigurationsoptionen nicht ändern. (Ich habe natürlich die volle Kontrolle über die Client-Konfiguration: OpenSSH 5.8 unter Linux.)
Was sind meine Optionen und insbesondere die sicherste Option, um zu vermeiden, dass ich mein Kennwort jedes Mal eingeben muss, wenn ich SSH auf diesen Server übertragen möchte? Ich halte meine eigenen Computer ziemlich gut geschützt. Nehmen wir also an, dass die Sicherheitsrisiken beim Speichern des Kennworts in einer Datei auf dem Client akzeptabel gering sind, falls dies tatsächlich erforderlich ist.
Die anderen Authentifizierungsmethoden, die der Server akzeptieren kann, sind offensichtlich die GSS-API (von der ich nichts weiß), die interaktive Tastatur (von der ich auch nichts weiß) und das Kennwort. Hier sind einige relevante Konfigurationsoptionen:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
und hier ist eine debug ( -vv
) - Ablaufverfolgung:
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
, aber es hat /etc/krb5/krb5.keytab
. Ich habe keinen Zugriff auf die Inhalte. Der Servername lautet sftp.pass.psu.edu
(ich glaube nicht, dass es schädlich ist, diesen Namen herauszugeben), wenn er Ihnen bei der Erläuterung des Verfahrens hilft.
/etc/krb5.keytab
? GSSAPI (Kerberos) kann einfach clientseitig eingerichtet werden. Ich müsste allerdings nach dem Hostnamen des Servers fragen. (Auch:keyboard-interactive
ist sehr ähnlichpassword
, außer nicht auf eine "Passwort:" Eingabeaufforderung beschränkt.)