Se você precisa de segurança extra em um servidor Linux/Debian, e você sempre precisa, lá vai uma dica de ouro, desative acesso SSH por meio de senhas, assim você evitará qualquer ataque do tipo força bruta, vamos a prática.
No servidor
Crie um par de chaves SSH;
ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Tecle enter para confirmar;
Created directory '/home/pi/.ssh'.
Crie uma senha para sua chave SSH e confirme;
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
A chave foi gerada com sucesso, veja o resultado abaixo;
The key fingerprint is:
SHA256:oVHrP/nGj3umYFkKRvnC/SKk8nSgHmeZ/OTUAQS+gvs pi@raspberrypi
The key's randomart image is:
+---[RSA 4096]----+
| ..o |
| . o o |
| o * |
| . B = |
| . . + S + . |
| . + B = B |
| . + O = @.. |
| o B * o =o.o |
| E . o .=*. |
+----[SHA256]-----+
Chaves SSH ficam salvas na pasta oculta .ssh
na raiz do seu usuário Linux, no meu caso estão em:
/home/pi/.ssh
Digitando o comando ls
dá pra ver o seu par de chaves(pública, privada), do lado do servidor o trabalho está terminado.
id_rsa id_rsa.pub
No cliente
Autorize a sua máquina cliente a se conectar ao servidor sem precisar digitar uma senha, para isso vamos copiar a chave pública do cliente para dentro do servidor, e autorizar o acesso, basta um simples comando pra isso:
cat ~/.ssh/id_rsa.pub | ssh pi@192.168.15.2 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
Na próxima etapa digite yes
, assim você está informando que reconhece o servidor;
The authenticity of host '192.168.15.2 (192.168.15.2)' can't be established.
ECDSA key fingerprint is SHA256:g1gtgJgDd24rXR0KJTTBjdLUI+SX829GTwQ1CYgVCiQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Warning: Permanently added '192.168.15.2' (ECDSA) to the list of known hosts.
Neste momento um arquivo chamado .ssh/authorized_keys
será criado no servidor, esse arquivo tem a chave pública do cliente, indicando assim que o mesmo possui autorização de acesso ao servidor.
Digite a senha do servidor;
pi@192.168.15.2's password:
Conecte-se ao servidor;
ssh <USERNAME>@<IP-ADDRESS>
No meu caso o comando será;
ssh pi@192.168.15.2
Pra mim a mensagem de boas-vindas foi a seguinte:
Linux raspberrypi 5.4.83-v7+ #1379 SMP Mon Dec 13 20:08:57 GMT 2020 armv7l
Passo final, o "pulo do gato"
O último passo é desativar a autenticação por senha no servidor, para isso basta editar o arquivo com as configurações de ssh no servidor, use o comando:
sudo nano /etc/ssh/sshd_config
O arquivo será aberto e estará pronto para edição, apenas procure o seguinte trecho:
#PasswordAuthentication yes
Edite o trecho removendo o comentário #
deixando assim:
PasswordAuthentication no
Reinicie o servidor
sudo reboot
Tudo certo, a partir de agora você não precisa mais digitar senhas para ter acesso ao servidor, e ainda garante que apenas acessos via SSH e autorizados serão aceitos, desta forma a segurança está garantida no seu servidor
Top comments (0)