Por que o encaminhamento de ssh-agent não funcionaria para usuários específicos?

1

Estou tendo uma dificuldade ridícula em conseguir que o agente de SSH encaminhe para trabalhar efetivamente para dois usuários.

Ambos podem acessar um servidor remoto sem problemas, e parece que seus agentes estão sendo encaminhados corretamente (no servidor, "echo $ SSH_AGENT_SOCK" retorna uma referência a um soquete armazenado em / tmp / ssh-blahblahbla / agent .blahblah), mas nenhum dos usuários pode fazer ssh em outros servidores depois de chegar em outro servidor pela primeira vez via ssh, nem eles podem puxar de um repositório git hospedado & acessado via ssh.

Todas essas coisas funcionam bem para todos os outros usuários. A única diferença que notei é que, por alguma razão inexplicável, depois que esses usuários problemáticos ssh entraram no primeiro servidor e tentaram se conectar a um segundo, a saída detalhada ssh mostra o seguinte:

  debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/ubuntu/.ssh/identity ((nil))
debug2: key: /home/ubuntu/.ssh/id_rsa ((nil))
debug2: key: /home/ubuntu/.ssh/id_dsa (0x7ff42705ab40)
debug3: Wrote 64 bytes for a total of 1127
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,gssapi,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/ubuntu/.ssh/identity
debug3: no such identity: /home/ubuntu/.ssh/identity
debug1: Trying private key: /home/ubuntu/.ssh/id_rsa
debug3: no such identity: /home/ubuntu/.ssh/id_rsa
debug1: Offering public key: /home/ubuntu/.ssh/id_dsa

Para usuários bem-sucedidos, as primeiras poucas linhas fazem referência ao soquete em / tmp de seu $ SSH_AUTH_SOCK. Estou confuso, alguma ajuda sobre onde começar a procurar?

Além disso, para referência, não é necessariamente específico da chave. Para um usuário, tentei gerar duas novas chaves (uma de tipo diferente, uma de criptografia diferente), nenhuma delas funciona.

Pensamentos?

    
por user1028587 15.12.2011 / 18:38

1 resposta

2

Descobri que nenhum dos usuários tinha uma identidade, apesar de a chave do agente ser encaminhada.

Verifique na máquina local usando:

ssh-add -L

Se você ver:     O agente não tem identidades.

Você também pode precisar digitar:

ssh-add

Isso resolveu nosso problema. Espero que ajude alguém.

Em um caso, o usuário tinha uma identidade local, mas não era a chave que ele estava usando, mas uma chave alternativa usada em um ambiente diferente. Como ele poderia agir como esperado nesse ambiente, isso nos deu a impressão de que o problema estava no servidor. Para adicionar uma identidade específica, usamos

ssh-add ~/.ssh/his-alternate-keyfile
    
por 16.12.2011 / 15:56