Sé que aquí hay docenas de preguntas sobre cómo conectarse a un servidor SSH sin tener que escribir su contraseña cada vez , y la respuesta siempre es "usar una clave pública". Bueno, me encuentro en la rara circunstancia en que realmente no es una opción. Por alguna razón inexplicable, el demonio OpenSSH en el servidor al que intento conectarme está configurado con
RSAAuthentication no
PubkeyAuthentication no
en /etc/ssh/sshd_config
. No tengo ningún acceso administrativo en el servidor, así que no puedo cambiar estas u otras opciones de configuración del servidor. (Por supuesto, tengo control total sobre la configuración del cliente: OpenSSH 5.8 en Linux).
¿Cuáles son mis opciones y, en particular, cuál es la opción más segura, para evitar tener que escribir mi contraseña cada vez que quiero SSH en este servidor? Mantengo mis propias computadoras bastante bien protegidas, así que supongamos que los riesgos de seguridad de almacenar la contraseña en un archivo en el cliente son aceptablemente bajos, si eso es realmente necesario.
Los otros métodos de autenticación que el servidor puede aceptar son evidentemente la API GSS (de la que no sé nada), el teclado interactivo (del que tampoco sé nada) y la contraseña. Estas son algunas opciones de configuración relevantes:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
y aquí hay un -vv
seguimiento de depuración ( ):
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
, pero tiene /etc/krb5/krb5.keytab
. No tengo acceso a los contenidos. El nombre del servidor es sftp.pass.psu.edu
(no creo que haya ningún daño en dar ese nombre) si te ayuda a explicar el procedimiento.
/etc/krb5.keytab
? GSSAPI (Kerberos) puede ser simple de configurar en el lado del cliente; Sin embargo, tendría que pedir el nombre de host del servidor. (También:keyboard-interactive
es muy similar apassword
, no excepto limitado a una "contraseña:" del sistema.)