Login SSH no Linux com validade do certificado

0

Eu tenho um Ubuntu 16.06 Rootserver e tenho várias outras pessoas que podem precisar fazer login nele como um usuário especial.

Não quero enviar senhas nem chaves privadas.

É possível gerar chaves que expiram em +3 dias após a geração, sem tocar em nada no servidor?

Ou seja. com um certificado raiz que o servidor sabe e eu tenho em um lugar seguro que eu posso usar para gerar essas chaves com uma data de validade?

    
por bam 11.01.2017 / 11:16

1 resposta

5

or even private Keys.

Por que você já enviou chaves privadas? Peça ao usuário para gerar seu próprio par de chaves e mande-o você para a chave pública.

Is it possible to generate Keys that expire in +3 Days after generation,

Supondo que o servidor use o OpenSSH, existem duas maneiras:

  • Certificados : Suportados com o OpenSSH 5.4 ou posterior, mas todos usuários também devem usar o OpenSSH - os certificados gerados não funcionam com o PuTTY ou outros clientes.

    Primeiro, gere uma chave SSH de "autoridade" com ssh-keygen e liste-a na configuração do servidor (usando a opção TrustedUserCAKeys ) e use-a para emitir certificados de usuário.

    Para emitir um certificado: Quando o usuário enviar seu arquivo id_rsa.pub , assine-o com a chave CA. Uma vez assinado, envie o novo arquivo id_rsa.pub-cert de volta para o usuário.

    ssh-keygen -s ~/private/user_ca -I user_fred -n fred -V +3d fred_id_rsa.pub
    

    Aqui -n especifica quem pode efetuar login usando o certificado e -V define seu tempo de expiração. (A opção -I apenas define um nome arbitrário para o certificado em si.)

  • authorized_keys : Compatível com o OpenSSH 7.7 ou posterior, sem nenhum requisito do cliente. As informações de expiração não são armazenadas na própria chave, mas no arquivo authorized_keys do servidor:

    expiry-time="20180704" ssh-ed25519 AAAAC3NzaC1lZDI1NTE...
    

    Na página de manual sshd (8) , os formatos de hora permitidos são YYYYMMDD e YYYYMMDDHHMM[SS] no fuso horário principal do servidor.

    Note que este método só é seguro se o usuário for impedido de editar seu arquivo authorized_keys, caso contrário, eles podem apenas extender o tempo de expiração!

por 11.01.2017 / 11:24