Cómo autenticar con clave pública en SSH - Chuda
15552
post-template-default,single,single-post,postid-15552,single-format-standard,bridge-core-3.1.2,qode-page-transition-enabled,ajax_fade,page_not_loaded,,qode-child-theme-ver-1.0.0,qode-theme-ver-30.1,qode-theme-bridge,disabled_footer_top,qode_header_in_grid,wpb-js-composer js-comp-ver-7.6,vc_responsive

Cómo autenticar con clave pública en SSH

Cómo autenticar con clave pública en SSH

Hola como saben uno de mis trabajos en el de administrador de infraestructura informática (sysadmin o BOFH) , para esto necesito logearme a varios servidores desde la consola o shell, buscando una manera un poco mas segura de hacerlo, lo hago usando mi clave ssh.

Bien ¿como hacemos esto? supongamos que el usuario chuda en el sistema local (syslocal) debe ingresar al sistema remoto (sysremoto), en primer paso el usuario chuda debe crearse  o generar un par de claves de autenticación SSH, para esto nos valemos de una herramienta que tiene por nombre ssh-keygen.

SSH implementa la autenticación con clave pública utilizando RSA o DSA. La versión 1 del protocolo SSH sólo soporta RSA, mientras que la versión 2 soporta ambos sistemas.

1 – Crear las llaves RSA en tu computador (syslocal)

chuda@syslocal:~$ ssh-keygen -t rsa

Te pedirá una serie de datos, responde a todas ellas con el valor predeterminado. Al terminar habrá creado 2 archivos en el directorio .ssh de la home de tu usuario: id_rsa y id_rsa.pub, la primera es llave privada y la segunda la pública.

Es esta llave publica (id_rsa.pub) la que vamos a subir al servidor, cuenta de hosting, para que el servicio de SSH te permita hacer login con la clave de la llave SSH.

2 – Acceder a tu cuenta de hosting vía SSH (sysremoto)

Ingresa a tu servidor, vps, hosting de la manera que lo haces siempre vía SSH ejemplo:

chuda@syslocal:~$ ssh chuda@sysremoto.com

una ves dentro vamos al directorio .ssh

chuda@sysremoto:~ $ cd .ssh

Es posible que el directorio no exista, en ese caso debemos crearlo y otorgarle los permisos necesarios.

chuda@sysremoto:~ $ mkdir ~/.ssh
chuda@sysremoto:~ $ chmod 700 /home/usuario/.ssh
chuda@sysremoto:~ $ cd ~/.ssh

3 – Añadir tu llave pública al archivo de autorizados

Una vez dentro de nuestro servidor y con el directorio .ssh creado y con los permisos necesarios debemos añadir la llave o clave publica SSH a un archivo llamado authorized_keys, que es donde se guardan todas las claves públicas que tienen acceso al servidor.

lo más sencillo es que copies el contenido de tu llave pública id_rsa.pub creada en el paso 1 una vez copiada abres al archivo authorized_keys, y añadimos o pegamos el contenido de nuestra llave pública.

chuda@sysremoto:~ $ nano ~/.ssh/authorized_keys

Si el archivo no existe lo creamos y le damos los permisos adecuados.

chuda@sysremoto:~ $ touch ~/.ssh/authorized_keys
chuda@sysremoto:~ $ chmod 600 ~/.ssh/authorized_keys

Ok ya esta listo lo primero, ahora debemos modificar el archivo de configuración de ssh para que nos deje ingresar con la llave ssh, esto lo hacemos editando en archivo sshd_config que se encuentra en /etc/ssh/

nano /etc/ssh/sshd_config

luego buscamos la linea AuthorizedKeysFile que esta comentada y la des comentamos quitando el # que tiene delante.

#AuthorizedKeysFile      %h/.ssh/authorized_keys <-- como esta por defecto
AuthorizedKeysFile      %h/.ssh/authorized_keys <-- como debe quedar

recuerda reiniciar los servicios de ssh

service ssh restart

Después cerramos cesión y cuando queramos ingresar nuevamente nos pedirá la clave de nuestra llave SSH.

Happy Hacking!