Keychain no recordará mi contraseña SSH cuando me conecte al servidor

5

Normalmente me desarrollo en dos servidores diferentes.

Un servidor requiere mi clave SSH privada almacenada en ~/.ssh/id_rsa . Esta parte de la historia funciona bien.

El otro servidor no debería requerir ninguna clave SSH, sin embargo, OSX me muestra esta solicitud de contraseña cada vez que me conecto:

IngresesucontraseñaparalaclaveSSH"id_rsa".

No importa si presiono Aceptar o Cancelar, porque no hay una clave pública en el servidor. Y obviamente tampoco hay contraseña.

¿Por qué el diálogo de contraseña no recuerda mi contraseña en el llavero? Lo he comprobado y aparece un elemento de SSH en mi aplicación Keychain Access, pero el mensaje sigue apareciendo, cada vez que envío un SFTP o SSH al servidor.

Supongo que podría tener que ver con un servidor mal configurado o con el hecho de que el nombre de usuario con el que me conecto sea el mismo para ambos servidores. Si pudieras confirmar que el problema es cualquiera de los dos, sería útil, gracias.

    
pregunta Joen 01.09.2011 - 12:44

2 respuestas

5

Hay mucha información conflictiva que he leído cada vez que busco información sobre el uso de ssh-agent (proceso de guardado / reutilización de frase de contraseña) en Mac OS X. La mayoría de los recursos parecen sugerir que simplemente emitir ssh-add -K le permitirá almacenar su contraseña y configurará automáticamente el OS X para iniciar ssh-agent automáticamente y cargue su frase de contraseña almacenada.

Nota: la ejecución de ssh-add -K solo funcionará si tienes tu archivo de clave privada en una de las ubicaciones comunes, estas ubicaciones se limitan a: ~/.ssh/id_rsa , ~/.ssh/id_dsa , ~/.ssh/identity . Si el archivo se encuentra en otro lugar, debe especificar esa ruta después de -K en el comando anterior.

La razón por la que obtiene el diálogo de frase de contraseña del archivo de clave al conectarse al segundo servidor (sin llave) es probable porque la configuración predeterminada de los servidores SSH es usar primero la autenticación de clave pública, y luego la autenticación de "teclado interactivo".

Debido a que tiene una clave pública con un nombre / ubicación estándar ( ~/.ssh/id_rsa ), su cliente OpenSSH envía la clave privada para que el servidor pueda compararla con un archivo authorized_keys permitido.

Hay un puñado de formas para evitar esto, las dos más fáciles es pasar una bandera en la línea de comandos o agregarla como un elemento de configuración permanente en el archivo ~/.ssh/config .

  1. Al conectarse al servidor secundario / sin llave, puede agregar -o "PubkeyAuthentication = no" al conectarse. Algo como ssh -o "PubkeyAuthentication=no" me@devserver2 .

  2. Abre ~/.ssh/config en tu editor de texto favorito, créalo primero si es necesario e ingresa lo siguiente:

    Host devserver2  
        User me  
        PubkeyAuthentication no
    

Ahora, si simplemente escribe ssh devserver2 , se leerá y usará la configuración del nombre de usuario y la clave de publicación, y se le pedirá su contraseña y nada más.

( Nota: Reemplace devserver2 con el nombre de host real del servidor. Alternativamente, elija un buen nombre de host, como devserver2, y agregue una propiedad entre User y PubkeyAuthentication llamada 'Hostname' y ponga el nombre o la dirección IP del servidor allí. Luego, simplemente puede escribir 'ssh devserver2' y todas las propiedades de configuración trabajarán con su magia respectiva.)

    
respondido por el Jason Salaz 04.01.2012 - 22:01
3

Parece que su clave privada (~ / .ssh / id_rsa en su máquina local) está encriptada con una contraseña, por lo que cuando ssh intenta usar la clave para la autenticación, le pide esta contraseña.

Si se está conectando a través de un terminal, intente ssh -o "PubkeyAuthentication=no" your.server.com y vea si todavía le pregunta.

Dicho esto, Lion continúa pidiéndome la contraseña de mi clave privada todo el tiempo y se niega a guardarla. Todavía no he resuelto ese problema.

    
respondido por el nheinrichs 05.10.2011 - 11:22

Lea otras preguntas en las etiquetas