Se você tem um servidor e está sempre revirando arquivo (ou papel) tentando achar a sua senha root, é hora de você trocar o método de autenticação pelas chaves SSH.
É mais ou menos como se você precisasse apenas da presença de duas pessoas para abrir um cofre – depois de tudo configurado, claro.
1 – Chave RSA
No seu terminal do Linux – ou usando o Putty no Windows – digite:
ssh-keygen -t rsa
Em seguida, ele pede o lugar onde você deseja armazenar as chaves:
Enter file in which to save the key (/home/usuario/.ssh/id_rsa):
Apenas pressione enter para salvar no diretório indicado pelo terminal.
Depois disso, lhe será pedido uma senha, que é opcional, e a confirmação da mesma. Caso decida usar uma senha, ela será solicitada sempre que você for logar no servidor. Se preferir não usar, basta pressionar enter para continuar.
Pronto, agora que a chave foi gerada, você deve ver algo como:
Your identification has been saved in /home/usuario/.ssh/id_rsa. # Your public key has been saved in /home/usuario/.ssh/id_rsa.pub. # The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db
2 – Copiando a chave pro servidor
Precisamos agora informar o servidor da sua nova chave. Então, no terminal, digite:
ssh-copy-id usuario@123.45.56.78 (IP do servidor)
Geralmente, o usuário é root. Será solicitada a senha do usuário para autenticação. Informe a senha e tecle enter.
No terminal, aparecerá uma mensagem informando da solicitação de cópia de chave, perguntando se você quer continuar. Digite yes e tecle enter.
3 – Testando a autenticação
Para ver se tudo deu certo, teste a conexão:
ssh usuario@123.45.56.78
Se você conseguir acessar o seu servidor, está tudo ok.
4 – Replicando a configuração
Para quem tem mais de um servidor, só é preciso repetir o passo 2, que é a cópia da chave para o servidor.
Sugestões
Em termos de segurança, é recomendado que se desabilite o acesso root ao servidor via shell com senha. Para fazer isso, mantendo apenas a autenticação via chave, digite (no seu servidor):
sudo nano /etc/ssh/sshd_config
Use Control+W para procurar por:
PermitRootLogin
E altere para:
PermitRootLogin without-password
Salve as alterações (Control+O) e saia (Control+X).
Faça as novas alterações valerem recarregando o SSH:
reload ssh