Eu tenho uma chave SSH privada que uso para autenticação armazenada em ~ / .ssh / id_rsa . Quando ssh em um servidor, é solicitada a senha para desbloquear a chave:
Eu gosto disso. Também gosto de poder ssh repetidamente e isso não me pede minha senha.
O que eu não gosto é que não sou obrigado a digitar minha senha de chave dias ou semanas depois. Posso bloquear minha tela ou colocá-la em repouso e ainda não preciso digitar minha senha de chave. A única vez que parece expirar a senha é quando eu saio (o que raramente faço).
Como faço para que a senha da chave expire depois de um tempo, forçando-me a digitar minha senha novamente para autenticar? Fazendo com que, talvez após 1 hora, a chave seja automaticamente esquecida.
fonte
Nota : nas versões mais recentes do OS X, você deve desativar o System Integrity Protection para que esta resposta funcione. (Obrigado a @Dave Gregory e @Jaap por apontar isso.)
Abra
/System/Library/LaunchAgents/com.openssh.ssh-agent.plist
(em versões mais antigas :)org.openbsd.ssh-agent.plist
em um editor de texto. Substituir:com:
Isso expirará a chave após 30 minutos.
Reinicie. Espere, reinicie?!? Este não é o Windows! Sim, reinicie.
Bem, você pode tentar decifrar as instruções para alterar a configuração rapidamente , mas boa sorte.
fonte
Você precisa definir a vida útil da chave. Normalmente, o padrão é para sempre.
Quando você executa,
ssh-add
deseja usar a-t
opção Se você quer uma vida útil de uma hora, então éssh-add -t 1h
. Os formatos de hora podem ser vistos nasshd_config
página de manual, mas, simplesmente, são um número seguido de s, m, h, d ou w por segundos, minutos, horas, dias ou semanas.ssh-add
pode ser colocado no seu arquivo .bashrc e solicitará apenas que você valide a chave uma vez. Mesmo quando a chave "expira", ela não é removida - ela apenas pede a senha novamente quando é feita uma tentativa de usá-la.A outra opção seria alterar as opções de inicialização para as
ssh-agent
quais estão armazenadas/System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
e adicionar a opção-t
lá. (Eu usoLaunchControl
para alterar isso, mas você pode fazer isso manualmente, se tiver cuidado.)fonte
ssh-add
manualmente antes de executar ossh
tempo todo. É interessante, mas estou realmente procurando por algo automático.org.openbsd.ssh-agent.plist
soluçãoUma outra solução é:
Com esta solução, você não precisa escolher um tempo limite para todas as suas chaves - bastante irritante quando deseja definir um tempo limite de alguns segundos para a gravação da senha da chave privada - e não precisa desativar o SIP para editar / Sistema / Biblioteca / LaunchAgents / org.openbsd.ssh-agent.plist.
fonte