[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ssh / scp sin pass



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




Reply to: