Eu configurei um servidor openSSH em uma máquina Ubuntu-Server e configurei-o para usar chave pública / privada (sem senha).
Eu quero exigir senha e verificação de chave quando o cliente se conecta ao servidor, então eu criei a chave privada com uma frase secreta. O problema é que a frase secreta é necessária apenas na primeira vez que o cliente tenta se conectar ao servidor, e quaisquer conexões consecutivas (do mesmo cliente) se conectarão automaticamente sem solicitar a senha novamente. Uma exceção a isso é quando o computador do cliente é reinicializado, mas não é isso que eu quero.
Eu tenho controle total na máquina do cliente, então decidi adicionar uma tarefa cron com o comando "ssh-add -D", que remove todas as identidades do agente ssh no computador cliente, o que significa que da próxima vez o cliente tenta se conectar, ele será solicitado a digitar a senha como se fosse a primeira vez. Eu adicionei este comando a um cron job para executar a cada hora (isso me satisfaria, mesmo que isso signifique que nem TODAS as tentativas de conexão exigiriam senha).
Infelizmente, parece que não faz nada quando o trabalho é executado. Eu verifiquei que o trabalho realmente é executado com a adição de mais comandos - enquanto todos os comandos funcionam como esperado, somente o ssh-add parece ter um mau funcionamento.
Eu adicionei o cron job com as seguintes linhas:
user@ubuntu:~$ crontab -u user -e
eu escolhi o vim para editar e adicionei a linha:
* * * * * ssh-add -D
salvo.
O que estou fazendo de errado?
Apenas em uma nota lateral: eu sou muito novo no Linux (usando o Ubuntu), então eu posso não entender alguns conceitos de alto nível .. Eu aprecio se suas respostas forem simples:)