sábado, 2 de junio de 2012

Conseguir Acceso SSH en un HOST

Siempre me pasa lo mismo. Voy a meter mis claves ssh en un host y se me olvidan los pequeños detalles. Los voy a apuntar aquí para que no se me vuelvan a olvidar :)

INTRO

ssh (Secure Shell) es una forma segura de conectarte a otro ordenador. El contenido viaja encriptado y para acceder se puede sabiendote la contraseña o mediante un par de claves (Publica/privada)

 

1- Generar las claves

Para generar las claves tienes que tener instalado en tu ordenador un programa para hacerlo.
Se llama Open-ssh:
www.openssh.org

Una vez instalado ejecutas este comando en un Terminal:
ssh-keygen -t rsa
chmod 600 .ssh/id_rsa (Cambia los permisos por seguridad) 
http://en.wikipedia.org/wiki/Ssh-keygen
Te irá preguntando una serie de cosas. Las dejas por defecto.

2- Clave publica/privada

Lo que ha generado el comando anterior es un par de llaves (archivos de textos) publico/privado que normalmente residen en una carpeta oculta en el directorio de tu usuario en tu ordenador. Este direcctorio se llama .ssh
  1. id_rsa.pub (o id_dsa.pub) : es la clave publica. Es la que tienes que subir al server.
  2. id_rsa (o id_dsa): No tiene el .pub al final Y esta no la tienes que compartir con nadie.

3- Subir la clave pública al server que quieres acceder.

Como es lógico para subir algo al server que quieres acceder deberas tener acceso a el mediante una contraseña o un usuario de ese mismo server en el que ya tengas tu clave publica.
 
cd /home/andres/.ssh
scp id_dsa.pub andres@mi-diminio.com:/home/andres/


4- Incluir la clave pública subida al fiche authorize_keys

Igual que en local, en tu server UNIX en el directorio de tu usuario (ej.: /home/andres/) tendrás un directorio oculto llamado .ssh. Si no lo tienes, crealo asi:

 
cd /home/andres
mkdir -p .ssh
chmod 777 .ssh (con esto cambias los permisos de esa carpeta)
cat id_dsa.pub >> .ssh/authorized_keys

El último comando incluye en el fichero authorized_keys el contenido del fichero que hemos subido. id_dsa.pub. Con esto el server ya te permite acceder sin poner clave asi:
ssh andres@mi-diminio.com

NOTA1

El comando cat si lo ejecutas con 2 de estos asi [>>] lo que hace es añadirte el texto al final del archivo. Pero OJO! si solo poner 1 asi [>] lo que hace es machacarte el contenido que tengas. Con esto mucho cuidado al hacerlo sobre el fichero authorized_keys porque te puedes cargar las claves de acceso de otros usuarios. Si no lo tienes claro, haz una copia del fichero asi:
cp authorized_keys authorized_keys.backup 
Si pasa algo. Siempre tienes la copia.

NOTA2

Windows no me interesa en absoluto para desarrollar asi que todo lo que explico aquí puede que no sirva para este SO.

No hay comentarios:

Publicar un comentario