Preencha automaticamente a senha do arquivo de identidade ssh?

4

Quando eu fiz minha chave ssh, adicionei uma senha à chave. Agora eu estou tentando escrever um script que irá executar alguns comandos ssh e rsync. Infelizmente, como tenho a senha na minha chave rsa, ela solicita a senha toda vez. Existe uma maneira que eu possa solicitar ao usuário a frase secreta chave uma vez e redirecioná-la para o comando ssh?

** esta não é uma senha de usuário ssh. esta é a frase secreta para a chave **

    
por CriticalTheWizard 03.11.2017 / 16:18

1 resposta

4

Você pode usar o agente de chave ssh. O comando para iniciar o agente é:

ssh-agent

Então você terá que adicionar sua chave ao agente. Para adicionar a chave padrão (~ / .ssh / id_rsa) você usaria este comando:

ssh-add

Você terá que digitar sua senha uma vez para adicionar sua chave.

Você também pode querer verificar esta postagem do ServerFault para obter mais informações:

Talvez a solução mais limpa proposta tenha sido adicionar um ssh-agent shebang ao seu script, por exemplo:

#!/usr/bin/ssh-agent bash

ssh-add /path/to/ssh-key
ssh root@remotehost "remote commands"

Também há muitas armadilhas associadas ao uso do agente ssh, portanto, você pode querer ler alguns artigos sobre recomendações gerais de uso, por exemplo:

por 03.11.2017 / 16:52