Cómo acceder a un servidor remoto utilizando un host SSH Jump

Cómo acceder a un servidor remoto utilizando un host SSH Jump

A anfitrión de salto (también conocido como un servidor de salto) es un host intermediario o una puerta de enlace SSH a una red remota, a través de la cual se puede hacer una conexión a otro host en una zona de seguridad diferente, por ejemplo, una zona desmilitarizada (DMZ). Punta dos zonas de seguridad diferentes y ofrece acceso controlado entre ellas.

A anfitrión de salto debe estar altamente asegurado y monitoreado, especialmente cuando abarca una red privada y una DMZ con servidores que brindan servicios a los usuarios en Internet.

Un escenario clásico se conecta desde su escritorio o computadora portátil desde el interior de la red interna de su empresa, que está altamente asegurada con firewalls a un DMZ. Para administrar fácilmente un servidor en un DMZ, puede acceder a él a través de un anfitrión de salto.

En pocas palabras, un Salto ssh El servidor es un servidor de Linux que se utiliza como puerta de enlace a otros servidores de Linux en una red privada a través del protocolo SSH.

En este artículo, demostraremos cómo acceder a un servidor de Linux remoto a través de un anfitrión de salto, y también configuraremos la configuración necesaria en sus configuraciones de cliente SSH por usuario.

Tabla de contenido

1
    • Configuración del servidor SSH Jump
  • Razones para configurar un servidor de salto SSH
  • Cómo crear un servidor de salto SSH simple
  • Lista de jumphost dinámico
  • Lista de múltiples jumphosts
  • Lista de jumphost estático
  • Hacer que el servidor de salto SSH sea más seguro

Configuración del servidor SSH Jump

Considere el siguiente escenario.

SSH Jump Host

Para más claridad, a continuación se muestra una configuración simple que demuestra el papel de un servidor de salto SSH.

Configuración del servidor SSH Jump

Razones para configurar un servidor de salto SSH

A Saltar El servidor proporciona una puerta de enlace a su infraestructura y reduce la superficie de ataque potencial a sus recursos. También proporciona una gestión transparente de dispositivos, así como un solo punto de entrada a sus recursos.

Tenga en cuenta que a medida que incorpore un servidor de salto en su infraestructura, asegúrese de que el servidor esté endurecido, de lo contrario sería tan bueno como no usar uno. Volveremos a esto más adelante en este tutorial.

Cómo crear un servidor de salto SSH simple

Permítanos centrarnos ahora en cómo puede crear un simple Salto ssh servidor. Aquí está nuestra configuración simple.

  • IP de origen: 105.68.76.85.
  • IP del servidor de salto (llamaremos a este host-sal): 173.82.232.55.
  • IP de destino (llamaremos a esto host_destination): 173.82.227.89.

En el escenario anterior, desea conectarse a Anfitrión 2 (173.82.227.89), Pero tienes que pasar Anfitrión 1 (173.82.232.55), Debido a los privilegios de firewalling, enrutamiento y acceso. Hay una serie de razones válidas por las cuales se necesitan anfitriones de salto.

Lista de jumphost dinámico

La forma más sencilla de conectarse a un servidor de destino a través de un anfitrión de salto está usando el -A y -J banderas desde la línea de comando. Esto le dice a SSH que haga una conexión con el host de salto y luego establezca un reenvío de TCP al servidor de destino, desde allí (asegúrese de inicio de sesión sin contraseña SSH entre máquinas).

$ ssh -a -j [correo electrónico protegido] [correo electrónico protegido] servidor 

Por ejemplo, en nuestra configuración, tenemos al usuario llamado Jaime configurado en el Servidor de salto y tecmenta configurado en el sistema de destino o de destino.

El comando se verá de la siguiente manera de la IP de origen.

$ ssh -a -j [correo electrónico protegido] [correo electrónico protegido] 

El comando le solicitará la contraseña de usuario del servidor de salto, seguido de la contraseña del sistema de destino sobre la cual se le otorgará acceso al sistema de destino.

