copia entre o servidor remoto com autenticação local

1

Quando eu preciso copiar alguns arquivos entre dois servidores remotos, geralmente

scp -3 user@server1:path user@server2:path

infelizmente, já que as rotas trafegam pela minha máquina, isso é muito lento quando os arquivos são "grandes" e os servidores "se aproximam" uns dos outros ...

Você conhece alguma maneira de ter o comportamento de "transferência direta" do scp regular (isto é: no -3 ), enquanto delegava a autenticação para minha máquina (por exemplo: como -3 )?

.. talvez com alguma alternativa scp ?

    
por giorgiga 31.07.2014 / 17:51

2 respostas

3

A sugestão mais próxima que posso usar é usar ssh-agent

  1. Iniciar um agente, se você ainda não tiver um: ssh-agent bash
  2. Carregar uma chave: ssh-add
  3. ssh para um host e inicie uma cópia de / para o outro: scp user@server1:path user@server2:path

Em vez de usar scp sem o sinal -3 , você pode explicitamente ssh para um host e iniciar scp , e então você decide se vai ssh to server1 ou server2 . Com o comando que dei acima, scp escolherá um para você.

Do ponto de vista da segurança, existe o perigo de usar ssh-agent , já que o servidor terá acesso total ao uso de chaves em seu agente, mesmo para outros propósitos além desta transferência de arquivos.

Se você não quiser confiar em nenhum servidor com acesso ao outro, mas quiser garantir que apenas o host do cliente tenha acesso às chaves e os servidores se comuniquem de forma segura entre si, mas só transferirá o arquivo que você possui especificado e não fazer mais nada, então você vai precisar de alguma ferramenta diferente. Eu não acho que isso pode ser alcançado com scp .

    
por 31.07.2014 / 18:01
0

Por que você não pode usar a autenticação de chave pública, o ForwardAgent sim em .ssh / config e apenas o usuário scp @ server1: path user @ server2: path? Eu tento e isso funciona para mim.

    
por 31.07.2014 / 18:05