12.04LTS - não foi possível abrir uma conexão com seu agente de autenticação [duplicado]

3

Estou trabalhando para adicionar a autenticação ssh a uma nova implantação do Linode Ubuntu 12.04LTS. Eu segui o seu guia até o ponto em que eu precisei ssh na caixa com meu agora recém-adicionado chave ssh, mas eu prefiro:

"Error: agent admitted failure to sign using the key"

O que é bom, o guia do Ubuntu OpenSSH diz que tudo que você precisa fazer é executar

ssh-add

no servidor e você será de ouro. Exceto quando eu faço isso eu recebo

Could not open a connection to your authentication agent.

Eu verifiquei novamente os processos e realmente parece que o ssh-agent já está em execução (na verdade, duas vezes, porque tentei o truque eval , que não funcionou de todo):

alex@mybox:~$ ps aux | grep ssh
root      2645  0.0  0.1  49948   776 ?        Ss   Mar13   0:00 /usr/sbin/sshd -D
alex     16989  0.0  0.0  12492   324 ?        Ss   Mar13   0:00 ssh-agent
root     18986  0.0  0.7  73360  3564 ?        Ss   09:03   0:00 sshd: alex [priv]   
alex     19119  0.0  0.3  73360  1676 ?        S    09:03   0:00 sshd: alex@pts/0    
alex     19785  0.0  0.0  12492   316 ?        Ss   09:59   0:00 ssh-agent
root     20026  0.0  0.7  73360  3568 ?        Ss   10:02   0:00 sshd: alex [priv]   
alex     20184  0.0  0.3  73360  1680 ?        S    10:03   0:00 sshd: alex@pts/1    
alex     20325  0.0  0.1   9384   924 pts/1    S+   10:13   0:00 grep --color=auto ssh

Como mencionei, a abordagem eval conseguiu fazer com que o ssh-add funcionasse uma vez, mas quando tentei efetuar login novamente, o sistema relatou o mesmo erro listado acima. Eu também tenho agora duas instâncias de ssh-agent.

Qual é a maneira correta de abordar isso?

    
por Alexandr Kurilin 14.03.2013 / 18:17

4 respostas

3

Tente iniciar o agente ssh para sua sessão bash atual. Aqui está o que você precisa fazer.

  1. Teste seu env atual para o PID do agente ssh:

    env | grep ^SSH
    
  2. Se você não notar nenhum, inicie o agente ssh para seu env atual:

    exec ssh-agent bash
    
  3. Agora tente adicionar a chave:

    ssh-add
    
por 14.03.2013 / 18:41
2

Verifique se a variável de ambiente SSH_AGENT_PID está definida como o PID do agente SSH e se SSH_AUTH_SOCK está definido para o caminho do soquete do agente (geralmente no diretório /tmp , por exemplo: /tmp/ssh-wpNhPp3007/agent.3007 )

ssh-add pode usar essas variáveis para adicionar sua chave.

    
por 14.03.2013 / 18:37
0

Você também pode usar a seguinte sintaxe:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
    
por 26.03.2015 / 22:26
-1

Seu problema está no cliente , não no servidor. O sistema no qual o sshd está rodando não se preocupa com o ssh-add / ssh-agent. Apenas verifica se o sistema do cliente é capaz de fazer a assinatura digital de autorização. Se esta assinatura é feita por ssh, por ssh-agent ou mesmo por um cartão inteligente não faz diferença.

Se você não usar um dos arquivos padrão (mas, por exemplo, ~ / .ssh / id_rsa_newbox), então você deve informar ssh ( -i ~/.ssh/id_rsa_newbox) or ssh-agent ( ssh-add ~ / .ssh / id_rsa_newbox ') para usar este arquivo. arquivo padrão.

    
por 14.03.2013 / 20:44