SSH-RSA do usuário específico com acesso raiz (via AWS EC2)

2

É possível configurar uma chave SSH-RSA específica (por meio de outro usuário, por exemplo, "ec2-user") para ter a capacidade de fazer sudo no root.

Ou seja,

  1. Você faz o login com a chave para "Bob" (ec2-user). Atualmente o usuário "Bob" pode fazer sudo na raiz.

  2. "Bob" agora tem duas chaves. Pode-se sudo su em raiz, não se pode.

por MKN Web Solutions 09.09.2015 / 21:50

1 resposta

3

Sim. É possível usar pam_ssh_agent_auth package se sua distribuição fornecer. Ele pode permitir que você execute o sudo com base no módulo pam, que verifica a posse da chave ssh no ssh-agent.

História curta

Configuração

  1. Instale o pacote pam_ssh_agent_auth do gerenciador de pacotes
  2. Modifique /etc/sudoers , preferencialmente usando visudo e adicione linha

    Defaults    env_keep += "SSH_AUTH_SOCK"
    
  3. Edite /etc/pam.d/sudo e adicione (como segunda linha após #%PAM-1.0 )

    auth     sufficient   pam_ssh_agent_auth.so file=/etc/security/authorized_keys
    

    e comente a linha

    #auth       include      system-auth
    

    para não permitir a autenticação normal do sistema para o comando sudo

  4. Crie o par de chaves "privilegiado" que deve ter acesso ao comando sudo e à parte pública da loja como /etc/security/authorized_keys no servidor.

    ssh-keygen -t rsa -b 2048
    cat ~/.ssh/id_rsa > /etc/security/authorized_keys
    

Uso

  1. No cliente, abra o ssh-agent e adicione a chave acima mencionada:

    eval $ (ssh-agent)    ssh-add ~ / .ssh / id_rsa

  2. Conecte-se ao servidor com o encaminhamento de agentes

    ssh -K server

  3. Execute o sudo como quiser

Isso funciona bem em sistemas Fedora / RHEL / CentOS, pelo que testei até agora.

    
por 09.09.2015 / 23:22