Como criar um par de chaves pública/privada SSH no Linux
Como gerar um par de chaves público/privada no Linux
Você precisa criar uma chave pública para acessar serviços remotos como o Git ou outros servidores a serem acessados via SSH
Ingredientes
- Linux
- Acesso ao terminal
- Ter instalado o ssh localmente em seu computador (ele já vêm normalmente com o comando ssh-key-gen), especialmente o comando ssh-keygen
Passo a passo (um passo com variações!)
A forma mais fácil é executando o comando a seguir
ssh-keygen
Você verá uma saída tal como a exposta a seguir:
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/seu_usuario/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/kicolobo/.ssh/id_ed25519
Your public key has been saved in /home/kicolobo/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:kbDPjx1Jrk9gt7OuoMtBILdn3qMvxBXpSvAS491XpUQ kicolobo@kicolobo-IdeaPad-3-15ITL6
The key's randomart image is:
+--[ED25519 256]--+
| .. .E.. |
| + ALTERADO |
|..o* o..o.o |
| ooo+ +o.+ . |
| POR QUE |
| = |
| .o + o * |
| não sou bobo |
| =+. .o+ |
+----[SHA256]-----+
Isto irá gerar no diretório .ssh
do seu computador alguns arquivos.
- O arquivo de chave pública (extensão .pub)
- O arquivo de chave privada
Pronto, tá aí a chave pública que você precisa para acessar serviços externos. Dá pra melhorar:
- Inclua uma senha no prompt que será exposto para aumentar sua segurança. Ela será pedida sempre que a chave for consumida por algum serviço externo (ou apenas aperte enter se não quiser usar uma senha (não recomendo))
- É possível definir qual o algoritmo a ser usado na geração da chave com o parâmetro
-t
. Os valores possíveis são: rsa, dsa, ecdsa e ed25519 (o mais popular ainda é o rsa) - E também dá pra aumentar ainda mais a segurança da chave definindo o seu temanho com o parâmetro
-b
Vamos a um exemplo de criação de chave usando o algoritmo RSA e chave de 4096 bits:
ssh-keygen -t rsa -b 4096
Se quiser gerar a chave com um nome customizado em um diretório de sua escolha, use a opção -f
. Vamos ao mesmo exemplo de novo:
ssh-keygen -f /home/meu_usuario/chave -t rsa -b 4096
Isto irá gerar os arquivos publico e privado que você poderá usar depois.
Indo além
Aqui está o básico do básico. Há diversas outras opções. Caso queira se aprofundar, consulte a página de manual do comando ssh-keygen no Linux com o comando abaixo:
man ssh-keygen