Você pode usar ssh-agent
para fazer isso. Ele permite que você armazene uma frase secreta na memória, em vez de no disco. Há uma boa explicação de como fazer isso para trabalhos em lote aqui: link .
Essencialmente, você:
- Execute
ssh-agent
em segundo plano como o usuário que iniciará a conexão SSH. - Use o comando
ssh-add
para adicionar a chave ao agente. Ele solicitará a frase secreta.
Você pode automatizar a execução de ssh-agent
adicionando-o a um script executado na inicialização, mas ainda é necessário preparar manualmente o agente com a chave para inserir a frase secreta. Então, se você reiniciar, por exemplo, terá que se lembrar de fazer isso.
O ponto a considerar é o que você está tentando alcançar com uma frase-senha na chave sendo usada, já que esse é um sistema automatizado.
- Se você usar uma chave com uma frase secreta e armazená-la em um arquivo de configuração, qualquer pessoa que obtiver acesso à chave provavelmente também terá acesso ao arquivo de configuração, pois ambos precisarão ser acessados pelo mesmo usuário.
- Se você usar
ssh-agent
para armazenar a frase secreta, ela ainda precisará ser executada na mesma máquina que a chave. Seria mais difícil obter a frase secreta de memória do que de um arquivo, mas você acabou de tornar o trabalho mais difícil do que impossível impossível. No entanto, se eles obtiverem a chave sem obter acesso à máquina (por exemplo, de um backup), essa opção será mais segura. - Se você não definir uma frase secreta, alguém que receber a chave não terá mais trabalho a fazer para usá-la.
Em todos esses três cenários, seria sensato planejar o pior e tomar medidas para minimizar os danos que poderiam ser causados por alguém que ganha acesso a uma chave utilizável. Por exemplo, você poderia:
- Use uma conta de usuário específica que tenha acesso apenas aos dados que estão sendo recuperados.
- Use uma chave usada apenas para essa finalidade.
- Restrinja de qual host o proprietário da chave pode usar o SSH.
- Restringir quais comandos podem ser executados usando a chave - consulte this .
Em suma, só você pode avaliar os prós e contras dessas abordagens e se um processo manual é aceitável em sua situação.