Estoy usando Ccygwin en WinXP (con el shell bash). Quiero SCP un archivo de mi host local a una máquina remota: host2. Sin embargo, solo puedo SSH a una máquina intermedia: host1, y luego desde SSH a host2. (Nota, no puedo acceder a host2 desde mi host local).
Pensé que hacer túneles era mi respuesta, pero cuando trato de instalar un túnel
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Pero después de escribir este comando y presionar enter, el sistema simplemente se cuelga. ¿Cuál es la forma correcta de configurar un túnel y luego SCP un archivo después?
Gracias, -
ssh
scp
ssh-tunnel
Dave
fuente
fuente
Respuestas:
Esto ya ha sido respondido mejor aquí .
Para resumir: ponga lo siguiente en
~/.ssh/config
y luego simplemente
scp
a target.machine en cualquier momento que desee proxy a través de proxy.machine!También funciona para
ssh
, por lo que también le ahorrará tiempo en la máquina de destino.El crédito debe ir al usuario 24925 que respondió esto en 2011.
fuente
Para configurar un túnel SSH, use el siguiente formato:
Este comando se conecta a
host1
asuser
y hace un túnel al puerto 9999 en la computadora que emite el comando al puerto 22host2
.-N
es opcional, o puede usar algo comotop
owatch
para mantener viva la sesión si es necesario.Luego, simplemente
scp
a host2 en localhost: 9999.fuente
scp
embargo, la sintaxis de su comando es incorrecta. Pruebe aquíscp -P 9999 hello.txt user@localhost:/path/to/destination/file
dóndeuser
está el usuario en elhost2
que desea iniciar sesión.Desde OpenSSH 7.3 , puede usar
-J
o-o ProxyJump
especificar el servidor bastion / jump. Por lo tanto, a SSH anode2
través denode1
:SCP no tiene el
-J
argumento, pero sí lo permite-o
, así que esto funciona:fuente
Primero puede scp el archivo a host1, así:
Luego haga esto para llevarlo a host2:
La
-t
opción lossh
obliga a asignar un pseudo-terminal, lo que puede facilitar quescp
el host1 le solicite una frase de contraseña / contraseña. Si tiene ssh-agent ejecutándose y configurado en todas partes, no se le debe solicitar una frase de contraseña / contraseña.Ofrezco esta alternativa, porque si usaras un túnel, aún necesitarías dos comandos: uno para configurar el túnel y otro para copiar el archivo a través de él. Esto parece más simple.
fuente