GNU/Linux >> Tutoriales Linux >  >> Linux

Ssh:¿problema común de manejo de archivos de múltiples conexiones Ssh?

a menudo tengo que descargar un archivo al que no se puede acceder directamente a través de la primera conexión SSH. Por ejemplo, estoy en una máquina con Windows y quiero acceder a otra máquina a la que solo se puede acceder desde la LAN. Eso significa que primero debo conectarme a una máquina intermedia y SSH a la siguiente.

Sería fácil usar pscp para obtener el archivo, si estuviera disponible para la primera máquina. ¿Se podría usar el reenvío de puertos SSH en este escenario?

Respuesta aceptada:

Sí, el reenvío de puertos SSH se puede usar en este caso, pero también puede recibir advertencias sobre claves de host incorrectas o no válidas al intentarlo. Algunos clientes SSH, como OpenSSH, rastrean las claves de host SSH solo por dominio o IP y no incluyen el número de puerto. PuTTY parece registrar el número de puerto con la clave de host y no debería sufrir este problema siempre que sea coherente con los números de puerto que usa para cada host. Recomendaría agregar los reenvíos de puertos a una sesión guardada en PuTTY. Luego, también puede guardar las sesiones adicionales para los diversos hosts remotos como sesiones guardadas y usarlas con pscp/psftp. Puede comenzar con cualquier puerto de número alto para el reenvío, como 2220, y subir uno desde allí para cada host que necesite reenviar a través de un host intermedio. Agregar a la sesión guardada para intermediate puerto local reenvía como puerto 2220 y destino remote1:22 y puerto 2221 con destino remote2:22 para hosts remotos remote1 y remote2 Luego crea sesiones para remote1 con destino localhost y puerto SSH 2220 y una sesión para remote2 con destino localhost y puerto SSH 2221 . Para usar sesiones con pcsp/psftp use @session-name para el anfitrión.

El problema ocurre cuando de alguna manera ha asociado una clave de host SSH con localhost e intenta conectarse a un puerto local que se está reenviando a una computadora diferente. Con OpenSSH, solucioné este problema usando HostKeyAlias . Agregué entradas a mi ~/.ssh/config así:

Host intermediate
HostName intermediate.example.org
LocalForward 2220 remote1.example.org:22
LocalForward 2222 remote2.example.org:22

Host remote1
HostName localhost
Port 2220
HostKeyAlias remote1.example.org

Host remote2
HostName localhost
Port 2221
HostKeyAlias remote2.example.org

Sin embargo, mi solución preferida fue cuando implementé IPv6 en mi red doméstica y laboral y ya no tuve que preocuparme por conectarme primero a un servidor intermedio para llegar a mi destino final.

Relacionado:Linux:¿algún riesgo grave si Mint 17 cree que es Ubuntu?
Linux
  1. Cómo configurar conexiones SSH personalizadas para simplificar el acceso remoto

  2. Cómo cambiar el puerto SSH en Linux

  3. Ssh – ¿Múltiples entradas similares en Ssh Config?

  4. SSH:conéctese al host localhost puerto 22:conexión rechazada

  5. Archivo de registro de cola en varias máquinas a través de ssh

Cómo cambiar el puerto SSH en VPS

Uso del archivo de configuración SSH

Cómo crear hosts virtuales en el servidor Apache para alojar varios sitios web

Use el archivo de configuración SSH para administrar las conexiones SSH a varios servidores remotos

compruebe si el archivo existe en el host remoto con ssh

conectarse al host localhost puerto 22:conexión rechazada