Guía básica para aprender a utilizar este protocolo

Cuando el hardware de la computadora actúa como un servidor (es decir, una computadora que brinda servicios a otros usuarios, como Alojamiento compartido de Raiola Networks), desarrollar una forma de gestionar de forma remota estos equipos sin tener que reunirse con ellos en persona se ha vuelto fundamental.

Independientemente de si está estableciendo una conexión SSH por primera vez o ya la ha establecido, Esta guía lo ayudará a comprender lo que está haciendo realmente y cómo funciona el protocolo SSH.

Explicado en todo Entenderemos qué es SSH, cómo funciona, el tipo de cifrado que utiliza y los comandos SSH más utilizados.

📑 Aquí podrás encontrar 👇

¿Qué es SSH y para qué sirve?

Como mencioné en la introducción, SSH (abreviatura de Secure SHell) es un protocolo de red para control remoto..Desde su cómoda oficina u oficina en casa, servidor No es necesario que vaya al centro de datos de colocación.

Para comprender qué es SSH, primero debe saber qué es Telnet, ya que es el predecesor de SSH. Se puede decir que es similar a http a https.

Telnet le permite conectarse a una computadora remota y mover o eliminar archivos de una carpeta a otra usando comandos SSH estándar (como cp o rm) o tareas más complejas como crear una base de datos e insertar un archivo de ejecución de documentos. ... Eso incluye.

Una de las principales desventajas de Telnet es que la conexión se realiza en texto claro. Esto significa que los usuarios que monitorean su conexión de red pueden comprender todo el diálogo entre el servidor y su computadora. No solo eso: puede obtener fácilmente la contraseña e ingresar al servidor.

La siguiente figura muestra un ejemplo de una conexión Telnet. Servidor VPS...

Te explicaré el significado de todo lo que ves en la pantalla:

Conéctese con inicio de sesión remoto

  • Registro remoto 91.134.16.2: Establezca una conexión Telnet al servidor 91.134.16.2
  • Nuevo inicio de sesión: root El servidor me pidió un usuario, estaba usando el usuario root, un superadministrador en un sistema operativo similar a UNIX.
  • Contraseña: Aunque no hay ningún punto o asterisco aquí, ingresé mi contraseña aquí.
  • [ root@raiolanetworks.servidordepruebas.com ] # ls -a Aquí estoy usando el interruptor -a para ejecutar el comando ssh ls para enumerar todo el contenido del directorio, incluidos los archivos ocultos.

Como dije, SSH se conectó con éxito a Telnet y convirtió este último en una herramienta de diagnóstico porque La conexión establecida mediante el protocolo SSH es segura.La conexión SSH utiliza los últimos y más seguros algoritmos de cifrado. Incluso si alguien está monitoreando su conexión de red, solo recibirá cadenas ilegibles que no se pueden descifrar.

En resumen, se puede decir SSH es un protocolo de red encriptado Esto le permite administrar un servidor remoto como si fuera un servidor remoto.

Así es como funciona SSH

En su forma básica SSH le permite conectarse a una computadora remota con un nombre de usuario y contraseña. De esta manera, puede usar algunos comandos para aprovechar al máximo el servidor.

Antes de abrir una terminal y conectarme, explicaré cómo funciona SSH y por qué el protocolo es tan seguro. Te explicaré los diferentes métodos de cifrado. Esto le ayudará a comprender cada protocolo de red (por ejemplo, cómo funciona la comunicación segura a través de ftp (ftps) o http (https)).

Tipo de cifrado

El protocolo SSH maneja las conexiones de forma muy segura.

Una vez que haya aprendido cómo iniciar una conexión SSH desde la terminal, puede probar esto verificando el tipo de certificado proporcionado por su cliente SSH y el servidor al que se está conectando con el comando ssh -vv usuario @ servidor

Dejame explicar ¿Qué tipos de cifrado existen y qué tipo de cifrado se utiliza? Haga que su comunicación sea completamente segura.

Cifrado de clave simétrica o privada

La criptografía simétrica es la más antigua y se basa en: Dos computadoras que se comunican entre sí comparten un secretoPor lo tanto, el segundo nombre de este método es Key Encryption.

La clave compartida puede ser una palabra, un número o una cadena aleatoria que se usa para modificar un mensaje enviado entre dos computadoras de una manera particular. Por lo tanto, conocer la clave y el método utilizado para cifrar el mensaje le permite cifrarlo y descifrarlo.

Con este tipo de criptografía, la seguridad está garantizada casi exclusivamente mediante el uso de secretos fuertes y no mediante métodos de cifrado (estos últimos pueden ser conocidos por un atacante sin ningún problema), ya que no es posible descifrar la contraseña si se desconoce la clave. . ... información.

