ssh o encaminhamento do agente falha com "Não foi possível abrir uma conexão com seu agente de autenticação"

6

Eu recebo uma mensagem de erro Could not open a connection to your authentication agent quando tento conectar-me de um servidor intermediário a um terceiro servidor usando a opção de encaminhamento de agente ( -A ) de um cliente OpenSSH. A primeira conexão com o servidor intermediário ocorre sem problemas usando uma chave carregada em ssh-agent . A mensagem de erro é exibida ao tentar uma conexão com o servidor final.

Meu cliente OpenSSH está configurado para permitir o encaminhamento com ForwardAgent yes em ~/.ssh/config e o servidor intermediário tem AllowAgentForwarding yes no arquivo de configuração do daemon. A configuração do cliente não é substituída por um arquivo no nível do sistema.

Eu não estou usando um multiplexador de terminal para evitar um erro decorrente de variáveis de ambiente que não estão sendo definidas. Para executar o agente, eu uso exec ssh-agent zsh e verifico que ambos SSH_AUTH_SOCK e SSH_AGENT_PID estão presentes no ambiente local. Eu uso ssh-add para adicionar as chaves privadas para o servidor intermediário e final, respectivamente; Eu verifico que eles são adicionados com ssh-add -l .

Todos os servidores são de uma versão recente (OpenSSH 5.3) e o cliente é o OpenSSH 6.2.

    
por chb 28.11.2013 / 11:16

1 resposta

11

Estou postando isso aqui porque passei muito tempo tentando encontrar uma solução usando o Google, lendo páginas de manual e consultando um livro popular sobre SSH, tudo em vão.

A chave para encontrar o problema foi examinar a saída de depuração.

debug1: Remote: Agent forwarding disabled: mkdtemp() failed: Permission denied

A máquina intermediária é um servidor virtual (RHEL 6.4) hospedado por um provedor de nuvem que usa uma pilha da AWS. Por razões que não consigo explicar, isso é o que as permissões no diretório /tmp foram definidas como:

drwxr-x--- 19  727  727  4096 Nov 28 05:30 tmp

Por meio de /etc/passwd , não consegui encontrar um usuário com um ID de 727.

Corrigir as permissões assim resolveu meus problemas:

sudo chown 0:0 /tmp
sudo chmod 1777 /tmp

Alguém pode falar com a propriedade peculiar do diretório /tmp ?

    
por 28.11.2013 / 11:16