Capítulo 2 · 2.3
Colocar a sua chave no servidor e testá-la
Já colou uma chave durante a instalação? Nesse caso, ela já está no servidor para o root. Caso contrário, coloque-a agora. Faça isto para cada utilizador que deva iniciar sessão com uma chave.
A partir de um Mac ou Linux
ssh-copy-id root@203.0.113.10
Escreve a palavra-passe do servidor uma única vez. O programa coloca a sua chave pública no ficheiro ~/.ssh/authorized_keys no servidor e define corretamente as permissões.
A partir do Windows
No Windows, o ssh-copy-id não existe. No PowerShell, faz o mesmo com uma única linha:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Manualmente
Também pode colocar a linha no ficheiro por si próprio, por exemplo através da consola. Abra o ficheiro com o editor nano, cole a linha e guarde com Ctrl+O e Enter; feche com Ctrl+X:
root@web1:~# mkdir -p ~/.ssh && chmod 700 ~/.ssh
root@web1:~# nano ~/.ssh/authorized_keys
root@web1:~# chmod 600 ~/.ssh/authorized_keys
Uma chave por linha. As permissões são importantes: se a pasta ou o ficheiro puderem ser alterados por outros, o servidor SSH ignora a sua chave.
Testar
Abra uma nova janela de terminal e inicie sessão. Pode até obrigar a que seja tentada apenas a chave:
ssh -o PreferredAuthentications=publickey root@203.0.113.10
Se conseguir entrar sem a palavra-passe do servidor (quando muito, com a sua frase de acesso), a sua chave funciona. Só então avance para Desativar o início de sessão com palavra-passe e como root.
Remover uma chave
Perdeu um portátil ou um colega saiu da empresa? Abra ~/.ssh/authorized_keys e elimine a linha com o nome dessa chave (a parte a seguir ao código longo, como anna laptop). A alteração aplica-se de imediato às novas ligações.
