
Owen Little
0
811
43
SSH 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 de FTP [Explicación de la tecnología] Qué es SSH y en qué se diferencia de FTP [Explicación de la tecnología] para obtener acceso seguro a un servidor de archivos con su cliente FTP favorito Maestro Transferencias de archivos FTP en todos sus sitios con FileZilla Master Transferencias de archivos FTP en todos sus sitios con FileZilla Una gran cantidad de clientes FTP antiguos tenían problemas cuando se trataba de transferencias de archivos grandes. Las aplicaciones experimentaron los tiempos de espera habituales que esperaría cuando la computadora permanezca allí durante 15 a ..., acceda rápidamente a archivos remotos o incluso monte un disco de red en su computadora. Pero hay más en SSH que el acceso a archivos remotos. Iniciar sesión a través de SSH en la Terminal (o usar PuTTY en Windows) le brinda acceso remoto a la shell (después de todo, SSH es la abreviatura de Secure SHell). Así es como administro mi servidor de medios a distancia.
Cuando abre los puertos ¿Qué es el reenvío de puertos y cómo puede ayudarme? [MakeUseOf explica] ¿Qué es el reenvío de puertos y cómo me puede ayudar? [Explica MakeUseOf] ¿Lloras un poco por dentro cuando alguien te dice que hay un problema de reenvío de puertos y es por eso que tu nueva aplicación brillante no funcionará? Su Xbox no le permitirá jugar, sus descargas de torrents se rechazan ... en su enrutador (el 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 desea arriesgarse con una contraseña débil para la autenticación. Si alguien obtiene acceso a su computadora a través de SSH, obtendrá acceso completo al shell. Para ser claros, eso no es algo que queramos. Afortunadamente, es muy fácil configurar su servidor SSH global de una manera muy segura mediante el uso de autenticación basada en claves y desactivando 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 por medios 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 equivocada Debido a que (la mayoría) del tráfico SSH se transmite en el puerto 22, los atacantes verifican rutinariamente la visibilidad del puerto 22 en direcciones IP aleatorias, seguido de un ataque de fuerza bruta. Esta es una de las formas en que las botnets se hacen para usar en ataques DDOS ¿Qué es un ataque DDoS? [MakeUseOf explica] ¿Qué es un ataque DDoS? [Explica MakeUseOf] El término DDoS silba cuando el ciberactivismo levanta su cabeza en masa. Este tipo de ataques son titulares internacionales debido a múltiples razones. Los problemas que impulsan esos ataques DDoS son a menudo controvertidos o muy ... .
Para resumir: si difunde su servidor SSH a través de Internet (es decir, reenvía 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 la criptografía de clave pública. Nos llevaría demasiado lejos explicar las complejidades, pero trataremos de 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 cifre 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 ejecutándose y solo quiere saber cómo configurar la autenticación basada en claves, puede omitir este paso. Use 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 para que termine de instalarse. Felicidades, ahora tienes un servidor SSH. (¡Eso fue fácil!)
Puede usar la aplicación tal como está o editar / etc / ssh / sshd_config
para configurarlo Ejecutar el man 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 relevante de Ubuntu.
2. Generar claves
Generaremos un conjunto de claves. Ejecute los siguientes comandos (adaptado de la página de ayuda de Ubuntu OpenSSH / Keys).
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 realmente genera un conjunto de claves RSA. Primero se le pedirá una ubicación para guardar las claves (deje en blanco y presione Intro para guardar en la ubicación predeterminada) y en segundo lugar para una frase de contraseña.
Esta frase de contraseña encripta aún más la clave privada que está almacenada en su computadora, esencialmente dándole más tiempo para proteger el servidor SSH si alguna vez se roba su clave privada. Asegúrese de elegir una frase de contraseña que pueda recordar, ya que deberá ingresarla cuando intente usar su clave.
3. Transfiera la clave pública
A continuación, deberá transferir la clave pública que generó en el paso anterior a la computadora servidor SSH. Si su máquina cliente también ejecuta Linux, esto se puede lograr muy fácilmente ejecutando el siguiente comando (sustituyendo y por el nombre de usuario y la dirección IP en su servidor SSH).
ssh-copy-id @ @
Si su cliente no admite el comando ssh-copy-id, puede utilizar el siguiente comando en su lugar. Es un poco más complicado, pero esencialmente logra los mismos resultados..
cat ~ / .ssh / id_rsa.pub | ssh @ @ "mkdir ~ / .ssh; cat >> ~ / .ssh / certified_keys"
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 al 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 paso uno. Aunque al menos un cliente está configurado para usar autenticación basada en claves, esto todavía deja espacio para que otros clientes se conecten con una contraseña. Para finalizar, deshabilitaremos 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, de nuevo, usar Terminal. (Soy parcial con nano, pero puedes usar lo que te resulte más cómodo).
sudo nano / etc / ssh / sshd_config
Alrededor de 40 líneas desde la parte inferior del archivo, encontrarás
# Contraseña Autenticación sí
Elimine el signo de número (#) y cambie la configuración a 'no', como se muestra a continuación.
Contraseña Autenticación no
El archivo final debería verse así:
Guarde el archivo presionando CTRL + X. Confirme la edición y el nombre de archivo, y ya casi ha terminado. Simplemente reinicie el servidor SSH para ejecutarlo con estas nuevas configuraciones.
sudo reiniciar ssh
También notará que su cliente dejará de pedir 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 usarlo? ¿Como un servidor de archivos seguro, un shell remoto o para reenviar otros servicios a través de SSH? Háganos saber en la sección de comentarios!
Crédito de imagen: Shutterstock