Conecte el servidor usando el host SSH Jump

Si nombre de usuario o puerto En las máquinas difieren, especifíquelas en el terminal como se muestra.

$ ssh -j [correo electrónico protegido]: puerto [correo electrónico protegido]: puerto 

Lista de múltiples jumphosts

La misma sintaxis se puede usar para hacer saltos sobre múltiples servidores.

$ ssh -j [correo electrónico protegido]: puerto, [correo electrónico protegido]: puerto [correo electrónico protegido]: puerto 

Lista de jumphost estático

Lista de jumphost estática significa que conoces el justipio o jumphosts que necesitas conectar una máquina. Por lo tanto, debe agregar el siguiente 'enrutamiento' de jumphost estático en ~/.ssh/config archivo y especifique los alias de host como se muestra.

### Primer jumphost. Anfitrión directamente accesible VPS1 Nombre de host vps1.ejemplo.org ### Anfitrión de saltar a VIA JUMPHOST1.ejemplo.organizar anfitrión contabo Nombre de host Contabo.ejemplo.org ProxyJump vps1 

Ahora intente conectarse a un servidor de destino a través de un anfitrión de salto como se muestra.

$ SSH -J VPS1 Contabo 
Iniciar sesión en el host del host a través de Jumphost

El segundo método es usar el Proxycommand opción para agregar el justipio configuración en su ~.ssh/config o $ Inicio/.ssh/config archivo como se muestra.

En este ejemplo, el host de destino es contabo, y el justipio es VPS1.

Host VPS1 Nombre de host VPS1.ejemplo.Org IdentityFile ~/.SSH/VPS1.Pem User EC2-User Host Contabo HostName Contabo Contabo.ejemplo.Org IdentityFile ~/.Puerto SSH/Contabovps 22 Administrador de usuarios Comando proxy ssh -q -w %h: %p vps1 

Guarde los cambios y salga del archivo. Para aplicar los cambios, reinicie el demonio ssh.

$ sudo systemctl reiniciar ssh 

Exploremos las opciones utilizadas en el archivo de configuración:

  • -Q - Esto significa modo tranquilo. Suprime las advertencias y los mensajes de diagnóstico.
  • -W - Solicitudes de que la entrada y salida estándar en el cliente se reenvíe al host en el puerto a través del canal seguro.
  • %H - Especifica el host para conectarse a.
  • %pag - Especificó el puerto para conectarse en el host remoto.

A 'saltar'Al sistema de destino desde su IP de origen a través del servidor de salto, simplemente ejecute el siguiente comando:

$ SSH Contabo 

El comando anterior primero abrirá una conexión SSH a VPS1 en el fondo afectado por el Proxycommand, y a partir de entonces, inicie la sesión SSH al servidor de destino contabo.

[También puede que le guste: Cómo conectar Linux remoto a través de SSH ProxyJump y ProxyCommand]

Hacer que el servidor de salto SSH sea más seguro

Una de las formas de hacer que esta configuración sea más segura es copiando la tecla SSH pública del sistema de origen al Servidor de salto, y luego finalmente al sistema de destino, y luego deshabilitar la autenticación de contraseña. Consulte nuestra guía sobre cómo habilitar la autenticación sin contraseña SSH.

Además, consulte los consejos de endurecimiento del servidor SSH.

Además, asegúrese de que no se encuentren datos confidenciales dentro del Saltar servidor, ya que esto podría conducir a una filtración de credenciales de acceso, como nombres de usuario y contraseñas que conducen a una violación de todo el sistema.

Para obtener más información, consulte la página del hombre SSH o consulte: OpenSsh/Cookbxook/proxies y hosts de salto.

Eso es todo por ahora! En este artículo, hemos demostrado cómo acceder a un servidor remoto a través de un host de salto. Use el formulario de comentarios a continuación para hacer cualquier pregunta o compartir sus pensamientos con nosotros.