Existe uma maneira de manter a autenticação ssh aberta para vários comandos scp?

2

Eu preciso copiar vários arquivos pequenos de uma máquina remota para uma local. Eu preciso fazer isso várias vezes ao dia. Atualmente, eu uso um script que usa scp para copiar os arquivos. No entanto, isso é lento como sempre, preciso autenticar. Existe uma maneira, além de montagem, de fazer uma autenticação e mantê-la viva até eu terminar a cópia?

    
por Yotam 11.02.2013 / 09:19

2 respostas

1

Use apenas o recurso ControlMaster do SSH. Para este propósito, coloquei uma opção global:

Host *
    ControlPath ~<user>/.ssh/ctrl-%r-%h-%p

No meu .ssh / config. É claro que você deve substituir <user> de acordo com seu nome de login.

Sempre que eu quiser configurar uma conexão mestre inicial, eu adiciono '-M':

ssh -M <machine>

Isso cria um soquete de controle com um nome de arquivo especificado acima. Qualquer chamada subseqüente à segmentação ssh / scp que <machine> reutilizará a conexão principal existente. Acelerando drasticamente o processo de conexão porque nenhuma autenticação adicional é necessária para o tempo em que a conexão de controle (== mestre) existe. Como um efeito colateral agradável, você não precisa inserir novamente sua frase-senha depois de fornecê-la para estabelecer a conexão mestre.

    
por 11.02.2013 / 10:30
0

Você pode usar ssh-add para adicionar chaves privadas ao seu agente de autenticação ssh. Veja

man ssh-add

e

man ssh-agent
    
por 11.02.2013 / 10:11