X
    Categorias: Linux

Login automatico com chave ssh no Linux

Aprendendo a criar chaves privadas e autenticar sem senha em servidores Linux

Login automático com ssh no linux

Como estamos na era das famosas VPS, gostaria de deixar para vocês uma forma simples de criar uma conexão automática com seus Servidores Linux.

E também serve para você que administra Servidores Linux e precisa logar remotamente, ou mesmo fazer backup remoto como falaremos em um outro artigo.

Bom, mas isto é possível através de uma chave SSH, que depois você pode acessar pelo WindowsLinux ou Mac.

Com este acesso você tem uma conexão ao terminal do seu servidor de forma simples.

Entendendo o cenário

Você tem uma Máquina Linux com um Servidor SSH, então precisa acessá-la remotamente através de sua estação de trabalho.

Caso não tenha o Servidor SSH instalado em seu Servidor, será necessário instalar – Para distribuições Linux Debian ou Ubuntu (ou outra derivada do Debian) basta o comando:

sudo apt-get install ssh

Do outro lado você tem seu computador, com qualquer sistema operacional, agora precisamos criar as chaves de segurança

Criando o arquivo de chave pública

Criando a chave SSH no Linux ou no macOS

Se sua estação for Linux, poderá criar da seguinte forma no terminal:

ssh-keygen -t rsa -b 4096

Este final -b 4096 é para criar uma chave de 4K, com maior segurança.

Após isto teremos algumas perguntas:

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Primeiramente ele pede a localização para salvar e dá como padrão o /root/.ssh/id_rsa no meu caso. Você não precisa digitar nada, apenas dê o [Enter]

Depois ele pede uma passphrase, que é uma frase de segurança, normalmente deixo esta frase em branco para que o login seja automático, ou seja, dê o [Enter] novamente.

E na parte debaixo é para repetir a frase de segurança, no meu caso em branco, então mais um [Enter]

E o resultado é o abaixo

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:ybMwJKgauibHHywv/InkUkHJnjbGYLoNGHHKkhhuaqc root@computadorseu
The key's randomart image is:
+---[RSA 4096]----+
|.o 4==o |
|xa. ++ . |
|g.=o + |
|==.+ o 1 o +E|
|B o + FF. . ..O|
|.= + . + o . . Oh|
|. + + . . o o|
| . |
| |
+----[SHA256]-----+

Pronto, arquivo criado em /root/.ssh/ . Acesse o diretório

cd /root/.ssh

Copie o arquivo pub para seu servidor:

scp id_rsa.pub root@ip_do_seu_servidor:/home/meucomputador1.pub

Ele irá pedir a senha do seu root no servidor, digite-a

O arquivo será copiado para o local /home

Related Post

Copiando a chave para o Servidor a ser autenticado

Agora acessamos ele para configurar o acesso sem senha.

ssh ip_do_seu_servidor -l root

Neste caso -l root é para acessar com o usuário root, pode acrescentar também o -p [porta] caso seu servidor esteja em outra porta que não seja a 22.

Ao acessar o servidor, vamos na pasta do ssh

cd /root/.ssh

Coloque sua chave pública no authorized_keys desta máquina

cat /home/meucomputador1.pub >> authorized_keys

Para confirmar se está tudo Ok com sua chave, liste o conteúdo do arquivo authorized_keys

cat authorized_keys

No final dele, estará um @nome_do_seu_computador, que identifica o ssh criado.

Pronto. Pode fechar sua conexão com o comando exit e tentar acessar novamente.

Para acessar basta utilizar seu comando de conexão.

ssh ip_do_seu_servidor -l root

Dicas caso seu VPS não aceite a conexão.

Edite seu arquivo de configuração do servidor SSH na VPS.

Normalmente está em /etc/ssh/sshd_config

Preste atenção nas seguintes linhas:

Porta de acesso

#Port 22

Esta é sobre a porta de conexão, caso queira mais segurança, mude esta porta para por exemplo 4422, lembrando que alguns provedores bloqueiam algumas portas, então caso não consiga conexão vale a pena tentar portas mais altas mesmo (entre 2000 e 4000).

Normalmente esta linha Port vem com o # na frente, que significa que a linha está desabilitada, portanto para mudar para a linha 4422 (exemplo) deixe a linha da seguinte forma

Port 4422

Peritir acesso do root

Caso queira liberar o acesso remoto do root, procure pela linha PermitRootLogin

Se ela existir, modifique para

PermitRootLogin yes

Se não existir, simplesmente coloque no final do arquivo.

Mas lembre-se de ter cuidado ao fazer isso, pois este é um acesso à tudo.

Reinicie o serviço ssh

Reinicie o serviço ssh, no caso no debian ou ubuntu:

service ssh restart

Ou reinicie o computador.

Este artigo foi modificado em 13/10/2020 16:58

Artigos relacionados

Este site utiliza cookies