Impossível obter libpam-ssh-agent-auth Trabalhando no Ubuntu 13.10

4

Eu tenho lutado com essa questão em particular a maior parte do dia, e tenho feito ALGUM progresso, mas ainda estou um pouco preso. Eu gostaria de poder autenticar uma sessão SSH usando um arquivo de chave privada e, em seguida, usar essa mesma autenticação para também autenticar as solicitações sudo. O sistema que estou conectando FROM é uma caixa do Windows usando Putty e Pageant. O sistema que eu estou conectado ao TO é uma caixa do Ubuntu rodando 13.10 Saucy (32-bit), e especificamente o servidor OpenSSH. Eu gerou com sucesso uma chave RSA de 4096 bits e sou capaz de usá-la para conectar-se a sessões SSH sem problemas.

Para facilitar a autenticação do sudo, estou tentando instalar e usar o libpam-ssh-agent-auth. Está no SourceForge e está documentado aqui: link Há muitas informações e instruções on-line sobre essa biblioteca, mas as informações e os guias estão desatualizados e / ou específicos de distro.

Alguns dos meus progressos: Descobri que você deve habilitar o encaminhamento de agente de usuário E ter Pageant instalado e em execução em Putty para obter com êxito o agente de usuário para realmente aparecer no servidor Ubuntu. Eu também tive que adicionar o "AllowAgentForwarding yes" ao / etc / ssh / sshd_config, e a linha "Defaults env_keep + = SSH_AUTH_SOCK" para / etc / sudoers (depois das outras 3 linhas de Padrões). Essas alterações parecem ter permitido que o soquete de autenticação SSH se propagasse até os comandos sudo, conforme testado no terminal da seguinte forma:

echo "$SSH_AUTH_SOCK"
/tmp/ssh-4LcT4GZtZ8/agent.6725
sudo echo "$SSH_AUTH_SOCK"
/tmp/ssh-4LcT4GZtZ8/agent.6725

Antes de fazer essas alterações, eu não estava obtendo SSH_AUTH_SOCK, e estava recebendo apenas no prompt de comando normal, não no sudo. Faça as mudanças documentadas acima permitiram que o socket de autenticação passasse para o sudo.

A etapa final parece estar instalando a libpam-ssh-agent-auth e, em seguida, fazendo as alterações de configuração apropriadas em /etc/pam.d/sudo. Eu tentei compilá-lo sozinho, e também instalar o .debs pré-compilados de dois PPAs diferentes como parte da minha busca para que isso funcionasse (como eu disse, tentei o dia todo) Este passo final é o que me prendeu. Basicamente, apesar de as coisas aparentemente estarem configuradas corretamente, eu não estou obtendo sucesso.

Entendo que o meu caso de teste deveria ser executar um "sudo -K" e depois suar qualquer comando. O -K redefine o temporizador sudo, forçando a nova autenticação na próxima tentativa de sudo.

Eu não tive sucesso.

Meu arquivo /etc/pam.d/sudo atual:

#%PAM-1.0

auth    required        pam_env.so      readenv=1 user_readenv=0
auth    required        pam_env.so      readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_ssh_agent_auth.so file=~/.ssh/authorized_keys
auth requisite pam_unix.so nullok_secure
@include common-auth
@include common-account
@include common-session-noninteractive

Eu percebi que este pode ser um bom lugar para postar sobre essas coisas.

    
por DivinityCycle 05.11.2013 / 19:35

1 resposta

1

Consegui resolver este problema sozinho.

A chave para solucionar isso foi examinar o arquivo /var/log/auth.log. Examinar este log me leva ao erro

pam_ssh_agent_auth: Authentication refused: bad ownership or modes for file

Isso me leva ao primeiro problema: a propriedade e as permissões do arquivo devem ser definidas corretamente para que a autenticação SSH continue. Eu especificamente tive que executar um "chmod 700 -R ~ / .ssh" Isso resolveu esse erro em particular, mas quando tentei sudo, recebi "a senha incorreta" três vezes e, em seguida, uma falha de sudo.

Para resolver isso, acabei alterando o arquivo /etc/pam.d/sudo, comentando especificamente tudo, menos a linha

auth       sufficient pam_ssh_agent_auth.so file=~/.ssh/authorized_keys debug allow_user_owned_authorized_keys_file

Isso está longe de ser ideal, mas me dá um lugar para começar. Outras edições no arquivo /etc/pam.d/sudo devem permitir que outros tipos de autenticação também funcionem.

    
por 05.11.2013 / 23:20