Pergunta

Tenho um servidor com o qual eu não posso usar chaves pré-compartilhadas e ssh - todos autenticação através de prompts interativos.

Esse servidor também tem cron e at desativado para utilizadores não-root.

Eu gostaria de ser capaz de cron um trabalho na minha máquina local que irá executar um script no servidor remoto para fazer a manutenção periódica e de geração de relatórios.

Eu dallied com expect alguns, mas ter notado que, para automatizar colocar a palavra-passe para a linha de comandos na hora certa, ele precisa ser armazenada em texto não criptografado.

Existe uma maneira de proteger a senha de tal forma que eu introduza uma vez e, em seguida, é mexidos/whatever localmente (como passwd faz) e, em seguida, eu não sou de guardar a senha em texto não criptografado no próprio script?

Foi útil?

Solução

É muito inseguro para ficar com a autenticação baseada em senha, devido à botnet ataques baseados ser capaz de embotar a utilidade do denyhosts.Mas se você tem, você deve...

O que eu vou fazer quando preso nessa situação é colocar a senha em um arquivo separado do script, de fazer que o arquivo de senhas só pode ser lido por mim, e fazer o diretório está em só de leitura (e executável) por mim.Eu também vou tomar um grande cuidado para assegurar que a senha nunca é passado como um argumento ou uma variável de ambiente;os dois são trivialmente snoopable com ps.Passando o nome do arquivo de senha é OK (pode proteger o caminho) e passando a palavra-passe através de um sem nome de pipe também é seguro.

Outras dicas

O armazenamento de senhas é sempre inseguro (se você precisar de acesso à senha do ClearText). Seu script terá que ter a lógica "não codificante". Qualquer pessoa que tenha acesso a leitura no seu script poderá descobrir onde a senha codificada é armazenada e como desconhecê-la.

É um julgamento para você. Qual você valoriza mais: automação (para economizar seu tempo) ou segurança de senha?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top