Estos tres señores de la foto son Rivest, Shamir y Adleman, los resposables del sistema criptográfico de clave pública RSA (que toma sus iniciales). ¿Y que tiene esto que ver con el SSH? Pues que gracias a sus sistema podemos generar un par de claves pública y privada para autenticarnos en un servidor sin necesidad de introducir el password.
Para ello, en primer lugar tenemos que tener instalado el SSH en nuestro ordenador. Si no lo tenemos, sólo hay que abrir una terminal y escribir:
sudo aptitude install ssh
Después tendremos que ir a la carpeta oculta de SSH en nuestro home, con un:
cd ~/.ssh
Una vez dentro de este directorio debemos generar un par de claves RSA, para lo que usaremos el comando ssh-keygen de la siguiente manera:
ssh-keygen -t rsa
Con lo que obtendremos la salida:
Generating public/private rsa key pair. Enter file in which to save the key (/home/xaman/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/xaman/.ssh/id_rsa. Your public key has been saved in /home/xaman/.ssh/id_rsa.pub. The key fingerprint is: 0e:78:59:5c:c8:91:68:49:91:83:53:0b:58:09:27:6d The key's randomart image is: +--[ RSA 2048]----+ | o=+=+*.+. | | .oE.*o+. | | . o..o | | . o | | . + S | | . o | | . | | | | | +-----------------+
Como podéis ver da la opción de introducir una frase para cifrar la clave privada. Es recomendable para otros usos, ya que no es nada conveniente que te roben la clave privada, porque podrán usarla para entrar directamente al servidor, pero en este caso no la vamos a introducir ya que si lo hacemos, no será necesario introducir el password del servidor pero si el de la clave privada.
Una vez que tengamos los ficheros id_rsa (clave privada) e id_rsa.pub (clave pública) deremos mover el segundo al servidor.
Os recomiendo que para esto uséis el comando scp de la siguiente forma:
scp id_rsa.pub usuario@dominio:/ruta_del_directorio_de_destino
Una vez que tengamos la clave pública en el servidor tenemos que añadirla al fichero authorized_keys que esta en el directorio .ssh de nuestra cuenta. Si no existiera lo creamos con un:
mkdir ~/.ssh
Y copiamos dentro la clave. Exista o no el fichero authorized_keys, debemos incluir nuestra clave pública en el, con un:
cat id_rsa.pub >> authorized_keys
Después de esto ya no será necesario introducir el password de usuario en el servidor.
Para hacer aún más sencilla la conexión podemos añadir al fichero .bashrc (en Linux) o .bash_profile (en Mac OS) del home el siguiente alias:
alias servidor='ssh usuario@servidor';
De esta forma podemos conectarnos a un servidor con solo escribir su nombre en la terminal.
Si a alguien no le sale, ve algo mal o tiene un sistema mejor, que escriba un comentario!

Para subir la clave pública al servidor, podemos usar:
ssh-copy-id usuario@servidor -i .ssh/id_rsa.pub
Nos pedirá la contraseña y después añadirá la clave pública a authorized_keys. Si sólo tenemos una clave pública podemos evitar especificarla.
Un saludo!!
Está chulo eso de entrar sin meter la p*** contraseña a todas las veces que entras al servidor.
Gracias por el aporte Pedro Luis. Igual me convencéis para que lo haga yo también.
Pingback: Crear un repositorio con Subversion en OVH y primeros pasos | TecnoCaos
el terminal donde lo abro¿?
es con windows o con otro S.O¿?
respondeme cuanto antes es un poco urgente
gracias…
a vale es con linux
vale un programa de auditoria wireless como el backtrack4 k emplea el linux
o hace falta tenerlo innstalado en el dd¿?
Pingback: Configurar Netbeans para trabajar con SVN+SSH | TecnoCaos