Usando o scp com um agente ssh encaminhado

4

Atualmente, estou tentando scp um arquivo de um servidor para outro, usando uma chave ssh no meu computador local.

este é o comando que estou usando atualmente:

sudo scp -r -o "ForwardAgent yes" <new_folder> <second-server-path>

e eu segui este documento do github para verificar se meu agente ssh está sendo encaminhado para o terminal do segundo servidor.

-o "ForwardAgent yes" é proveniente de esta referência , mas não aparece na minha man scp reference.

No entanto, depois de tudo isso, o comando ainda pede uma senha (que estamos tentando evitar). Alguma idéia de como usar o encaminhamento ssh?

    
por efong5 30.11.2016 / 15:09

1 resposta

4
  • scp não oferece suporte para encaminhar seu agente (codificado para ser desativado no código), portanto, isso não é possível com o que você está tentando.

  • O problema está em sudo . A conexão com ssh-agent é armazenada na variável de ambiente SSH_AUTH_SOCK ( echo $SSH_AUTH_SOCK ) e essa variável não é preservada durante o sudo , portanto, há duas possibilidades:

    • Não use sudo to scp . Execute apenas scp em algum local sadio e, em seguida, sudo cp do arquivo no local desejado.

    • Força sudo para preservar env. variáveis usando a opção -E :

      sudo scp -r <new_folder> <second-server-path>
      
  • Quando você quiser copiar o arquivo entre dois servidores, use -3 switch, que fará as duas autenticações do seu host, onde você tem acesso ao seu agente.

por 30.11.2016 / 15:57