
Eu uso ssh diariamente para fazer login em alguns servidores que gerencio e uso uma chave ssh para fazer login. Como gerei minha chave ssh com uma senha, na primeira vez que uso o ssh em um dia, uma senha é solicitada. Quero que isso seja bloqueado periodicamente novamente ao longo do dia, para que alguém que tenha acesso ao meu laptop enquanto ele estiver ligado não tenha necessariamente acesso aos servidores. Não consigo encontrar uma opção para isso e também não consigo descobrir um comando para bloquear a chave. Se existir tal comando, eu poderia adicioná-lo ao crontab.
Provavelmente a melhor opção é simplesmente não usar uma chave ssh.
Responder1
Você provavelmente tem um programa chamado ssh-agent
running. Quando você ssh
acessa algum outro host, o ssh
comando se comunica com ele ssh-agent
para manter as chaves e suas senhas.
Por padrão, ele ssh-agent
lembra as senhas para sempre (até sair), então você só precisa digitá-las uma vez para cada chave.
O comandossh-add
é usado para gerenciar a lista de identidades conhecidas ssh-agent
.
Para mostrar a lista de chaves que você ssh-agent
conhece, emita
ssh-add -l
Para fazer issoesquecersuas chaves e senhas, emita
ssh-add -D
Quando você ssh
entrar em algum host, será solicitada novamente a senha.
Também é possível fornecer umvidapara uma senha:
ssh-add -t 3600 # 1 hour
mas isso não funcionou para mim (ou fiz algo errado). Eu configuraria um cronjob que funciona ssh-add -D
a cada N horas. Isso pode ser um pouco complicado porque ssh-add
precisa que a variável de ambiente SSH_AUTH_SOCK
se comunique com o ssh-agent
e essa variável provavelmente não está definida no cron.
Mas, conforme declarado em um comentário, você não deve deixar seu laptop sem vigilância enquanto estiver fora, mas sim bloqueá-lo.
Responder2
Você poderia simplesmente escrever uma linha em seu $HOME/.bash_logout
arquivo que mova sua chave SSH do seu ~/.ssh/
diretório para um diretório diferente? Então faça o oposto em $HOME/.bash_login
.