On Tue, 2003-01-14 at 17:56, Antonio Gutiérrez Mayoral wrote: > Quería saber si hay alguna forma posible de hacer que cada vez que se > hace ssh o scp sobre una determinada máquina o rangos de IP's no se > solicite la contraseña, porque ya esté almacenada por una primera vez o > en un fichero.
Sí, la hay. 1. Verifica, en la configuración de sshd, que tengas las líneas RSAAuthentication yes PubkeyAuthentication yes Estos son los valores por omisión para Debian, de forma que no deberías tener que editar nada (en Debian, la configuración de sshd está en /etc/ssh/sshd_config). 2. En tu cliente, tienes que generar pares de llaves para tu usuario: ssh-keygen -t rsa ssh-keygen -t dsa Consulta ssh-keygen(1) para más detalles. Te recomiendo que protejas las llaves privadas con un password (ssh-keygen debería preguntarte por un password). 3. Instala las llaves públicas de tu usuario en tu home en el host al que te quieres conectar. La manera más sencilla de hacer ésto es: ssh-copy-id <user>@<host> Donde <user> es tu nombre de usuario en el host remoto, y <host> es el nombre o la dirección del host remoto. Consulta ssh-copy-id(1). 4. Si protegiste tus llaves con un password, probablemente querrás usar el "agente ssh" para que no se te esté preguntando el password cada vez que uses las llaves: ssh-add Este comando lo tienes que ejecutar una sola vez, cuando inicias tu sesión en la máquina cliente (tu laptop, tu estación de trabajo, etc). Te pedirá el password de las llaves privadas. Y ya, eso es todo. Ya deberías poder hacer ssh, ó scp, sin que se te esté preguntando el password. Si olvidas hacer ssh-add, se te preguntará por un password, por supuesto --pero el password de tus llaves privadas, no el password del host remoto. El password del host remoto ya no se usa, a menos que te conectes con telnet o algo así. > Sé que es una opción peligrosa, pero trabajo siempre con sesiones sobre > las mismas máquinas y es muy molesto tener que estar escribiendo > constantemente las contraseñas, sobre todo si son largas. El shell que > utilizo es bash. No es una opción peligrosa, a menos que decidas dejar tus llaves en claro (e.g., no usar un password para protegerlas). De hecho, si proteges tus llaves con un password, yo creo que es incluso más seguro que la operación tradicional, porque para comprometer tu cuenta no sólo tienen que robarte el password, sino las llaves almacenadas en tu máquina cliente. E incluso si no las proteges con password, el riesgo es que la máquina cliente se comprometa. El servidor está igual de seguro que siempre. -CR