Scp de um servidor para outro servidor?

28

Estou tentando copiar arquivos de um servidor diretamente para outro, ignorando meu computador local.

eu fiz

scp -r [email protected]:~/data/* [email protected]:~/data/
Password: 
Host key verification failed.
lost connection

Isso é possível? Como posso consertar isso?

    
por Sibbs Gambling 12.02.2015 / 06:58

5 respostas

46

Algo que eu uso com bastante frequência quando não há conexão possível entre os dois servidores

scp -3 user@server1:/path/to/file user@server2:/path/to/file

fonte

-3 Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.

Supondo que você tenha uma boa conexão com ambos, não é muito lento.

    
por 12.02.2015 / 12:24
16

Sim, isso é possível, mas somente se server1.com puder alcançar server2.com usando esse nome. Se não, você provavelmente receberá uma mensagem: ssh: connect to host server2 port 22: Connection refused

A página man para scp afirma claramente que copia entre hosts em uma rede e que:

Copies between two remote hosts are also permitted.

O que você deve fazer (uma vez) é ssh a [email protected] e, de lá, ssh a [email protected] . Responda à pergunta de autenticidade que você receberá com yes, para se livrar da mensagem de verificação da chave de host enquanto executa o scp

Você pode ter que ativar o agente de frete com:

scp -o "ForwardAgent yes" -r [email protected]:~/data/* [email protected]:~/data/

Mas certifique-se de perceber o perigo nisso ( man ssh_config )

    
por 12.02.2015 / 08:13
1
Em primeiro lugar você precisa verificar se você é capaz de ssh para server2 sem qualquer erro, se você receber o mesmo erro, por favor, abra o arquivo ~/.ssh/known_hosts e procure a chave server2 e excluí-lo.

Em seguida, verifique se você consegue fazer ping no servidor pelo nome do host

Se não, por favor, edite o arquivo host do servidor conforme mencionado abaixo

 #vi /etc/hosts  
 server1 192.186.x.x  
 server2 192.186.x.xx   
 :wq   ---> to save  

Depois que você terminar com este cd para o local do arquivo que você deseja copiar para o servidor2

o scp file_name user@server2:/path_to_the_directory --- > você pode usar o IP em vez do nome do host, você pode mencionar -R para copiar um diretório.

    
por 12.02.2015 / 09:28
0

Verifique se ~/.ssh/known_hosts tem registros adequados para ambos os servidores

Verifique também se server1 tem o registro ~/.ssh/known_hosts adequado para o server2

    
por 12.02.2015 / 07:06
-2

Você pode usar este comando abaixo para copiar o arquivo de um servidor para outro:

scp source_user@source_remote_host:/usr/bin/mysql_backup.sh \
         target_user@target_remote_host:/var/tmp/
    
por 06.01.2016 / 22:53

Tags