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?


Supongo que puede enviar ssh a xxx.xxx.xxx.222 normalmente.

Sí, puedo enviar mensajes a todos los servidores desde todos los servidores
Lizard

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.


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

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.


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.