Tal como lo hemos hecho en el paso anterior, cualquier persona que tenga acceso a la clave privada del usuario javier en cliente.local podrá conectarse como jsmaldone en servidor.local. Esto es aún más grave si tenemos en cuenta que el mismo par de claves podrían ser utilizadas para acceder a varios otros sistemas. Esto impone la necesidad de utilizar algún otro mecanismo para proteger la clave privada.
Para ello, tenemos la posibilidad de cifrar la clave privada utilizando un algoritmo de cifrado simétrico y una contraseña (comunmente llamada ``frase clave'' o passphrase). El algoritmo utilizado a tal efecto por SSH se denomina 3DES.
En el ejemplo anterior, cuando creamos el par de claves usando ssh-keygen, omitimos especificar la frase clave que se usaría a tal efecto. Usando nuevamente ssh-keygen podemos asignar una nueva:
javier@cliente:~/.ssh> ssh-keygen -p -f /home/javier/.ssh/id_rsaSi ya estamos usando una frase clave, nos la solicitará, y luego nos pedirá ingresar la nueva
Enter new passphrase (empty for no passphrase):Una vez finalizado, la clave privada se encuentra cifrada con 3DES, razón por la cual cada vez que necesitemos usarla (por ejemplo, en cualquiera de los ejemplos anteriores al intentar conectarnos con el servidor), se nos solicitará la frase clave para descifrarla. Por ejemplo:
Enter same passphrase again:
javier@cliente:~/.ssh>
javier@cliente:~/.ssh> ssh jsmaldone@servidor.midominioEl procedimiento continuará como en los casos anteriores.
Need passphrase for /home/javier/.ssh/id_rsa
Enter passphrase for /home/javier/.ssh/id_rsa
Importante: Es altamente recomendable proteger la clave privada con una frase clave. Se recomienda que la misma tenga una longitud de más de 10 caracteres, que contenga letras mayúsculas, letras minúsculas y números, y que no sea facilmente deducible por otras personas. Recuerde lo dicho en la introducción: la elección de una contraseña ``debil'' o simple echará por tierra las bondades de SSH, RSA y 3DES reduciendo el grado de seguridad a 0.