Anda di halaman 1dari 24

INTRODUCCIÓN

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:

ssh [usuario]@[dirección IP remota]


Password …
 El algoritmo de cifrado para SSH depende de la versión de su protocolo, en la
versión 1 (SSH1) utiliza algoritmos de cifrado como DES, Triple DES, IDEA, entre
otros. En su versión 2 (SSH2) también utiliza el algoritmo de cifrado como Triple
DES, entre otros.

RSA, es un sistema criptográfico de clave pública, este algoritmo generalmente


consta de tres pasos, generación de claves, cifrado y descifrado.

 DSA (Digital Signature Algorithm - Algoritmo de Firma digital), sirve para


firmar y no para cifrar información. Una desventaja de este algoritmo es que
requiere mucho más tiempo de cómputo que RSA, pero es mucho mas seguro ya
que es mucho mas complejo.
 CLAVE PRIVADA, para este caso la llave privada es la que
nos permite autenticarnos en el equipos remoto, esta nos permite
cifrar el mensaje y se debe encontrar en un archivo definido para
poder implementar este sistemas de autenticación por medio de
clave publica.

 CLAVE PRIVADA, esta llave se encontrara guardada en el equipo en el


cual creamos las llaves originalmente, es decir, en donde se generaron las
llaves; nos permite descifrar el mensaje.
1. Para este primer paso nos vamos a dirigir al equipo en el cual vamos a
generar las llaves, estando allí lo primero que tenemos que hacer es
configurar el servidor de SSH para que acepte trabajar con llaves públicas,
nos dirigimos a la ruta /etc/ssh/sshd_config, lo abrimos con un editor de
textos y corregimos los valores de las siguientes opciones relacionadas con
las llaves públicas:

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.

 La segunda opción (PubkeyAuthentication) es la que especifica si se podrán usar


llaves públicas para demostrar la autenticidad de un usuario. Si su valor es “yes”,
entonces se podrán emplear las llaves públicas, si por el contrario su valor es “no”,
entonces el uso de llaves públicas quedará prohibido.

 La tercera opción (AuthorizedKeysFile) especifica el archivo que contiene las llaves


públicas empleadas para la autenticación de los usuarios. Por defecto suele ser el
archivo .ssh/autorized_keys, dentro de la carpeta personal de cada usuario, es decir,
puede estar en home del usuario al cual nos vamos a conectar por medio de las claves.

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 El primero, en especifica la ruta donde salvar la llave privada, si pulsamos Enter


estamos dejando el nombre por defecto “id_dsa” que es la llave privada y “id_dsa.pub”
que seria la llave pública, pero por el contrario si especificamos un nombre (johana)
quedaría identificada con el mismo y por consiguiente se salvará en la ruta por defecto
(la indicada entre paréntesis).

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 Después, el ssh-keygen muestra con que nombre se ha salvado la llave privada


y la llave pública, esta ultima tiene el mismo nombre de archivo con la extensión
.pub añadida al final.

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.

5. Ahora vamos a copiar la llave publica en el archivo authorized.keys


ubicado en la ruta del usuario, este archivo también debe
pertenecer al usuario de ese home, y reiniciamos el servicio de
SSH.
6. Ahora vamos a establecer la conexión con el host remoto para
probar que efectivamente la Autenticación de claves publicas esta
en función. La próxima vez que nos conectemos nuevamente al
host remoto, en lugar de pedirnos la contraseña del usuario, nos
pedirá la frase clave con la que la encriptamos nuestra llave
privada. Es importante mencionar que nos podemos seguir
autenticando de las dos maneas, por medio de claves publicas y
como viene por defecto, con usuario y contraseña.
 En la implementación de llaves publicas para la autenticación con
SSH conectándonos a un host remoto, puede ser mucho mas seguro ya
que si no poseemos las llaves que nos permiten comunicarnos no es
posible establecer una sesión en el host remoto para realizar tareas
especificas.

 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.

Anda mungkin juga menyukai