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 somente através da chave RSA. Nenhuma senha. No meu laptop, implantei corretamente a chave RSA com o ssh-keygen e, enquanto fazia isso, adicionei uma frase secreta. Em seguida, movi o id_rsa.pub no servidor Linux .ssh / authorized_keys.

Até aí tudo bem. Agora eu tento do meu laptop Snow Leopard para fazer o login na máquina Linux. Eu recebo um popup da janela me pedindo a frase secreta. Esta é a primeira coisa que me surpreende, como eu esperaria um pedido de senha de shell, não um popup. O aplicativo que solicita a frase secreta é ssh, de acordo com os detalhes nesta janela pop-up. Além disso, há uma opção "lembrar frase no chaveiro", que está desativada.

Eu insiro minha senha. O pop-up desaparece e o terminal registra corretamente na máquina Linux. Agora, se eu sair e tentar o SSH novamente, o login acontece sem qualquer pedido de passphrase, que é não o que eu quero.

Coisas que eu verifiquei:

  • nada é salvo no chaveiro. Naveguei e não encontrei nada.
  • se eu fechar / fechar o terminal e abrir um novo, ainda não receberei a senha, e o ssh entrará sem nenhuma consulta.
  • se eu sair da sessão do MacOSX e relogar, a frase secreta será solicitada na próxima tentativa, novamente com uma caixa de diálogo pop-up. Então não é mais solicitado.

Onde a frase secreta é armazenada? o que está acontecendo exatamente, e como eu posso forçar a solicitação da frase-senha a cada tentativa ssh?

    
por Stefano Borini 02.02.2010 / 17:32

1 resposta

10

O OS X iniciará automaticamente o ssh-agent para você quando precisar da sua chave privada. Sua chave estará disponível através do ssh-agent (sem digitar sua senha novamente) até que você saia do do OS X ou remova a chave (via ssh-add -d ou ssh-add -D para remover todas as chaves).

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

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

Outra maneira é descarregar & desative o LaunchAgent:

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

O -w faz com que ele não apenas descarregue, mas marque & lembre-se como desativado.

    
por 02.02.2010 / 17:43