En Linux, crear una clave SSH pública/privada es fácil.
1. Abra una terminal. Tipo:
ssh-keygen -t rsa
También puede utilizar la tecnología DSA (Digital Signing Algorithm) para crear la clave pública/privada.
ssh-keygen -t dsa
Nota : Ha habido mucho debate sobre la seguridad de la DSA y la RSA. En mi opinión, a menos que seas muy particular y te guste profundizar en los detalles técnicos entre las dos tecnologías, no importa cuál de las dos elijas. Ambos funcionarán bien.
2. En la siguiente pantalla, aparecerá un mensaje que le pedirá la ubicación para guardar la clave. La ubicación por defecto es la carpeta.ssh en su directorio Home. Sólo tiene que pulsar «Enter» para aceptar el ajuste predeterminado.
3. A continuación, se le pedirá que introduzca una frase de contraseña. Esta NO es la frase de contraseña para conectarse a su host remoto. Esta es la frase de contraseña para desbloquear la clave privada de modo que nadie pueda acceder a su servidor remoto aunque tenga su clave privada. La frase de contraseña es opcional. Para dejarla en blanco, basta con pulsar «Enter».
4. Su clave SSH pública y privada debe ser generada ahora. Abra el administrador de archivos y navegue hasta el directorio .ssh . Deberías ver dos archivos: id_rsa y id_rsa.pub .
5. Cargue el archivo id_rsa.pub en la carpeta de inicio de su host remoto (suponiendo que su host remoto también ejecuta Linux). Conéctese al host remoto a través de SSH y utilice el siguiente comando para mover la clave pública a la ubicación correcta.
cat id_rsa.pub>> ~/.ssh/authorized_keys rm id_rsa.pub
>
6. Aún en el host remoto, abra el archivo de configuración SSH:
sudo nano /etc/ssh/sshd_config
Desplácese hacia abajo por el archivo de configuración y asegúrese de que los siguientes atributos están configurados correctamente.
RSAAutenticación sí
PubkeyAuthentication sí
ContraseñaAutenticación no> Contraseña
Pulse «ctrl + o» para escribir y guardar el archivo, seguido de «ctrl + x» para cerrarlo.
7. Por último, reinicie el servidor SSH en el host remoto
sudo /etc/init.d/ssh reload
Eso es todo. Ahora puede conectarse al host remoto con el siguiente comando:
ssh -i /path-to-private-key username@remote-host-ip-address
Imagen: eternicode @ DeviantArt