Genere un par de claves SSH en su computadora Linux

En este tutorial, mostramos cómo usar la autenticación de clave privada desde cualquier máquina Linux local, en este caso CentOS 7, para establecer una conexión SSH a un servidor Ubuntu 16.04 remoto.

Nota especial: si está buscando un servicio de alojamiento web más seguro y protegido, debe considerar los principales servicios de alojamiento de Linux que figuran en Hosting mas Baratocon opiniones de expertos y usuarios.

Nota especial: SSH está instalado de forma predeterminada en Ubuntu. Sin embargo, si por alguna razón no está instalado, este comando puede usarse para instalarlo:

$ sudo apt-get install openssh-server
$ ssh-keygen

Confirme que el par de claves SSH id_rsa e id_rsa.pub se creó en el directorio de inicio del usuario. /home/linuxuser/.ssh.

Copie la clave pública SSH al servidor remoto Ubuntu 16.04

Primera opción: use ssh-copy-id

Ejecute el comando.

$ ssh-copy-id linuxuser@ubuntu16-hostadvice

Esta opción copia y agrega automáticamente la clave pública (id_rsa.pub) al directorio de inicio del usuario remoto. .ssh/authorized_keys Archivo. Puede confirmar esto iniciando sesión en el servidor remoto Ubuntu 16.04 y abriendo el directorio de inicio del usuario .ssh/authorized_keys Presentar con un editor como empuje o Nano.

Segunda opción: copiar la clave pública manualmente

Primero cree el directorio con el nombre «.ssh«En la carpeta de inicio de la cuenta de usuario remoto»Usuario de Linux«.

$ mkdir -p ~/.ssh

O

$ mkdir -p /home/linuxuser/.ssh

Luego crea un archivo llamado «llaves_autorizadasEjecutando el comando.

$ nano ~/.ssh/authorized_keys

Luego pegue la clave pública del portapapeles en el Nano-Editor y guárdelo con «Ctrl-O«.
Establezca los permisos correctos en el directorio y el archivo.

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

Luego reinicie el servicio sshd.

$ sudo systemctl restart sshd

Ahora pruebe si el par de claves ssh realmente funciona.

Pruebe la funcionalidad del par de claves SSH

Desde la computadora Centos 7 local, inicie sesión en el Ubuntu 16.04 remoto.

$ ssh -i ~/.ssh/id_rsa linuxuser@ubuntu16-hostadvice

O simplemente

$ ssh linuxuser@ubuntu16-hostadvice

Después de una autenticación e inicio de sesión exitosos, debería estar en la terminal de su usuario remoto.

Dado que se ha verificado que el par de claves ssh funciona como se requiere, una MEJOR práctica es deshabilitar la autenticación de contraseña en el servidor editando el archivo de configuración ssh, sshd_config. Esto es para descartar el riesgo de ataques de fuerza bruta a través del descifrado de contraseñas.

Edite el sshd_config

Editemos el archivo de configuración ejecutando el comando:

$ sudo vim /etc/ssh/sshd_config

Consulte la Figura 13. Establezca el valor de PasswordAuthentication en «no»

PasswordAuthentication no

Cambiar la configuración en sshd_config

Descomente y establezca otras configuraciones importantes en el archivo de configuración de la siguiente manera y guarde el archivo. (Ver figura 13)

PubkeyAuthentication yes
AuthorizedKeyFile    .ssh/authorized_keys
ChallengeResponseAuthentication no

Reinicie el servicio sshd para activar los cambios en el archivo de configuración ejecutando el comando.

$ sudo systemctl restart sshd

A partir de ahora es posible iniciar sesión en el servidor SÓLO con claves SSH y NO CON CONTRASEÑA.

Eso no se detiene ahí. El UFW (firewall sin complicaciones) debe configurarse para filtrar ssh a través del firewall.

Configurar ufw (firewall sencillo) para ssh

Compruebe si UFW está instalado:

$ dpkg -l | grep ufw

Si ufw aparece en la lista, ya está instalado.

Nota especial: de forma predeterminada, ufw generalmente se instala en Ubuntu, pero si por alguna razón no está allí, puede instalarlo usando:

$ sudo apt-get install ufw

Compruebe si OpenSSH es una de las aplicaciones con perfil registrado en UFW.

$ sudo ufw app list

A partir del problema, OpenSSH es la única aplicación con un perfil registrado en UFW

$ sudo ufw app list

Asegúrese de que el firewall permita conexiones SSH

$ sudo ufw allow OpenSSH

Vuelva a cargar el firewall y habilítelo en el arranque

$ sudo ufw enable

Confirme que se permite la conexión SSH a través de UFW

$ sudo ufw status

La salida habilita UFW y permite conexiones SSH a través del firewall UFW.

Para obtener más información sobre la seguridad del alojamiento web, consulte la Guía de seguridad de alojamiento de HostAdvice.

Consulte los 3 mejores servicios de alojamiento de servidores dedicados: