RHR
9° Semestre
Crear llaves RSA
Este tipo de clave utiliza un mecanismo de autenticación por contraseña pública-privada. Para generar el par de claves, pública y privadas, con el comando ssh-keygen, y se te generarán en $HOME/.ssh/ dos ficheros, id_rsa e id_rsa.pub. Estas son las claves privadas y públicas respectivamente. Para poder entrar en tu servidor remoto, tendrías que poner el contenido del fichero id_rsa.pub dentro del fichero $HOME/.ssh/authorized_keys del usuario del servidor remoto.
Ejemplo de como crear llaves rsa en el servidor rita: (en este ejemplo el servidor es tommy) 1._ Nos conectamos a rita y nos hacemos root.
2._ Creamos el usuario para el que queremos crear la llave rsa y nos conectamos con él.
En este ejemplo creamos el usuario 'prueba', pulsando intro sin escribir nada en los datos que nos pregunta menos al final, que ponemos 'y' confirmando que la información es correcta.
RHR
9° Semestre
adduser —disabled-password prueba su - prueba 3._ Ejecutamos el comando que crea la llave:
El primer comando nos pide en dónde salvar la llave privada, pulsando intro salvándose en la ruta por defecto (la indicada entre paréntesis), verificar siempre que es /home/usuario/.ssh/id_rsa. Las siguientes dos cosas que pide son la contraseña y una petición de que se repita la contraseña para cerciorarse de que no se han cometido errores al escribirla la primera vez. Se puede emplear cualquier carácter (letras, números, signos de puntuación, espacios) con una longitud mínima de ocho caracteres. A continuación el ssh-keygen muestra donde se ha salvado la llave privada (/home/prueba/.ssh/id_dsa) y donde está la llave pública que le corresponde (/home/prueba/.ssh/id_dsa.pub), que no es más que el mismo nombre de archivo con la extensión .pub añadida al final. En la última línea imprime una huella dactilar que sirve para identificar la llave que acabamos de crear. ssh-keygen -t rsa contraseña contraseña
RHR
9° Semestre
4._ Copiamos el archivo id_rsa.pub a authorized_keys, y cambiamos los permisos del contenido de .ssh/ a 600, comprobando que este directorio tiene permisos 700 y que tanto el directorio como su contenido pertenecen al usuario y grupo prueba:prueba.
cp .ssh/id_rsa.pub .ssh/authorized_keys chmod 600 .ssh/* chmod 700 .ssh ls -la ls -la .ssh/ 5._ Una vez que le hayamos pasado al usuario su clave privada (id_rsa), advirtiéndole que es única e intransferible bajo su responsabilidad, podemos borrar los 2 archivos generados con ssh-keygen (id_rsa, id_rsa.pub).
rm .ssh/id* ls -la .ssh/ La llave generada debe ser entregada al usuario de forma segura. No puede bajo ningún concepto enviarse por email o similar. Nota: más de una llave pública ssh-keygen -t rsa ssh-add
RHR
9° Semestre
Certificado DSA
traveler@talita:~$ ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/home/traveler/.ssh/id_dsa): Created directory ‘/home/traveler/.ssh’. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/traveler/.ssh/id_dsa. Your public key has been saved in /home/traveler/.ssh/id_dsa.pub. The key fingerprint is: b4:23:82:5a:19:5b:6f:f3:78:31:fb:f8:45:0b:ed:8f traveler@talita En la pregunta “Enter file in which to save the key…” hagan enter para que tome el valor predeterminado, lo mismo pueden hacer cuando se les pregunte por la contraseña si no quieren proteger la clave privada con una password. Una vez terminado el proceso en la carpeta ~/.ssh tendrán un nuevo archivo con la clave pública (id_dsa.pub) y otro con la clave privada (id_dsa). En este punto tendrán que transfierir la clave pública al servidor con el comando ssh-copy-id: traveler@talita:~$ ssh-copy-id -i .ssh/id_dsa.pub traveler@talita traveler@talita’s password: Now try logging into the machine, with “ssh ‘traveler@talita’”, and check in: .ssh/authorized_keys to make sure we haven’t added extra keys that you weren’t expecting. Con esto ssh-copy-id habrá agregado la clave pública al archivo ~/.ssh/authorized_keys del usuario en el servidor remoto y la siguiente vez que nos conectemos la autenticación será automática sin necesidad de ingresar la contraseña nunca más.
RHR
9° Semestre
Diferencia RSA – DSA: Si bien es cierto que RSA/DSA manejan llaves públicas y probadas, las claves RSA simplemente utiliza llave pública y otra privada sin la necesidad de una contraseña. Al contrario de la claves o certificado DSA, la cual genera una llave pública y privada además de una contraseña encriptado ¿Cuál es la mejor? ¿Por qué? El nivel de complejidad y seguridad radica en la configuración una es tan buena que la otra, pero si la sabemos cuidar y administrar todo puede ser tan seguro como la otra. Aunque si es para acceso rápido se puede usar RSA. Aunque DSA se puede configurar de igual forma. Podemos concluir que RSA es tan buena como DSA y viceversa. Pero el poder de encriptación varia de hasta 4096 en RAS 1024 en DAS, así que podría escoger la RSA por el grado de encriptación. Aunque me podría seguir reservando en cual y en la mejor, todo depende de una buena configuración del servidor