5 votos

El llavero no recuerda mi contraseña SSH cuando me conecto al servidor

Yo desarrollo rutinariamente 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:

Enter your password for the SSH key "id_rsa".

Da igual que pulse OK o Cancelar, porque no hay clave pública en el servidor. Y por lo tanto, obviamente, tampoco hay contraseña.

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

Supongo que puede tener que ver con un servidor mal configurado, o con el hecho de que el nombre de usuario con el que me conecto es el mismo para ambos servidores. Si pudieras confirmar que el problema es alguno de los dos sería de gran ayuda, gracias.

5voto

Christopher Scott Puntos 665

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

Nota: Corriendo ssh-add -K sólo funcionará si tiene su archivo de clave privada en una de las ubicaciones comunes, siendo esas ubicaciones las siguientes ~/.ssh/id_rsa , ~/.ssh/id_dsa , ~/.ssh/identity . Si el archivo se encuentra en otro lugar, debe especificar esa ruta después de la -K en el comando anterior.


La razón por la que te aparece el diálogo de la frase de contraseña del archivo de claves cuando te conectas al segundo servidor (sin claves) es probablemente porque la configuración por defecto de los servidores SSH es utilizar primero la autenticación de clave pública y después la autenticación "interactiva por teclado".

Al tener 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 una clave permitida authorized_keys archivo.

Hay un pequeño puñado de maneras de evitar esto, las dos más fáciles son pasar una bandera en la línea de comandos, o añadirlo como un elemento de configuración permanente en su ~/.ssh/config archivo.

  1. Cuando te conectes al servidor secundario/sin llave, puedes añadir -o "PubkeyAuthentication=no" al conectarte. Algo así como ssh -o "PubkeyAuthentication=no" me@devserver2 .

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

    Host devserver2  
        User me  
        PubkeyAuthentication no

Ahora, si simplemente escribe ssh devserver2 el nombre de usuario y la configuración de la pubkey serán leídos y utilizados, y se le pedirá la contraseña y nada más.

( Nota: Sustituya devserver2 por el nombre real del servidor. Alternativamente, escoge un nombre de host agradable, como devserver2, y añade una propiedad entre User y PubkeyAuthentication llamada 'Hostname' y pon el nombre o la dirección IP del servidor allí. Después, en realidad puedes simplemente escribir 'ssh devserver2' y todas las propiedades de configuración harán su respectiva magia).

3voto

Terry Puntos 274

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

Si te conectas a través de un terminal, intenta ssh -o "PubkeyAuthentication=no" your.server.com y comprueba si todavía te lo pide.

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X