Las claves SSH públicas son propias de cada usuario y se pueden encontrar en el directorio ~/.ssh del usuario. Estas son utilizadas para conectar sin credenciales de acceso.
$ cd ~/.ssh $ ls id_rsa id_rsa.pub
El fichero id_dsa es la clave privada y el fichero .pub es la clave pública. Si no existen estos ficheros significa que no tenemos generada la clave SSH.
Se pueden crear las claves SSH ejecutando el programa llamado ssh-keygen, que se proporciona en el paquete SSH en sistemas Unix (GNU/Linux ó Mac OS entre otros).
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/usr/.ssh/id_rsa): Created directory '/home/usr/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/usr/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 user@myhost.local
En primer lugar, el comando solicita confirmación de donde se van a guardar las claves, y luego solicita una contraseña que puede dejarse en blanco, si no se quiere añadir cada vez que se conecta.
Para entornos Windows, necesitamos descargar un cliente SSH, como por ejemplo Putty donde emplearíamos el “Putty Key Generator” para generar las claves. Una vez tengamos descargado el ejecutable puttygen.exe, ejecutamos y seleccionamos el tipo de cifrado RSA y a continuación el botón “generate“. Podemos no seleccionar “passphrase“, para no tener que añadir una clave manual. Y guardamos desde el botón “Save private key”
Una vez generada la clave pública, se a de remitir el contenido del fichero .pub al administrador del servidor para configurarla correctamente, una vez configurada, ya no necesitará añadir la contraseña en cada conexión desde el equipo en el que haya generado la clave pública.