SSH utiliza este método de cifrado para la comunicación. No entraré en los detalles técnicos de esto, pero básicamente el programa que está utilizando como cliente y el servidor cuando se conecta a través de SSH están negociando el tipo de cifrado. Aquí hay algunos ejemplos: diferentes sabores de AES, pez globo o Arcfour.

Tan pronto como acepte el uso del tipo de cifrado, El cliente y el servidor crean secretos en paralelo mediante un proceso llamado algoritmo de intercambio de claves., Basado en el protocolo Diffie-Hellman. Como resultado, tanto el cliente como el servidor obtienen de forma independiente la misma clave, comparten información pública y trabajan con ella en información secreta.

Cifrado asimétrico

Diferente a lo que piensas SSH solo utiliza cifrado asimétrico para la autenticación de usuarios.Esto no es necesario ya que normalmente usamos nuestro nombre de usuario y contraseña para conectarnos. Simplemente agrega una capa adicional de seguridad a la conexión SSH.

El sistema de cifrado se basa en el hecho de que cada computadora involucrada en el intercambio de datos tiene un par de claves, una clave pública (como su nombre indica, cualquiera puede presentarla) y una clave privada.

Para que entiendas cómo funciona el sistema, primero te enseñaré cómo generar la clave que te dije. Utilice el comando ssh-keygen para generar un par de claves pública / privada. Por ejemplo, los que se utilizan para conexiones seguras https o SSH.

Como puede ver, el método de cifrado RSA se utiliza para generar la clave. Sin embargo, hay muchos otros como EDCSA o ed25519.

He explicado el resto de los parámetros del comando anterior:

  • -b 4096: Cuenta el número de bits de la clave privada 4096.
  • -f clave_secreta: La clave se almacena en un archivo llamado clave_secreta.
  • -N '': Evite que se le solicite una contraseña al usarla (sí, puede agregar seguridad adicional a las claves para que las personas que no tengan una contraseña no puedan usarlas).

Estos botones funcionan para que Llave privadaEsta es la parte realmente importante, otras personas no pueden acceder a ella. Esta es la clave para descifrar el mensaje....

La clave pública se puede compartir porque de hecho De la misma claves privadas, se puede generar cualquier número de claves públicas diferentes.De hecho, la clave pública se envía durante la comunicación inicial entre el cliente SSH y el servidor.

Una vez que tenga sus claves públicas y privadas, al iniciar una conexión SSH puede intentar establecer una conexión encriptada asimétricamente con ella Tener la clave privada listada como Autorizada en el servidor hace que el proceso de autenticación sea más rápido y seguro....

Lo que realmente sucede es que una vez que el servidor verifica que la conexión de clave que está intentando usar está autorizada, crea un mensaje aleatorio que está encriptado con la clave pública y se lo envía de vuelta para asegurarse de que pueda descifrarlos.

La clave privada descifra el mensaje y lo envía de vuelta al servidor. Si coincide con el mensaje que generó originalmente, la autenticación fue exitosa y puede acceder a él a través de SSH sin una contraseña.

picadillo

Voy a conseguir más tecnología y hablaré de matemáticas porque esta es el área donde una función hash sin inversión se llama función hash. Un mensaje cifrado con una función hash no se puede descifrar...

Por supuesto, esta es la forma más segura de almacenar información. El sistema operativo (o WordPress, nuestro CMS preferido) guarda la contraseña en su base de datos, ya que una vez que se ha guardado el mensaje hash, el mensaje original ya no se puede recuperar.

Ese El protocolo SSH implementa este cifrado. En cada mensaje enviado entre cliente y servidor. Primero, utiliza una clave generada mediante cifrado simétrico para cifrar la información que transmite. Cuando el mensaje está listo, utiliza el método predefinido (md5, sha u otro método acordado cuando se inició la conexión) genera un valor hash único.

Esto agrega una capa adicional de seguridad (otra), incluso si un atacante obtiene el secreto compartido de una conexión encriptada asimétricamente, no puede cambiar la información sin notificar al comando apropiado, ya que el hash es inevitable si cambia 地 变 。Cambios de país.

Entonces, si el destinatario del mensaje verifica que el mensaje recibido tiene el mismo valor hash que le envió su interlocutor, sabe que la información es confiable y no ha sido modificada....

Veamos un ejemplo:


Como puede ver, las cadenas encriptadas "Raiola Networks" y "Raiola envió y no el panda" son diferentes y únicas: por lo tanto, no podemos obtener el texto original de ninguna manera.

