Capítulo 2 · 2.2
Criar uma chave SSH no Windows, Mac e Linux
Uma chave SSH é mais segura e mais prática do que uma palavra-passe. É composta por duas partes:
- a chave privada, que fica no seu próprio computador e que não partilha com ninguém, nem connosco;
- a chave pública, o ficheiro que termina em
.pub. É esta que coloca no seu servidor.
Criar a chave
O comando é igual no Windows, no Mac e no Linux. Abra um terminal (no Windows, o PowerShell ou o Terminal) e escreva:
ssh-keygen -t ed25519 -C "anna laptop"
- Prima Enter quando lhe for perguntado onde guardar a chave. Assim, fica no local predefinido.
- Escolha uma passphrase: uma frase-passe que protege a sua chave se alguém se apoderar do seu portátil. Escreva-a duas vezes.
Com -C dá à chave um nome reconhecível. Assim, verá mais tarde no servidor que chave pertence a que dispositivo. Crie uma chave própria para cada dispositivo; se perder o portátil, basta remover essa chave.
Onde está a sua chave?
| Computador | Chave privada | Chave pública |
|---|---|---|
| Windows | C:\Users\jouwnaam\.ssh\id_ed25519 | C:\Users\jouwnaam\.ssh\id_ed25519.pub |
| Mac e Linux | ~/.ssh/id_ed25519 | ~/.ssh/id_ed25519.pub |
Para ver a sua chave pública, utilize:
cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK0vU3kQ1yQh7j3mEXAMPLEcDqzX1o2p3R4tY5uV6wZ anna laptop
No Windows, cat também funciona no PowerShell, com cat $env:USERPROFILE\.ssh\id_ed25519.pub. Copie essa única linha. Cole-a durante a instalação no ecrã do VPS (consulte Instalar o seu VPS: sistema operativo, palavra-passe e chave SSH) ou coloque-a num servidor em funcionamento (consulte Colocar a sua chave no servidor e testá-la).
Não escrever sempre a passphrase
Com o ssh-agent, escreve a sua passphrase apenas uma vez por sessão.
- Mac: o agente já está em execução. Adicione a sua chave com
ssh-add --apple-use-keychain ~/.ssh/id_ed25519; o seu porta-chaves memoriza então a passphrase. - Linux: na maioria dos ambientes de trabalho, o agente já está em execução. Adicione a sua chave com
ssh-add. - Windows: o serviço ssh-agent está desativado por predefinição. Ative-o uma vez no PowerShell como administrador:
Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519
Atenção: A sua chave privada é tão secreta como uma palavra-passe. Nunca a envie por e-mail ou chat, não a coloque numa pasta partilhada e nunca a cole num formulário. No servidor deve estar apenas o ficheiro com .pub.
