Anuncio publicitario

Cómo autenticarse a través de SSH con claves en lugar de claves de contraseñasSSH es una excelente manera de obtener acceso remoto a su computadora. Similar a FTP, puede conectarse a través de SSH FTP Qué es SSH y en qué se diferencia del FTP [Explicación de la tecnología] Lee mas para obtener acceso seguro a un servidor de archivos con su favorito Cliente FTP Transferencias maestras de archivos FTP en todos sus sitios con FileZillaUna gran cantidad de clientes FTP de la antigüedad tenían problemas cuando se trataba de transferencias de archivos grandes. Las aplicaciones experimentaron los tiempos de espera habituales que cabría esperar cuando la computadora permanece allí de 15 a ... Lee mas , acceder rápidamente a archivos remotos o incluso montar un disco de red en su computadora. Pero SSH es más que el acceso remoto a archivos. Iniciar sesión a través de SSH en la Terminal (o usar Masilla en Windows) le brinda acceso remoto al shell (después de todo, SSH es la abreviatura de Secure SHell). Así es como administro mi servidor de medios a distancia.

instagram viewer

Cuando usted abre los puertos ¿Qué es el reenvío de puertos y cómo puede ayudarme? [MakeUseOf Explains]¿Lloras un poco por dentro cuando alguien te dice que hay un problema de reenvío de puertos y que es por eso que tu nueva y brillante aplicación no funciona? Tu Xbox no te permitirá jugar, tus descargas de torrents se niegan ... Lee mas en su enrutador (puerto 22 para ser exactos) no solo puede acceder a su servidor SSH desde su red local, sino desde cualquier parte del mundo.

Sin embargo, no quiere arriesgarse a utilizar una contraseña débil para la autenticación. Si alguien obtiene acceso a su computadora a través de SSH, obtiene acceso completo al shell. Para que quede claro, eso no es algo que queremos. Afortunadamente, es muy fácil configurar su servidor SSH global de una manera muy segura mediante el uso de la autenticación basada en claves y la desactivación de la autenticación de contraseña en su servidor por completo.

¿Esto es para mí?

Es tentador volverse laxo con la seguridad personal. Si está utilizando el servidor para fines privados, podría pensar que las personas simplemente no conocen su servidor y, por lo tanto, no intentarán piratearlo. seguridad a través de la oscuridad. Eso sería un muy suposición incorrecta. Debido a que (la mayoría) del tráfico SSH se transmite en el puerto 22, los atacantes verifican de forma rutinaria la visibilidad del puerto 22 en direcciones IP aleatorias, seguido de un ataque de fuerza bruta. Ésta es una de las formas en que se crean las botnets para su uso en Ataques DDOS ¿Qué es un ataque DDoS? [MakeUseOf Explains]El término DDoS pasa silbando cada vez que el ciberactivismo asoma en masa. Este tipo de ataques son noticia internacional por múltiples razones. Los problemas que impulsan esos ataques DDoS suelen ser controvertidos o muy ... Lee mas .

Para abreviar la historia: si transmite su servidor SSH a través de Internet (es decir, reenviar el puerto 22), entonces sí, esto es para usted.

La idea de los inicios de sesión SSH basados ​​en claves

Los inicios de sesión SSH basados ​​en claves se basan en la idea de criptografía de clave pública. Nos llevaría demasiado lejos explicar las complejidades, pero intentaremos pintar una imagen simple de lo que está sucediendo detrás de escena.

En el proceso a continuación, su computadora cliente genera dos claves: una clave pública y una clave privada. La idea general es que puede cifrar datos con la clave pública, pero solo descifrarlos con la clave privada. Pondremos la clave pública en el servidor y le pediremos que encripte todas las comunicaciones salientes con él. Esto asegura que solo aquellos clientes con la clave privada puedan descifrar y leer los datos.

1. Instalar OpenSSH

Primero, vamos a configurar un servidor SSH usando OpenSSH. Si ya tiene un servidor SSH en ejecución y solo desea saber cómo configurar la autenticación basada en claves, puede omitir este paso. Utilice su administrador de paquetes favorito para instalar la aplicación del servidor OpenSSH. La forma más sencilla podría ser ejecutar el apt-get comando desde la Terminal.