A pesar de esto, Si vuelve a ejecutar la fuente a través de la misma función hash, el resultado será exactamente el mismo que originalmente.De esta forma puede probar que el mensaje original no ha sido modificado.

Cómo instalar y configurar ssh

Cuando hablo de instalar SSH puedo responder dos preguntas:

  • Servidor SSH: Ese es el Un programa que configuras en el servidor y aceptas conexiones SSHCuando esté con nosotros, no se preocupe porque normalmente no se requiere instalación. Red Leola Por defecto, te ofrece instalación y preconfiguración.
  • Cliente SSH: Ese Una aplicación que establecerá una conexión SSH contigo. Desde la perspectiva de una computadora, se comporta como un cliente. Dependiendo del sistema operativo que esté utilizando, es posible que tenga o necesite instalar el cliente SSH estándar.

Cómo configurar un servidor SSH

SSH es un protocolo propietario para sistemas operativos similares a Unix (al menos hasta hace poco), por lo que los servidores SSH se utilizan específicamente en dichas máquinas.

Por esta razón, me gustaría explicar los métodos de instalación en dos ecosistemas Linux diferentes, basado en Debian y basado en Red Hat. Estas dos distribuciones principales de Linux utilizan diferentes sistemas de instalación:

Los comandos que necesitas Instale el servidor SSH en Ubuntu (Y sistemas basados ​​en Debian):

Los comandos que necesitas Instale el servidor SSH en CentOS (Basado en el sistema Red Hat):

Como puede ver, la diferencia no es demasiado grande, simplemente cambie el comando utilizado para instalar ya que los paquetes son los mismos. Ahora, le mostraré cómo completar la instalación, quiero mejorar la seguridad del servidor con el que me estaba conectando anteriormente e implementar el método de encriptación que le acabo de explicar para mantener la conexión segura.

Debido a esto, en mi servidor Linux basado en Red Hat (CentOS), usaré el siguiente comando para instalar el servidor SSH. 'yum install -y openssh-server'

Instale el servidor SSH

Una vez completada la instalación, configuro el servidor para aumentar su seguridad cambiando el puerto, evitando que los usuarios raíz accedan a través de contraseñas y estableciendo el ciclo de vida más largo para las conexiones SSH. Entonces, si hay demasiado tiempo en el medio, el mensaje se bloquea y más.

Configurar ssh

  • Para evitar que el usuario root se conecte con una contraseña, necesito cambiar el valor Permitir inicio de sesión de root de es una contraseña prohibida.

configuración de ssh

  • Tampoco permitiré que nadie se conecte con una contraseña en blanco, lo cual es extraño y puede suceder. Permitir contraseña en blanco número de serie

Configuración del servidor SSH

  • Finalmente, para establecer el tiempo de espera de la conexión en 5 minutos, establezco el valor en Intervalo de tiempo de supervivencia del cliente Hasta 300 segundos.

Configuración del servidor SSH

  • Luego de realizar estos cambios guárdelos y reinicie el servicio sshd con el siguiente comando (para que acepte la nueva configuración) systemctl reiniciar sshd

configuración de ssh

Dado que ha configurado el El usuario root solo puede usar la clave privada para acceder, debe autorizar la clave generada previamente antes de desconectar la clave. /root/.ssh/authorized_keys Ahora verifique la conexión desde el nuevo terminal.

Autorizar claves SSH

Verificar el acceso SSH

Si se pone creativo y desea ver el mensaje predeterminado para que nadie adivine qué servidor SSH y versión está utilizando, puede editar el banner de bienvenida del servidor cambiando el valor bandera Configurando el archivo de texto como si estuviera usando el siguiente comando SSH:

Cómo instalar un cliente SSH

A diferencia del servidor, Todos los sistemas operativos tienen clientes SSHPor eso te explicaré cómo instalar el cliente SSH en Windows, Linux y MAC para cubrir todas las posibilidades.

Cómo instalar SSH en MACOS

MACOS es un sistema operativo similar a Unix, por lo que su conexión SSH será mucho más fácil porque, Las herramientas preinstaladas incluyen un cliente SSH....

Para usarlo, todo lo que tiene que hacer es encontrar la aplicación. Terminal Y ábrelo. Esto es suficiente para configurar su primera conexión SSH.

Cómo instalar SSH en Windows

A diferencia de MACOS, Windows no tiene un cliente SSH instalado de forma predeterminada, por lo que necesita uno. Puede utilizar muchas aplicaciones. Quiero usar masilla:

  • Haga clic en el enlace marcado en la captura de pantalla:

