¿Cómo consigo que un host de salto SSH utilice una dirección de enlace de salida específica?

¿Cómo consigo que un host de salto SSH utilice una dirección de enlace de salida específica?

Estoy intentando utilizar SSH desde el dispositivo de mi hogar para finalizar el host mediante Jump Host usando la opción ProxyJump de OpenSSH.

Jump host tiene dos direcciones IP vinculadas a su única interfaz: x.x.x.xy y.y.y.y. Hay un firewall con una lista blanca de IP a las que se les permite acceso ssh al host final. y.y.y.yEstá en la lista pero x.x.x.xno lo está.

El problema es que el valor predeterminado en el host de salto es usarlo x.x.x.xpara SSH saliente.

Si hago ssh manualmente desde el host de salto al host final, puedo anular el valor predeterminado con -bla opción de OpenSSH, como ssh -b y.y.y.y endhost. Esto funciona bien.

Sin embargo, cuando intento acceder directamente desde mi dispositivo personal al host final usando jumphost como intermediario, parece que no puedo hacerlo funcionar. Probé algunas variaciones para especificar la dirección de enlace, ~/.ssh/configpero no tuve suerte.

¿Hay alguna manera de indicarle al host de salto que use una dirección de enlace específica?

Respuesta1

El problema en mi configuración fue que la puerta de enlace predeterminada delanfitrión de saltoestaba configurado para usar una IP diferente ( x.x.x.xen su ejemplo) que la que quería sshdusar para su tráfico saliente ( y.y.y.yen su ejemplo).

Entonces, un método que funcionó para mí fue establecer una ruta específica en elanfitrión de saltoPara elservidor final'sorbo.

Sobre elanfitrión de salto(el mío ejecuta Ubuntu 20.04):

route add -host <endhost's IP>/32 gw y.y.y.1 dev <y.y.y.y's Iface>

¿Dónde <endhost's IP>es IPv4 n.n.n.ny <y.y.y.y's Iface>es la interfaz que y.y.y.yestá asociada a, como eth0?

Referencias:


Tenga en cuenta que estaba trabajando específicamente para lograr sshdla ruta a través de la IP flotante de DigitalOcean. En ese caso, y.y.y.yes necesario descubrirlo utilizando:

curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address

Entonces, si ese comando regresa 10.10.0.7, entonces y.y.y.yes 10.10.0.7.

Referencias:

información relacionada