Senha SSH lembrada no MacOSX Snow Leopard

8

Estou enfrentando uma situação muito estranha com o Snow Leopard. Eu tenho um servidor Linux, configurado para aceitar uma conexão ssh autenticada apenas através da chave RSA. Nenhuma senha. No meu laptop, implantei corretamente a chave RSA com ssh-keygen e, ao fazê-lo, adicionei uma senha. Mudei então o id_rsa.pub no servidor Linux .ssh / allowed_keys.

Por enquanto, tudo bem. Agora eu tento no meu laptop Snow Leopard fazer login na máquina Linux. Eu recebo uma janela pop-up me pedindo a senha. Essa é a primeira coisa que me surpreende, pois eu esperava uma solicitação de senha de shell, não um pop-up. O aplicativo que solicita a senha é ssh, de acordo com os detalhes nesta janela pop-up. Além disso, existe a opção "lembrar frase no chaveiro", que está desativada.

Eu insiro minha senha. O pop-up desaparece e o terminal efetua login corretamente na máquina Linux. Agora, se eu sair, e tentar ssh novamente, o login acontecerá sem qualquer solicitação de senha, que não é o que eu quero.

Coisas que eu verifiquei:

  • nada é salvo no chaveiro. Naveguei e não encontrei nada.
  • se eu fechar / sair do terminal e abrir um novo, ainda não me pedem a senha, e o ssh efetua login sem qualquer pergunta.
  • se eu sair da sessão do MacOSX e me conectar novamente, a senha será solicitada na próxima tentativa, novamente com uma caixa de diálogo pop-up. Então não é mais solicitado.

Onde a senha é armazenada? o que está acontecendo exatamente e como forçar a solicitação da senha a cada tentativa de ssh?

Stefano Borini
fonte

Respostas:

10

O OS X iniciará automaticamente o ssh-agent quando você precisar de sua chave privada. Sua chave estará disponível através do ssh-agent (sem digitar sua senha novamente) até você sair do OS X ou remover a chave (via ssh-add -dou ssh-add -Dpara remover todas as chaves).

Isso é semelhante ao comportamento padrão do sistema * NIX com ssh-agent e permite que funcionalidades úteis como o encaminhamento de autenticação de agente ( ssh -A) funcionem, para que você não precise colocar sua chave privada em toda a rede.


Se você deseja desativar o ssh-agent (para todos os usuários do seu Mac), remova o arquivo /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist


Outra maneira é descarregar e desativar o LaunchAgent:

sudo launchctl -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist

O -wfaz com que ele não apenas descarregar mas marca e lembrar como desativado.

voretaq7
fonte