ssh sin passwod (mini how to) aka llave publica

Esto es un pinche desmadre… queria hacer uso de las llaves de ssh de manera rapida y eficiente y me encontre con que no hay un how-to para eso de hecho tuve que leer 3 how-to… bueno pues aqui va el mini-how-to de como carajos hacer un ssh sin password y claro de manera segura.

how-to relacionados.
No more passwords with ssh
Using ssh-agent with ssh
Key chain [Gentoo]

Lo primero es crear nuestras llaves

ssh-keygen -t dsa

El passphrase es importante, aqui la idea es no dejarlo en blanco usar uno bueno por una vez en la vida.

ahora necesitamos copiar nuestras llaves publicas a donde nos queremos conectar esto esta de flojera por que es pelearse con ~/.ssh y ondas asi, por lo mismo ssh incluye una cosa que lo arregla

ssh-copy-id
ssh-copy-id [-i [identity_file]] [user@]machine

es decir para agregar nuestra llave publica (es decir pa no meter la pata)

ssh-copy-id -i .ssh/id_dsa.pub usuario@maquinaremota

Password: (si pues que se le va a hacer nos va a pedir nuestro password no la passprhase la primera vez, esa es la idea)
Now try logging into the machine, with «ssh usuario@maquinaremota'», and check in:

.ssh/authorized_keys

to make sure we haven’t added extra keys that you weren’t expecting.

Si hacen el ssh ahora les va a pedir el passphrase que si se vieron duchos sera mas largo y dificil que el password… aqui viene lo interesante, ssh-agent se supone facilitaria las cosas, pero como suele suceder es un desmadre y tiene uno que andar haciendo circo, maroma y teatro para hacerlo funcionar asi que mejor usamos un script que ya lo hace «keychain»

sudo apt-get install keychain

(digo si no lo tienen, obvio estoy pensando que esta es su laptop o su maquina de casa, donde tienen root y obvio donde no lo usan como en win)

keychain
Neceistamos decirle cual llave…
pues bueno creamos al principio de este borlote el ¿id_dsa recuerdan?

keychain id_dsa

KeyChain 2.5.1; http://www.gentoo.org/proj/en/keychain/
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL

* Initializing /home/usuario/.keychain/maquina.local-sh file…
* Initializing /home/usuario/.keychain/maquina.local-csh file…
* Starting ssh-agent
* Adding 1 ssh key(s)…
Enter passphrase for /home/usuario/.ssh/id_dsa: (esta es la prueba de que somos quien decimos ser, funciona para toda nuestra sesion)

Y nos falta un paso decirle al keychain que set va a usar

source .keychain/maquina.local-sh

Bueno a resumidas cuentas
1) Creamos nuestra llave dsa para ssh (key-gen -t dsa)
2) copiamos nuestra llave publica a nuestras maquinas (ssh-copy-id -i .ssh/id_dsa.pub usuario@maquinaremota) a cada una le necesitamos pasar nuestro password de esa maquina o no nos va a dejar
3) usamos keychain pa activar nuestra llave local (keychain id_dsa) y le damos nuestro passphrase (funciona con gpg tambien pero tengo flojera ya, digamos que hacer un mini-howto no es mi costumbre)
4) Especificarle que variables de entorno vamos a querer usar para nuestras conexiones de ssh y keychain estos se encuentran en .keychain/maquina-shell (source .keychain/maquina.local-sh)
5) ssh a toda maquina que tenga nuestra llave publica (a la que hayamos hecho el paso 2)

**Advertencia: Es muy facil meter la pata, esto es una mugre receta, el autor (o sease yo no implica ninguna garantia y se deslinda de que metas la pata), tambien supone que mas o menos tienes idea de que es un shell y mas aun de que tienes idea de para que sirve ssh, asi que si meten la pata… no sera la primera ni la ultima ;)**

PS: El paso numero 4 me faltaba y ha sido agregado, tambien las ligas a los how tos usados, queda pendiente el agregar el entorno al .basrc o .baspro_file pero habiendo llegado hasta aqui supongo es mas facil, actualizado a las 16:59hrs (GMT-600) 15/12/2005

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.