Como configurar Chaves SSH

As chaves SSH permitem você efetuar o login em um servidor virtual privado com SSH de maneira mais segura do que com a utilização de senha. Enquanto uma senha pode, eventualmente, ser quebrada com um ataque de brute-force, chaves SSH são quase impossíveis de ser quebradas por este tipo de ataque. Ao gerar um par de chaves, você verá duas longas seqüências de caracteres: uma chave pública e uma chave privada. Você pode colocar a chave pública em qualquer servidor, e acessá-lo somente com o comando ssh seu_usuario@servidor.com. Quando combinadas as chaves (pública e privada), o sistema é acessado sem a necessidade de uma senha. Você pode aumentar ainda mais a segurança, protegendo a chave privada com uma senha.

Nos próximos passos iremos abortar sobre como configurar chaves SSH.

Primeiro passo – Criar um par de chaves RSA

O primeiro passo é criar um par de chaves na máquina cliente (geralmente, no seu computador):

ssh-keygen -t rsa

Segundo passo – Armazenar as Chaves e a Senha-Frase

Depois de ter introduzido o comando Key Gen, você vai terá que responder algumas perguntas:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

Você pode pressionar ENTER aqui, salvando o arquivo para a home do usuário (no meu exemplo, chamei o usuário de demo).

Enter passphrase (empty for no passphrase):

Cabe a você querer usar uma senha ou não. Introduzir uma senha tem suas vantagens: a segurança de uma chave, não importa o quão criptografado, ainda depende do fato dela não estar visível para qualquer pessoa. No caso de perda de uma chave privada protegida por senha, usuários não autorizados não serão capazes de fazer login em suas contas associadas, a menos que descubram sua senha. A única desvantagem de ter uma senha, é de ter que digitá-la cada vez quiser usar as chaves.

O processo de geração de chave se parece com isso:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

Feito isso, a chave pública poderá ser localizada em /home/demo/.ssh/id_rsa.pub. A chave privada (chave de identificação) poderá ser encontrada em /home/demo/.ssh/id_rsa

Terceiro passo – Copie a chave pública

Uma vez que o par de chaves é gerado, é hora de colocar a chave pública no servidor virtual que pretende utilizar.

Você pode copiar a chave pública em arquivo authorized_keys da nova máquina com o comando ssh-copy-id. Certifique-se de substituir o nome de usuário e endereço de IP no exemplo abaixo.

ssh-copy-id demo@123.45.56.78

Alternativamente, você pode colar nas chaves usando SSH:

cat ~/.ssh/id_rsa.pub | ssh demo@123.45.56.78 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

Não importa qual o comando escolhido, você deve ver algo como:

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
demo@12.34.56.78's password: 
Now try logging into the machine, with "ssh 'demo@12.34.56.78'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Pronto, agora você pode fazer login no demo@12.34.56.78 e você não será solicitado entrar com uma senha, a menos que você tenha definido uma senha no passo anterior.

Quarto passo (opcional) – Desativar a senha de login do usuário Root

Depois de ter copiado suas chaves SSH até o seu servidor e tiver certeza que só você tem as chaves SSH, você pode ir em frente e restringir o login root para ser permitida apenas via chaves SSH, ou seja, você só poderá acessar o seu servidor com suas chaves SSH.

Para fazer isso, abra o arquivo de configuração do SSH:

sudo nano /etc/ssh/sshd_config

Dentro desse arquivo, encontre a linha que inclui PermitRootLogin e modifique para garantir que somente usuários podem se conectar com a sua chave SSH:

PermitRootLogin without-password

Coloque as alterações em vigor:

reload ssh

Pronto!

Digital Ocean – Servidores / VPS a partir de 5$

Para você que pretende ter um servidor estável e com baixo custo, recomendamos você utilizar os serviços da Digital Ocean, eles oferecem VPS a partir de 5$, no Brasil não tem nada perto desse valor, muito bom, vale a pena testar, e o atendimento do suporte técnico é incrível. No primeiro mês você ganha 10$ para testar.

Login



Esqueceu sua senha?
X

Crie seu site!



.wime.com.br

X