SCP de un servidor externo a otro

12

Estoy tratando de usar SCP en mi servidor local para copiar un archivo de un servidor remoto a otro servidor remoto (ambos servidores remotos usan un puerto personalizado (xxxx)

Estoy intentando:

scp -r -P xxxx root@xxx.xxx.xxx.111:/home/myimages/images.tar.gz root@xxx.xxx.xxx.222:/home/myimages/images.tar.gz

Pero me sale el siguiente error:

ssh: connect to host xxx.xxx.xxx.222 port 22: Connection timed out

¿Alguna sugerencia?

Lagartija
fuente
Supongo que puede enviar ssh a xxx.xxx.xxx.222 normalmente.
Sí, puedo enviar mensajes a todos los servidores desde todos los servidores
Lizard
Cross publicado aquí: serverfault.com/questions/81650/…
hasta nuevo aviso.

Respuestas:

17

¿comprobaste que la autenticación directa funciona desde el primer host remoto al segundo?

scp user@host:/file user@otherhost:/otherfile es la abreviatura de

ssh user@host scp /file user@otherhost:/otherfile

lo que me lleva a pensar:

ssh -p XXX user@host scp -P XXX /file user@otherhost:/otherfile Podría funcionar.

jhwist
fuente
1
Sí, he enviado a ambos servidores de cada servidor :(
Lizard
Buen punto, solo porque puedes ver xxx.222 no significa que xxx.111 sí.
Es un buen punto, pero ya lo he comprobado, ¿alguna otra sugerencia?
Lagarto
El ssh luego el scp hace lo que necesito.
Lagarto
3

Parece que scpno se da cuenta de que el puerto especial también debe usarse en el segundo servidor. Puede intentar llamar explícitamente sshpara iniciar la scptransferencia remota :

ssh -P xxxx user@host scp -P xxxx /file user@otherhost:/otherfile
algo
fuente
3

Defina los servidores en su .ssh/config file, por ejemplo:

Host foobar
User youruser
Port 2222
Hostname the.real.hostname

Host foobar2
User youruser
Port 2222
Hostname the2.real.hostname

Entonces puedes simplemente hacer:

scp foobar:file foobar2:

y usará los puertos personalizados definidos.

mismo problema
fuente
3

Tengo servidores remotos que no pueden verse, pero mi servidor local puede ver ambos. El demonio ssh en los servidores remotos está escuchando en diferentes puertos ssh no estándar. Así es como hago esto:

ssh -p 111 userA@remote1 'cat myfile' | ssh -p 222 userB@remote2 'cat - > myfile'

El segundo comando ssh solicita primero la contraseña, luego remote1 solicita la contraseña para el usuario A. Puede tener esto automatizado si ha configurado claves autorizadas ssh, lo cual no es el caso en mi entorno.

Joss
fuente