arquivos SCP entre 2 vms

2

Eu tenho duas máquinas virtuais. A primeira máquina virtual é onde os arquivos de origem são armazenado. A segunda máquina virtual é onde meu script é e deve copiar arquivos da fonte para a minha segunda máquina virtual.

Como posso fazer isso no Bash?

É possível transferir arquivos SCP de uma máquina virtual para uma segunda máquina virtual em Bash, quando meu script está sendo executado na 3ª máquina? Se sim, por favor mostre me como fazer isso.

    
por user1164061 03.01.2013 / 22:26

3 respostas

3

É possível (desde que ambos os hosts estejam ouvindo no SSH e o primeiro host remoto possa ver o segundo)! Por que você não tenta?

scp remote1:/path/to/file remote2:/path/to

Você pode precisar fornecer nomes de usuário e senhas para ambos os hosts (se o seu nome de usuário variar de máquina para máquina).

Se você usar a autenticação baseada em agente com o encaminhamento de agente ativado, não precisará fornecer senhas (esse é o meu método preferido de trabalho).

Note que isto não tem nada a ver com o Bash (ou mesmo com máquinas virtuais) e deve funcionar em qualquer shell.

    
por 03.01.2013 / 22:56
1

A maneira usual de fazer isso é usar o ssh em uma das máquinas remotas e emitir o scp a partir dali.

#3rd-vm> ssh 2nd-vm
#2nd-vm> scp file 1st-vm:~/
    
por 03.01.2013 / 22:36
0

Se você precisar fazer a ponte através da 3ª máquina, você pode fazer isso com o ssh assim:

ssh remote1 cat file | ssh remote2 'cat > file'

Ou com o tar:

ssh remote1 tar cf - path/to/copy | ssh remote2 tar xf - -C path/to/dest
    
por 03.01.2013 / 23:43

Tags