Instalar masilla

  • Haga clic en el enlace que corresponde a su sistema operativo para descargar Putty. Mi 64 bits:

Descarga el instalador de masilla

  • Busque el archivo descargado y haga doble clic en él para ejecutarlo. Aceptar proceso:

Ejecute el instalador de Putty

  • CRÉDITO próximo Iniciar la instalación:

Instalar la ventana de masilla

  • Si la ruta para instalar el programa es correcta, haga clic en próximo:

Ruta de instalación para masilla en Windows

  • Si no desea cambiar ningún parámetro, deje los parámetros predeterminados y haga clic en próximo:

Ruta de instalación de masilla para ventanas

  • Finalizar la instalación:

Instalación completa de masilla

Cómo instalar SSH en Linux

Al igual que con MACOS, las computadoras Linux generalmente tienen un cliente SSH instalado, por lo que solo tiene que visitarlo una vez. Inicio> Herramientas> Terminal Y abra la aplicación para comenzar a usar SSH, que es exactamente igual que macOS.

Acceso vía SSH

Después de instalar el cliente SSH, todo lo que tiene que hacer es conectarse al servidor. Te voy a enseñar cómo hacer esto en diferentes sistemas operativos, como en el paso anterior.

Acceso a través de SSH en MAC

Ahora que ha abierto una terminal del paso anterior para realizar su primera conexión SSH, todo lo que tiene que hacer es escribir:

Utilizaré la información recibida en el correo electrónico de bienvenida para conectarme a un servidor optimizado en Raiola Networks. Estos son los siguientes datos:

El programa te pedirá que ingreses una contraseña y (esto es importante) no aparecerán puntos, asteriscos ni nada por el estilo cuando ingreses la contraseña: Parece que no pasa nada. Esta es una medida de seguridad para que nadie que vea los puntos o asteriscos pueda ver la longitud de su clave. representar Ya estás conectado.

Acceso a través de SSH en Windows

Después de haber instalado Putty, ahora debe establecer la primera conexión SSH desde Windows. Para conectarse, debe usar el nombre del servidor o su dirección IP y hacer clic en Mente abierta:

conexión de ventana ssh

Ahora verá la clave pública del servidor, acéptela para confiar en ella.

Ventana de conexión de clave pública

Se le pedirá un nombre de usuario y, después de configurarlo, una contraseña.

Acceso a la ventana de conexión SSH

Al igual que con la MAC, no se muestran caracteres al ingresar la contraseña. Anótelo y presione representar Y ha realizado su primera conexión SSH.

Acceso a través de SSH en Linux

En Linux, puede realizar la misma conexión SSH que antes en el MAC. Abra una terminal y escriba:

Conexión SSH de Linux

Comandos SSH

Una vez que haya establecido la primera conexión SSH, pregúntese: "¿Qué debo hacer ahora?"

SSH es tan poderoso que hasta la fecha no he encontrado una sola herramienta que pueda usarse con un terminal gráfico, y no está en la línea de comando (CLI, abreviado Interfaz de línea de comandos O el inglés es la interfaz de línea de comandos). Además, en el último caso, tiene más opciones, por lo que se le acaba de abrir un mundo de posibilidades.

Usamos los comandos más utilizados:

  • ls: Abreviatura de "lista" que le ayuda a examinar los archivos y carpetas de una carpeta.
  • CD: Cambia la direccion O cambie el directorio, puede ayudarlo a cambiar de una carpeta a otra.
  • RM: Eliminar O eliminar para eliminar archivos (no intente eliminar carpetas con este comando, al menos no todavía).
  • contenido: Eliminar directorio O elimine el directorio para poder usarlo, la carpeta primero debe estar vacía.
  • Nano: Editor de texto. Por ejemplo, puede usarlo para editar WordPress wp-config.php durante una nueva instalación.

