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 Windows, Linux ou Mac.
Com este acesso você tem uma conexão ao terminal do seu servidor de forma simples.
Sumário
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
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.