Reautenticação do comportamento do SCP com chaves

1

Eu tenho os seguintes arquivos em um servidor:

A_Hello.txt
B_Hello.txt
C_Hello.txt
A_World.txt
B_World.txt
C_World.txt
A_SU.txt
B_SU.txt
C_SU.txt
A_IDONTWANTTHISFILE.txt

Se eu tentar baixar os arquivos desejados (todos, exceto o último):

scp me@server:/path/to/*_{Hello,World,SU}.txt

Eu recebo minha senha para cada transição da palavra nas chaves, então:

  1. eu executo o comando e insiro a senha do meu servidor
  2. Os primeiros 3 arquivos são baixados
  3. Solicito minha senha
  4. Os próximos 3 arquivos são baixados
  5. Solicito minha senha .... etc

Qual é a causa e como posso me livrar dela?

    
por Mehdi Nellen 10.03.2016 / 21:19

1 resposta

1

What is the cause

A expansão do bash é a resposta. Seu comando

scp me@server:/path/to/*_{Hello,World,SU}.txt

expande para

scp me@server:/path/to/*_Hello.txt me@server:/path/to/*_World.txt me@server:/path/to/*_SU.txt

no seu bash , o que significa que você emite três conexões separadas para o mesmo servidor.

how can I get rid of it?

Isso depende. Existem mais possibilidades.

  • Configure o ControlMaster para que você emita todos os comandos na mesma conexão:

    crie ~/.ssh/config

    Host server
    ControlPath ~/.ssh/%r@%h:%p
    ControlMaster auto
    ControlPersist 5m
    

    e, em seguida, execute seu comando favorito:

    scp me@server:/path/to/*_{Hello,World,SU}.txt
    
  • Use sftp com o arquivo em lote, que oferece mais flexibilidade em casos mais complexos:

    sftp -b <( echo get /path/to/*_{Hello,World,SU}.txt ) me@server
    
por 10.03.2016 / 22:38

Tags