Cómo conectar Linux remoto a través de SSH ProxyJump y ProxyCommand

Cómo conectar Linux remoto a través de SSH ProxyJump y ProxyCommand

Breve: En esta guía, demostramos cómo usar los comandos SSH ProxyJump y SSH ProxyCommand cuando se conectamos a un servidor de salto.

En nuestra guía anterior sobre cómo configurar un servidor de salto SSH, cubrimos el concepto de un Anfitrión de Bastion. A Anfitrión de Bastion o Servidor de salto es un dispositivo intermediario al que un cliente SSH se conecta primero antes de acceder al sistema de Linux remoto de destino. Un Salto ssh El servidor actúa como una puerta de entrada a sus recursos de TI, reduciendo así la superficie de ataque.

El Ssh proxyjump y Proxycommand Los comandos determinan cómo un cliente se conecta al servidor remoto a través del servidor de salto, anfitrión de salto, o servidor de bastión.

Esta guía brilla en el centro de atención del Ssh proxyjump y Comando de proxy SSH En Linux.

Tabla de contenido

1
  • Conecte Remote Linux usando el comando SSH ProxyJump
    • Configuración de hosts proxy en ~/.archivo ssh/config
  • Conecte Remote Linux usando el comando SSH proxyCommand
    • Configuración de proxyCommand en el ~/.archivo ssh/config
      • Conclusión

Conecte Remote Linux usando el comando SSH ProxyJump

El Proxyjump el comando se denota con el -J bandera. Se introdujo en el servidor OpenSSH versión 7.3 y te ayuda a hacer una conexión a un objetivo remoto saltando a través de un bastión o un servidor de salto.

La sintaxis a continuación muestra cómo se usa esta opción:

$ ssh -j   

En el caso de múltiples servidores de bastión o salto, la sintaxis toma el siguiente formato.

$ ssh -j    

En ambos casos, se registrará como usuario raíz en cada paso del camino. Esto no es ideal debido a razones de seguridad, por lo que es posible que desee crear diferentes usuarios en cada caso.

Puede especificar explícitamente diferentes usuarios y puertos SSH como se muestra.

$ ssh -j <[email protected]:port> <[email protected]:port> 

Para demostrar el Proxyjump bandera en acción, tenemos una configuración simple como se muestra.

IP del servidor de salto: 173.82.232.55 Usuario: James Remote Target IP: 173.82.227.89 Usuario: TecMint 

Para conectarse al objetivo remoto utilizando el Saltar servidor, el comando se verá de la siguiente manera.

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

El comando le solicitará la contraseña de usuario del servidor de salto, luego lo sigue a partir de entonces por la contraseña del sistema de destino sobre la cual se le otorgará acceso al sistema de destino.

Conecte Linux usando salto servidor

Configuración de hosts proxy en ~/.archivo ssh/config

Si usa regularmente un bastión específico para conectarse a un objetivo remoto específico, puede agregar lo siguiente Proxyjump configuración en el ~/.ssh/config archivo para hacer que la conexión sea sin problemas. Cuando esto suceda, solo se autenticará una vez y esto sucede solo en el objetivo remoto.

Host Host-Jump User James HostName 173.82.232.55 Host Host_Destination User TecMint HostName 173.82.227.89 Puerto 22 

Usando la configuración anterior, puede hacer la conexión al destino como se muestra.

$ ssh -j host_destination 
SSH a Remote Linux a través de ProxyJump

Conecte Remote Linux usando el comando SSH proxyCommand

Antes Salto proxy ssh, Proxycommand era la única forma de saltar hosts para llegar al objetivo remoto. Funciona reenviando el stdin (estándar) y stdout (estándar fuera) desde el objetivo remoto a través del servidor de salto o bastión.

El Proxycommand toma la siguiente sintaxis.

$ ssh -o proxyCommand = "ssh -w %h: %p"  

Aquí el -W hacia %H:%P argumentos reenviar el stdin y salir al host remoto (%h) y el puerto del host remoto (%pag).

Para poner el comando en acción, así es como se vería nuestro comando

$ ssh -o proxyCommand = "ssh -w %h: %p 173.82.232.55 "173.82.227.89 
Conecte Linux usando proxyCommand

Configuración de proxyCommand en el ~/.archivo ssh/config

Por supuesto, escribir todo el comando es tedioso y lento. Para evitar escribir un comando tan largo, agregue las siguientes líneas de código a su ~/.ssh/config archivo.

Nombre de host de anfitrión anfitrión 173.82.227.89 proxyCommand ssh -q -w %h: %p host -jump 

Guardar y Salir.

Ahora todo lo que tiene que hacer es ejecutar el siguiente comando para conectarse al servidor remoto.

$ SSH anfitrión-Destinación 

[También puede que le guste: cómo asegurar y endurecer el servidor OpenSsh]

Conclusión

En esta guía, demostramos cómo Proxyjump y Proxycommand comandos funcionan. Generalmente, Proxyjump aparece como una mejor alternativa a Proxycommand y proporciona una forma más fácil y perfecta de conectarse a un objetivo remoto a través de un host de salto.