Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1. Conceptos previos
2. Implementación método de autenticación con llaves públicas en SSH
CONCLUSIONES
En la actualidad existen múltiples protocolos y aplicaciones que nos permiten
administrar equipos remotamente, esto es muy importante y necesario ya que
podemos ahorrar tiempo y distancia dando soporte y solucionando posibles
problemas que se estén presentando en los ordenadores que se puedan encontrar a
nuestro cargo como Administradores de Red.
Para este caso vamos a implementar la aplicación y el protocolo SSH (Security Shell
intérprete de órdenes segura), explicando los diferentes métodos de autenticación
con los cuales podemos establecer una sesión en un equipo estando remotamente.
SSH dispone de varios métodos para verificar la identidad de un usuario remoto, uno
de ellos es el uso de contraseñas de usuarios, pero otro de los métodos se basa en
la autenticación RSA, en donde se dispone de un juego de llaves privada/pública
que garantiza la identidad de un usuario intentando conectarse al equipo remoto.
SSH (Secure Shell intérprete de órdenes segura) es una herramienta utilizada
para administrar máquinas de manera remota para enviar ficheros de una máquina
a otra, ejecutar comandos, hacer copias, entre otras tareas; nos permite manejar
por completo la computadora mediante un intérprete de comandos a través de una
conexión segura.
Para establecer una conexión por SSH utilizando usuario y contraseña, tiene la
siguiente sintaxis:
vim /etc/ssh/sshd_config
La primera opción (RSAAuthentication) sirve para indicar cuando se permitirá
autenticación RSA, está opción esta habilitada por defecto, y en el ejemplo está
comentada porque sólo sirve para la versión 1 del protocolo SSH.
Finalmente, guardamos los cambios para que estos sean efectivos, será necesario
reiniciar el servidor de SSH.
2. Para poder crear nuevas llaves privadas y sus correspondientes llaves
públicas, disponemos de una herramienta llamada “ssh-keygen”, esta
herramienta puede crear llaves RSA o DSA .
o -t, especifica que tipo de llave vamos a crear, este parámetro se emplea
seguido del tipo de llave: "RSA" o "DSA“, para este caso utilizaremos el
algoritmo DSA, pero si deseamos implementar el otro se hace el mismo
procedimiento.
Al ejecutar el comando anterior nos piden unos datos:
o Los siguientes dos parámetros que pide son la frase “passphrase” ó clave
repitiéndola para evitar que hayan errores en la misma, se puede emplear cualquier
carácter (letras, números, signos de puntuación, espacios), esta frase se utiliza para
mayor seguridad a la hora de establecer la conexión con las llaves. La passphrase se
puede cambiar con el comando ssh-keygen -p.
NOTA: En caso de no introducir ninguna frase, la llave privada quedará sin
encriptar, lo cual podría ser útil para realizar algunas automatizaciones como podría
ser el realizar copias de seguridad, pero, para uso habitual, se desaconseja dejar
las llaves privadas sin encriptar por el peligro que puede representar que estas
sean robadas.
o En la última línea imprime una huella dactilar que sirve para identificar la llave
que acabamos de crear, seguida de un comentario que puede servir para identificar
la llave pública.
Debemos mantener la llave privada secreta, por defecto ssh-keygen establecerá los
permisos del archivo con esta llave para que sólo el dueño pueda leerla y modificarla.
Por el contrario la llave pública podrá ser leída por cualquier usuario.
3. Para poder autenticarnos en un equipo remoto con nuestra llave privada, lo único
que tendremos que hacer es añadir nuestra llave pública en el archivo
.ssh/authorized_keys dentro del directorio personal del usuario al que queremos
acceder (generalmente es /home/usuario/.ssh/authorized_keys).
Ahora debemos enviar nuestra llave pública al equipo remoto, en caso de que
podamos acceder al mismo usando SSH con contraseña de usuario para
autenticarnos, sería mediante SCP (Secure Copy) que es un medio de
transferencia segura de archivos informáticos entre un host local y otro remoto o
entre dos hosts remotos. Por ultimo nos dirigimos a la maquina remota
(192.168.10.162) e ingresamos al directorio “tmp/” ó bien podemos conectarnos
por SSH para verificar que efectivamente la llave publica a sido copiada allí.
4. Luego vamos a crear el directorio .ssh en el home del usuario con el cual
nos vamos a autenticar, en caso de que no exista lo creamos con el
comando mkdir y debemos determinar que este directorio pertenezca al
usuario de ese home, para añadir la llave pública al archivo
home/johana/.ssh/authorized_keys, como lo podemos observar a
continuación.
NOTA: El servicio ssh ya viene configurado para trabajar con
autenticación por medio de llaves asimétricas (usa el par de claves
“privada y pública” para el envío de mensajes), como se pudo
observar anteriormente en el archivo de configuración busca el
directorio /home/usuario/.ssh/ el archivo authorized.keys y por medio
de este autenticar al usuario que se intente comunicar con el por medio
de la llave privada.
SSH usa técnicas de cifrado que hacen que la información que viaja
por el medio de comunicación vaya de manera no legible y ninguna
tercera persona pueda descubrir el usuario y contraseña de la conexión
ni lo que se escribe durante toda la sesión.