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?

Lagarto
fonte
Presumo que você pode ssh para xxx.xxx.xxx.222 normalmente?
Sim, eu posso ssh para todos os servidores de todos os servidores
Lizard
Cruz postada aqui: serverfault.com/questions/81650/…
Pausada até novo aviso.

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.

jhwist
fonte
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
sth
fonte
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.

sameproblemIhad
fonte
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.

Joss
fonte