Imagem de destaque do blog justcode.com.br.

Como criar uma chave SSH

O que é uma chave SSH?

Uma chave SSH, ou chave de Secure Shell, é uma forma de autenticação e criptografia usada em conexões de rede seguras.

O Secure Shell (SSH) é um protocolo utilizado para acesso remoto a sistemas e execução de comandos de forma segura, protegendo a comunicação entre o cliente e o servidor.

A chave SSH é composta por duas partes:

Chave privada: A chave privada deve ser mantida em segredo e guardada pelo usuário. Chave pública: A chave pública pode ser compartilhada livremente.

A ideia é que a chave privada só funcione com a chave pública correspondente.

Quando um usuário se conecta a um servidor SSH, ele usa sua chave privada para provar que tem a chave pública correspondente, autenticando-se de maneira segura e eliminando a necessidade de senhas.

O uso de chaves SSH é comum em ambientes de administração de servidores, sistemas remotos e integração contínua, proporcionando uma camada adicional de segurança em comparação com autenticação baseada em senha.


Posts relacionados:


    Tipos de chaves SSH

    • ed25519: É um tipo de chave assimétrica utilizado no protocolo SSH para autenticação e criptografia. Ela faz parte de uma família de curvas elípticas conhecida como Curve25519, que foi projetada para oferecer um alto nível de segurança com eficiência computacional.
    • RSA (Rivest-Shamir-Adleman): Um dos algoritmos mais antigos e amplamente utilizados. Embora ainda seja suportado, o Ed25519 é considerado mais seguro e eficiente.
    • DSA (Digital Signature Algorithm): Também um algoritmo mais antigo, mas ainda suportado pelo SSH.
    • ECDSA (Elliptic Curve Digital Signature Algorithm): Utiliza curvas elípticas para gerar as chaves, oferecendo um bom equilíbrio entre segurança e eficiência.
    • RSA com SHA-2 (RSA usando algoritmos de hash da família SHA-2): RSA pode ser usado com algoritmos de hash mais recentes para melhorar a segurança.
    • ECDSA com SHA-2 (ECDSA usando algoritmos de hash da família SHA-2): Assim como no caso do RSA, o ECDSA pode ser combinado com algoritmos de hash mais seguros.

    Embora essas sejam algumas das opções mais comuns, a preferência por uma chave específica pode depender de fatores como segurança, eficiência e suporte do sistema e das implementações do SSH.

    📝 O uso de ed25519 tem ganhado popularidade devido à sua segurança e eficiência em comparação com algumas das opções mais antigas.


    Como criar uma chave SSH (ed25519)

    Para gerar uma chave SSH, abra o terminal e execute o comando:

    ssh-keygen -t ed25519 -C "seu_email@exemplo.com"

    📝 Se estiver no Microsoft Windows pode ser interessante utilizar o terminal Git BASH.

    Assim que a chave for gerada devemos verificar se o gerenciador de chaves (ssh-agent) está em execução:

    eval "$(ssh-agent -s)"

    Se não for retornado nenhum erro, podemos adicionar a chave SSH privada no gerenciador:

    ssh-add ~/.ssh/id_ed25519