Ahora les mostraré un ejemplo práctico. Descarga WordPress y lo instala especialmente en un servidor VPS optimizado por Raiola Networks a través del terminal:

  • Primero debes conectarte al servidor a través de SSH. En mi caso, abrí una terminal y escribí:
    ssh root@raiolanetworks.servidordepruebas.com
  • Ahora tú quieres Vesta, un panel de control de servidor optimizado:
    v-add-user'Fran''miclavesegura''email@dominio.tld '
  • Ahora agregue el dominio v-add-domain'Fran''dominiowordpress.tld '
  • Vas a la carpeta donde se está ejecutando WordPress para el dominio que acabas de agregar, en mi caso:
    cd /home/Fran/web/dominiowordpress.tld/public_html
  • Enumere los contenidos y elimínelos. Es importante enumerarlos primero porque el comando de desinstalación de SSH eliminará todo lo que encuentre (si no está en la carpeta correcta, puede apagar su servidor):
    ls
    Encontrar. -Claro
  • Enumere las carpetas nuevamente, esta vez incluidos los archivos ocultos, por si acaso escapamos:
    ls -aInstalar WordPress
  • Descarga el archivo comprimido listo para instalar WordPress:
    wget'https: //wordpress.org/latest.tar.gz '
  • Descomprima y elimine el archivo comprimido que acaba de descargar:
    tar -xzf newest.tar.gz
    rm lastest.tar.gzInstalar WP
  • Enumere el contenido que acaba de extraer y muévalo al directorio public_html. El * y el símbolo. Eres muy especial. * Significa todo, adiós. Representa la carpeta actual. De hecho, le dije al terminal SSH que moviera todo de la carpeta de WordPress a la carpeta actual.
    ls
    mv-wordpress / *.
  • Eliminar el directorio de WordPress vacío:
    rmdir WordPress
  • Agregue la base de datos a Vesta para la instalación de WordPress:
    v-add-database''Fran''wp''wp''claveWordpress 'Base de datos de WordPress
  • Cree un archivo de configuración de WordPress usando el terminal SSH y los comandos:
    wp –allow-root config create –dbname = 'Fran_wp' –dbuser = 'Fran_wp' –dbpass = 'claveWordpress' –dbhost = 'localhost'
  • Instala WordPress, es decir, genera tablas en la base de datos y sigue los procesos necesarios para que puedas acceder a ellas:
    wp --allow-root core install --url = 'https: //dominiowordpress.tld' --title = 'Mi Blog' --admin_user = 'Fran' --admin_password = 'claveAccesoWordpress' --admin_email = 'email @ dominio.tld '--skip -email --path = $ (pwd)
  • Establezca su zona horaria preferida:
    wp --allow-root option update timezone_string Europe / Madrid
  • Finalmente, use el comando para establecer los permisos correctos v-fixperms Fran

    Instalar WordPress

Ahora todo lo que tienes que hacer es comprobar que WordPress está instalado correctamente y acceder a él con tu navegador.

Instale WordPress correctamente

Como dije, no hay límite para el número de equipos, por lo que es mejor investigar.

Puede encontrar todos los comandos a los que tiene acceso su usuario ejecutando el siguiente comando:

Errores comunes de SSH y su significado

Pueden ocurrir varios errores al establecer una conexión SSH. Te mostré los más comunes y cómo resolverlos.

La mayoría de las veces, veo los errores de los que les hablé en la sección sobre cómo acceder a través de SSH. Como usuario, está acostumbrado a los puntos, asteriscos, etc. al introducir una contraseña, es decir, debe haber una respuesta. Si no ve la respuesta de la aplicación, puede parecerle extraño e incluso resultar en una contraseña incorrecta. Algunas aplicaciones han notado esto y ahora dan una respuesta al ingresar una contraseña, aunque esta no es una práctica común.

Otro error común es ingresar un comando incorrectamente.Si escribe "la" en lugar de "ls", el terminal devuelve un mensaje de error que indica que el comando que está intentando utilizar no existe. Simplemente escriba el comando correctamente y debería funcionar.

La primera vez que se conecte a un servidor SSH, se le preguntará si desea guardar su huella digital o clave pública.Esta es una medida de seguridad que evita que un servidor intente hacerse pasar por otro. Los problemas surgen al intentar conectarse después de formatear el servidor y cambiar su huella digital.

Si la huella digital del servidor cambia, el intento de conexión se cancelará por razones obvias. Además, se le dará un comando para ejecutar de modo que no pueda forzar la eliminación de huellas digitales a menos que esté 100% seguro de que el servidor está funcionando correctamente. Se verá así:

Cuando se usa una computadora de línea de comandos Es muy importante leer y leer atentamente todos los mensajes que nos envía el terminal.Porque la mayoría de los errores suelen explicar por qué sucedió y cómo solucionarlo. Si no es así, no dudes en escribirme en los comentarios en cualquier momento. pedir.

finalmente

Aunque configurar una conexión SSH y usar una computadora de línea de comandos parecía intimidante al principio (me pasó a mí), Una vez que se familiarice con esta interfaz de usuario, encontrará que es muy poderosa. Ofrece más opciones que una interfaz gráfica de usuario.

Recomiendo leer nuestra publicación en wp-cli. leer Para que comprenda por qué SSH debe ser una de sus herramientas esenciales para la mejora diaria productividad Y conviértete en una persona eficaz.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir