Como mover arquivos entre servidores com autenticação PubKey?

1

Eu tenho dois servidores e para ambos estou usando apenas a autenticação PubKey. Posso de alguma forma scp arquivos entre eles (com a chave privada sendo apenas na minha máquina local?)? Posso de alguma forma usar minha chave privada para autenticar login de outra máquina?

    
por Łukasz Zaroda 18.02.2014 / 11:43

3 respostas

1

Use ssh -A ou configure o equivalente no seu arquivo /etc/ssh/ssh_config (em sua máquina local:

 -A      Enables forwarding of the authentication agent connection.  This
         can also be specified on a per-host basis in a configuration
         file.

         Agent forwarding should be enabled with caution.  Users with the
         ability to bypass file permissions on the remote host (for the
         agent's UNIX-domain socket) can access the local agent through
         the forwarded connection.  An attacker cannot obtain key mate‐
         rial from the agent, however they can perform operations on the
         keys that enable them to authenticate using the identities
         loaded into the agent.

Em seu /etc/ssh/ssh_config você adicionaria / definir:

ForwardAgent yes
    
por 18.02.2014 / 12:06
0

Sim, você está procurando o que é chamado de Encaminhamento de Agente SSH. O GitHub tem uma boa página de visão geral sobre esse recurso, intitulada: Usando o encaminhamento de agentes ssh .

trecho

SSH agent forwarding is a technique you can use to make deploying to a remote server simpler for you and your developers. It allows you to use you local SSH keys instead of leaving passphrase-less keys sitting on your server.

If you've already set up an SSH key, you're probably familiar with ssh-agent. This is an app that runs in the background and keeps your key loaded into memory so you do not have to enter your passphrase every time you need to use the key. The nifty thing is, you can selectively let remote servers access your local ssh-agent as if it was running on the server. This is sort of like asking a friend to enter their password so you can use their computer.

No sistema em que você está usando o SSH, você pode configurar um arquivo $HOME/.ssh/config onde você pode permitir que o encaminhamento ocorra.

Host example.com
  ForwardAgent yes

Os servidores do outro lado também precisam permitir isso, então você precisa ter certeza de que AllowAgentForwarding está definido no arquivo sshd_config .

Consulte o tutorial do GitHub para saber mais sobre como configurar isso e depurá-lo.

    
por 18.02.2014 / 12:06
0

ssh tem a opção -A para encaminhar a autenticação (sua chave privada para o servidor A [mantida na memória] para que você possa autenticar mais no servidor B).

Da página de manual do ssh.

-A Enables forwarding of the authentication agent connection. This can also be specified on a per-host basis in a configuration file.

         Agent forwarding should be enabled with caution.  Users with the
         ability to bypass file permissions on the remote host (for the
         agent's Unix-domain socket) can access the local agent through
         the forwarded connection.  An attacker cannot obtain key material
         from the agent, however they can perform operations on the keys
         that enable them to authenticate using the identities loaded into
         the agent.

Verifique se isso é permitido pela configuração /etc/ssh/ssh_config ForwardAgent Yes

    
por 18.02.2014 / 12:09