Criando chaves no formato ed25519
de forma semi interativa, com os devidos comentários e separados por serviço:
for i in id_ed25519 github gitlab; do ssh-keygen -t ed25519 -o -a 100 -f $i -C "$(whoami)@$(hostname) - $i"; done;
Explicação:
for i in x y z
- Define o nome das nossas chaves, para cada item aqui ofor
vai repetir os comandos de criação definidos atédone
.ssh-keygen
- Utilitário de geração de chaves do OpenSSH.-t ed25519
- Define o tipo da chave comed25519
.-o -a 100
- Define o número de rounds que a chave irá ter.-f <span class="katex-inline">i
- Gera a chave com o nome definido nofor
.-C "</span>(whoami)@$(hostname) - $i"
- Gera a chave com um comentário, vinculando seu usuário, maquina atual e nome da chave.
NOTA: O
ssh-keygen
irá perguntar se desejar definir uma senha para as chaves em questão.
Alguns serviços mais antigos podem não aceitar uma chave ed25519
, logo rsa
seria a alternativa mais viável, para isso mude o one-liner para algo similar a isso:
ssh-keygen -t rsa -b 4096 -o -a 100 -f $i -C "$(whoami)@$(hostname) - $i"
Além disso, garanta uma senha nas suas chaves, isso permite que a carregue com segurança mesmo em dispositivos não criptografados.
NOTA: Fique atento caso receba o erro de
permission denied
durante uma tentativa de acesso SSH, pode ter a ver com a versão do seu cliente SSH versus o do servidor, ative o modo verbose com-v
, é provável que o erro seja do tipono mutual signature algorithm
(exemplo https://www.ibm.com/support/pages/ibm-aix-sendpubkeytest-no-mutual-signature-algorithm-0)