sudo apt-get install openssh-server

Ingrese su contraseña, confirme y espere un minuto a que termine de instalarse. Felicitaciones, ahora tiene un servidor SSH. (¡Eso fue fácil!)

ubuntu-install-openssh

Puede usar la aplicación tal cual o editar /etc/ssh/sshd_config para configurarlo. Ejecutar el hombre sshd_config comando en la Terminal para obtener más información. Otro gran recurso para aprender más sobre OpenSSH es la página de ayuda de Ubuntu correspondiente.

2. Generar claves

Generaremos un conjunto de claves. Ejecute los siguientes comandos (adaptados del OpenSSH / Teclas Página de ayuda de Ubuntu).

mkdir ~ / .ssh
chmod 700 ~ / .ssh
ssh-keygen -t rsa

El primer comando crea un directorio oculto ".ssh" en su carpeta de inicio, el segundo comando cambia los permisos de acceso de la carpeta mientras que el tercer comando en realidad genera un conjunto de RSA teclas. Primero se le pedirá una ubicación para guardar las claves (déjelo en blanco y presione enter para guardar en la ubicación predeterminada) y segundo para una frase de contraseña.

rsa-key-generation-mac

Esta frase de contraseña encripta aún más la clave privada que está almacenada en su computadora, esencialmente le da más tiempo para proteger el servidor SSH si alguna vez le roban su clave privada. Asegúrate de elegir una frase de contraseña que puedas recordar, ya que tendrás que ingresarla cuando intentes usar tu clave.

3. Transferir la clave pública

A continuación, deberá transferir la clave pública que generó en el paso anterior a la computadora del servidor SSH. Si su máquina cliente también ejecuta Linux, esto se puede lograr muy fácilmente ejecutando el siguiente comando (sustituyendo y para el nombre de usuario y la dirección IP en su servidor SSH).

ssh-copy-id @

Si su cliente no es compatible con el comando ssh-copy-id, puede usar el siguiente comando en su lugar. Es un poco más complicado, pero básicamente logra los mismos resultados.

cat ~ / .ssh / id_rsa.pub | ssh @ "mkdir ~ / .ssh; gato >> ~ / .ssh / claves_autorizadas "

Se le pedirá que ingrese la contraseña de usuario para el servidor SSH. Si los comandos se ejecutan sin errores, su clave pública se habrá copiado en el servidor.

4. Deshabilitar la autenticación de contraseña

Tenga en cuenta que su sistema aún no es más seguro que después del primer paso. Aunque al menos un cliente está configurado para usar la autenticación basada en claves, esto todavía deja espacio para que otros clientes se conecten con una contraseña. Para finalizar, inhabilitaremos la autenticación de contraseña por completo. Después de este paso, solamente Las computadoras que han pasado por el proceso anterior pueden conectarse a su servidor SSH.

Para deshabilitar la autenticación de contraseña, edite el /etc/ssh/sshd_config archivo en su editor favorito. Una de las formas más fáciles de editar un archivo restringido es, nuevamente, usando Terminal. (Soy partidario de nano, pero puedes usar lo que te resulte más cómodo).

sudo nano / etc / ssh / sshd_config

Aproximadamente 40 líneas desde la parte inferior del archivo, encontrará

#PasswordAuthentication sí

Quite el signo de número (#) y cambie la configuración a "no", como se muestra a continuación.

Autenticación de contraseña no

El archivo final debería verse así:

sshd_config

Guarde el archivo presionando CTRL + X. Confirma la edición y el nombre del archivo y ya casi has terminado. Simplemente reinicie el servidor SSH para ejecutarlo con esta nueva configuración.

sudo reiniciar ssh

También notará que su cliente dejará de solicitar la frase de contraseña para descifrar su clave si la autenticación de contraseña está deshabilitada en el servidor. Ahora que tiene un servidor SSH seguro, ¿cómo piensa utilizarlo? ¿Como servidor de archivos seguro, shell remoto o para reenviar otros servicios a través de SSH? ¡Háganos saber en la sección de comentarios!

Credito de imagen: Shutterstock

Soy un escritor y estudiante de informática de Bélgica. Siempre puedes hacerme un favor con una buena idea para un artículo, una recomendación para un libro o una receta.