fbpx
Shell

Criando chaves SSH para logar no seu servidor sem senha

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