Linux local — chave para o GitHub (ed25519)
echo -n "Email do Git: "
read SSH_EMAIL
ssh-keygen -t ed25519 -C "$SSH_EMAIL" -N "" -f "$HOME/.ssh/id_ed25519" && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/id_ed25519
Cadastre a chave pública no GitHub (Settings → SSH Keys):
cat ~/.ssh/id_ed25519.pub
Configure o host e teste a conexão:
echo -e "Host github\n User git\n HostName github.com\n IdentityFile ~/.ssh/id_ed25519" >> ~/.ssh/config
ssh -T git@github.com
Linux servidor — chave de acesso (rsa 4096)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/nome_da_chave && eval "$(ssh-agent -s)" && ssh-add ~/.ssh/nome_da_chave
Sem o nome do usuário do pc no comentário da chave:
ssh-keygen -t rsa -b 4096 -C "" -f "$HOME/.ssh/nome_da_chave" && eval "$(ssh-agent -s)" && ssh-add "$HOME/.ssh/nome_da_chave"
Configure o host do servidor e conecte:
echo -e "Host nomeDoServidor\n HostName 100.100.100.100\n IdentityFile ~/.ssh/nome_da_chave" >> ~/.ssh/config
ssh nomeDoServidor
Windows (PowerShell)
ssh-keygen -t rsa -b 4096 -f "C:\Users\$env:USERNAME\.ssh\nome_da_chave"
Sem o nome do usuário do pc no comentário da chave:
ssh-keygen -t rsa -b 4096 -C "" -f "C:\Users\$env:USERNAME\.ssh\nome_da_chave"