Existe uma razão técnica pela qual o ssh-agent não possui um recurso de tempo de inatividade / inatividade do tipo sudo?

9

Existem algumas breves discussões sobre o recurso ssh-agent -t existente em [1], e houve um post em 2001 no debian-devel [2] que desejava um recurso de tempo limite de inatividade. Há uma discussão semelhante aqui no SE [3] para o concurso.

Eu tenho que me perguntar como o resto do planeta está protegendo chaves ssh - estou faltando algo óbvio para isso ser um ponto tão doloroso para mim, e aparentemente ninguém mais? Especificamente, estou pensando em interações ssh com script, como com ansible. Parece que hoje, suas escolhas são:

  • Defina a duração da sua chave no agente para um período de tempo preocupantemente longo, por exemplo, 1h ou qualquer que seja o tempo máximo de execução dos seus scripts pode ser (duvido que muitas pessoas permitam que o tempo limite de re-autorização do seu sudo se estenda por tanto tempo!) - mas seahorse / gnome-keyring-daemon quase nem suporta isso [4] / li>
  • Anote seus scripts antigos e volte a inserir sua frase-senha a cada 5/10/15 minutos: agora é possível vê-la facilmente inserindo sua frase-senha 20 vezes por dia
  • Crie sua própria solução de home-brew para imitar esse recurso ausente, talvez em conjunto com o TMOUT shell var do seu shell (agradeço ao freenode #openssh IRC por essa sugestão)
  • Não tem um conjunto de tempo de vida de chave, ou seja, seu agente mantém sua chave carregada para sempre ou até que você mate / reinicialize

Se você estiver usando tempos limite de agentes ssh, senhas strongs e arquivos de chave diferentes para cada tipo de função que você autenticar: isso leva a um dia muito frustrante!

Eu experimentei o gpgkey2ssh e os smartcards, mas isso não resolve realmente esse problema: ainda quero a funcionalidade do ssh-agent e não quero ter que re-autorizar a cada 5 minutos apenas para evitar minha privacidade chaves sendo expostas na memória enquanto meu computador está ocioso.

Estou fazendo errado?

[1] Configurando o tempo limite padrão para o agente SSH

[2] link

[3] link

[4] link

    
por csirac2 21.03.2015 / 00:56

1 resposta

3

Se isso lhe diz respeito, você pode facilmente usar a interface xscreensaver-command -watch para executar ssh-add -D quando a tela estiver bloqueada. Verifique a página de manual para um exemplo muito simples.

    
por 22.02.2016 / 12:28