Eu recomendaria usar a autenticação de chave pública ao armazenar uma senha.
Com a autenticação de chave pública SSH, você gera um & público & chave privada no sistema do cliente e depois enviar a chave pública para o host remoto. Em seguida, o sistema remoto permitirá que qualquer pessoa faça login e tenha a versão privada dessa chave.
Configuração:
- No cliente, execute
ssh-keygen
. Basta pressionar enter várias vezes e aceitar os padrões (senha vazia quando solicitado).
- Executar
ssh-copy-id [email protected]
- Agora você pode ssh para o host remoto apenas fazendo
ssh [email protected]
.
Agora, isso é um pouco inseguro, já que qualquer pessoa em seu sistema local que obtiver sua chave privada (armazenada em ~/.ssh/id_rsa
) poderá ssh para esse host remoto (embora a chave esteja protegida, então você precisa ser root para poder para chegar a ele). A solução é adicionar uma senha à chave privada e usar um chaveiro para armazenar a senha, para que você não precise digitá-la toda vez, mas isso está além do escopo dessa resposta. Há muitas outras perguntas / respostas aqui que fornecem uma explicação sobre como realizar isso.