ssh ignora o ssh-agent

3

Estou usando um novo sistema e ssh está ignorando meu ssh-agent . Note que eu tenho feito isso há anos em outros lugares, não é uma coisa nova que eu estou confuso. Com bash :

> echo $SSH_AGENT_PID
1234
> echo $SSH_AUTH_SOCK
/tmp/ssh-foo/agent.1234
> ps -p 1234
  PID TTY          TIME CMD
 1234 pts/12   00:00:01 ssh-agent

Portanto, o ssh-agent está claramente em execução e as variáveis de ambiente apropriadas estão em vigor. Eu também verifiquei que o soquete está realmente lá.

> ssh-add key
Enter passphrase for key: [done]
Identity successfully added.
> ssh-add -l
1024 SHA256:[blah] key

Então a chave foi adicionada. Mas:

> ssh -i key me@there
Enter passphrase for key:

PARDON

Eu fiz diff'd /etc/ssh/ssh_config com um do meu sistema anterior (! # $% upgrading ...) e eles são idênticos. De acordo com a meta-informação do pacote distro (fedora 23), esta é a versão 7.1p1 do openSSH, as instalações anteriores que usei não são mais recentes que a 6.6.

O problema não existe para todos os usuários, levando-me a acreditar que pode haver algum novo recurso de segurança. Alguém sabe o que está acontecendo?

    
por goldilocks 24.11.2015 / 17:33

1 resposta

3

É um novo recurso, presumivelmente para 7.x. É necessário adicionar o tipo de chave a /etc/ssh_config usando esta opção:

PubkeyAcceptedKeyTypes +ssh-dss

As chaves RSA são aceitas por padrão (veja man ssh_config ), e é por isso que funcionou em um caso, mas não em outro (sendo o root um fator de exclusão e removi isso da questão).

Observe novamente que a opção não está no meu ssh_config anterior nem na página man correspondente (openssh v. 6.6).

    
por 24.11.2015 / 18:02