SCP de um servidor externo para outro


12

Estou tentando usar o SCP no meu servidor local para copiar um arquivo de um servidor remoto para outro servidor remoto (os dois servidores remotos usam uma porta personalizada (xxxx)

Eu estou tentando:

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

Mas eu recebo o seguinte erro:

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

Alguma sugestão?


Presumo que você pode ssh para xxx.xxx.xxx.222 normalmente?

Sim, eu posso ssh para todos os servidores de todos os servidores
Lizard

Respostas:


17

você verificou se a autenticação direta funciona do primeiro host remoto para o segundo?

scp user@host:/file user@otherhost:/otherfile é uma abreviação de

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

o que me leva a pensar:

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


1
Sim, eu tenho ssh'd a ambos todos os servidores de cada servidor :(
Lizard

Bom ponto, só porque você pode ver xxx.222 não significa que xxx.111 pode.

É um bom argumento, mas eu já verifiquei isso, outras sugestões?
Lizard

O ssh então o scp faz o que eu preciso.
Lizard

3

Parece scpque não percebe que a porta especial também deve ser usada no segundo servidor. Você pode tentar ligar explicitamente sshpara iniciar a scptransferência remota :

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

3

Defina os servidores no seu .ssh/config file, por exemplo:

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

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

Você pode simplesmente fazer:

scp foobar:file foobar2:

e usará as portas personalizadas definidas.


3

Eu tenho servidores remotos que não podem se ver, mas meu servidor local pode ver os dois. O daemon ssh nos servidores remotos está escutando em diferentes portas ssh não padrão. É assim que eu faço isso:

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

O segundo comando ssh solicita a senha primeiro e, em seguida, remote1 solicita a senha do usuário A. Você pode ter isso automatizado se tiver configurado chaves autorizadas ssh, o que não é o caso no meu ambiente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.