Como posso salvar a senha ao usar o SCP (cópia)?

11

Estou enfrentando problemas quando puxo um arquivo de outra máquina para minha máquina usando o SCP. O arquivo é transferido com sucesso, mas cada vez que ele solicita a senha. Desejo executar este SCPcomando como cronjob: Como posso salvar a senha para essa automação?

scp [email protected]:/usr/etc/Output/*.txt /usr/abc/  
[email protected]'s password:
Nishat
fonte

Respostas:

13

Você pode fazer:

  1. ( se ainda não o tiver feito ) gere um conjunto de chaves ssh públicas e privadas em sua máquina para seu usuário com:

    $ ssh-keygen

    Responda às perguntas para gerar o conjunto de chaves.

  2. copie sua chave pública para o host remoto:

    $ ssh-copy-id remote-user@remote-host

    Isso permitirá o login do seu username@hostservidor remote-user@remote-hostsem ser solicitado com autenticação p / w.

fduff
fonte
o que você quer dizer na etapa 2? você quer dizer para copiar o arquivo criado na etapa um para a máquina a partir da qual eu quero copiar um arquivo
Mohsen El-Tahawy
@ MohsenEl-Tahawy, ssh-copy-idcuidará de copiar as credenciais criptografadas no host remoto, dessa forma, não solicitará p / w na próxima vez que o usuário sshnele.
Fduff # 30/17
5

você pode usar isso: sshpass -p 'your_password' scp [email protected]:/usr/etc/Output/*.txt /usr/abc/ mas lembre-se de armazenar a senha em texto sem formatação.

Krzysztof Stasiak
fonte
0

Siga a resposta do fduff, mas ao executar o keygen, pressione enter quando ele solicitar uma senha. Isso criará uma chave que não exige entrada de senha quando é usada.

David Nedrow
fonte
-3

Pode-se usar o seguinte comando:

scp -r [email protected]:/usr/etc/Output/*.txt /usr/abc/

E também configure a autenticação baseada em chave ssh para não solicitar senha durante o scp.

Muralibabud
fonte
Eu uso scp -r [email protected]: / usr / etc / Output / * txt / usr / abc /, mas também pedir a senha @Muralibabud.
Nishat
O uso do @Nishat ssh-keygene ssh-copy-id [email protected]como fduff postado acima
Muralibabud