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