Como adicionar chaves SSH a um VPS novo ou existente
Ao gerenciar um servidor virtual privado (VPS), a segurança é uma prioridade máxima e uma das maneiras mais seguras de se autenticar em seu servidor é usar chaves SSH. As chaves SSH fornecem um método seguro e sem senha de fazer login no seu servidor utilizando criptografia de chave pública. Este guia o orientará no processo de adição de chaves SSH a ambientes VPS novos e existentes, garantindo uma experiência de login perfeita e segura.
O que são chaves SSH?
As chaves SSH são um par de chaves criptográficas – uma chave pública e uma chave privada – que são usadas para autenticação. A chave pública é armazenada no servidor e a chave privada permanece em seu computador local. Quando você tenta fazer login, o servidor compara a chave pública com a chave privada e, se elas coincidirem, o acesso é concedido sem a necessidade de digitar uma senha. As chaves SSH oferecem um método mais seguro do que as senhas tradicionais, que são suscetíveis a ataques de força bruta.
Por que usar chaves SSH?
- Maior segurança: As chaves SSH usam autenticação criptográfica, que é muito mais segura do que as senhas.
- Autenticação sem senha: Depois que as chaves SSH são configuradas, você pode fazer login no seu VPS sem precisar digitar uma senha.
- Automação: As chaves SSH são ideais para automatizar tarefas como backups, transferências remotas de arquivos e scripts de administração do sistema.
Pré-requisitos
Antes de começarmos, verifique se você tem:
- Acesso a um VPS (novo ou existente).
- SSH instalado em seu computador local (geralmente instalado por padrão no macOS e no Linux).
- Um par de chaves SSH. Se você não tiver uma, veremos como gerá-la.
Adição de chaves SSH a um novo VPS
Se estiver configurando um novo VPS, muitos provedores de hospedagem permitem que você adicione uma chave SSH durante o processo de criação do VPS. Veja como você pode fazer isso:
Etapa 1: Gerar um par de chaves SSH (se você não tiver uma)
Se ainda não tiver um par de chaves SSH, você pode gerar um usando o seguinte comando em seu terminal local (no macOS ou Linux):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Esse comando cria uma nova chave SSH usando uma criptografia RSA de 4096 bits e adiciona seu e-mail como um comentário à chave. Siga as instruções na tela para salvar a chave no local padrão(~/.ssh/id_rsa) e, opcionalmente, adicione uma frase secreta para obter uma camada extra de segurança.
Os arquivos gerados são:
- id_rsa: a chave privada (nunca a compartilhe).
- id_rsa.pub: A chave pública (é o que você carrega em seu VPS).
Para exibir a chave pública, execute o seguinte comando e copie a saída
cat ~/.ssh/id_rsa.pub
Etapa 2: Faça login no seu provedor de VPS
Em primeiro lugar, você precisa fazer login na sua conta VPS. A maioria dos provedores oferece a opção de adicionar uma chave SSH durante a configuração do VPS.
Etapa 3: Criar um novo VPS e adicionar a chave SSH
Durante o processo de criação do VPS:
- Selecione o sistema operacional (geralmente baseado em Linux, como Ubuntu ou CentOS).
- Procure a opção Add SSH Key (Adicionar chave SSH ) ou Authentication Method (Método de autenticação).
- Cole a chave SSH pública (id_rsa.pub) no campo fornecido.
- Conclua a configuração do VPS escolhendo um plano, uma região e outras opções.
Depois que o VPS for criado, ele será automaticamente configurado para permitir o acesso SSH usando sua chave SSH.
Etapa 4: conectar-se ao VPS
Agora que o VPS está configurado com sua chave SSH, você pode se conectar a ele usando o seguinte comando (substitua your_vps_ip pelo endereço IP do VPS):
ssh root@seu_vps_ip
Se tudo estiver configurado corretamente, você terá
logado no seu VPS sem precisar digitar uma senha.
Como adicionar chaves SSH a um VPS existente
Se você já tiver um VPS existente, mas estiver usando atualmente a autenticação baseada em senha, poderá adicionar chaves SSH para proteger futuros logins. Veja como fazer isso:
Etapa 1: Gerar um par de chaves SSH (se necessário)
Se você ainda não gerou um par de chaves SSH, execute o seguinte comando em sua máquina local para criar um:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Copie a chave pública(id_rsa.pub) executando:
cat ~/.ssh/id_rsa.pub
Etapa 2: Faça login no seu VPS
Para adicionar uma chave SSH a um VPS existente, você precisará fazer login usando o método atual (provavelmente com uma senha). Use o seguinte comando para se conectar ao seu VPS (substitua your_vps_ip pelo endereço IP real):
ssh root@seu_vps_ip
Digite sua senha quando solicitado.
Etapa 3: criar o diretório .ssh (se não estiver presente)
Depois de fazer login no seu VPS, verifique se o diretório.ssh existe. Se não existir, crie-o executando os seguintes comandos:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
O diretório .ssh é onde sua chave pública será armazenada.
Etapa 4: Adicionar a chave pública ao arquivo authorized_keys
Em seguida, você precisa adicionar sua chave pública ao arquivo authorized_keys, que é usado pelo SSH para autenticar suas tentativas de login.
- Abra o arquivo authorized_keys (crie-o se ele não existir) usando um editor de texto como o nano:
nano ~/.ssh/authorized_keys
- Cole sua chave SSH pública (copiada do comando cat ~/.ssh/id_rsa.pub ) no arquivo.
- Salve e feche o arquivo pressionando Ctrl X , depois Y e pressione Enter.
- Defina as permissões corretas no arquivo authorized_keys para garantir que ele só possa ser acessado pelo usuário atual:
chmod 600 ~/.ssh/authorized_keys
Etapa 5: testar a autenticação da chave SSH
Depois de adicionar a chave SSH, saia da sessão atual digitando:
exit
Agora, tente fazer login no seu VPS novamente usando SSH:
ssh root@seu_vps_ip
Se a chave tiver sido adicionada com sucesso, você deverá estar conectado sem que seja solicitada uma senha.
Etapa 6: desativar a autenticação por senha (opcional)
Para aumentar a segurança, você pode desativar a autenticação por senha para garantir que somente as chaves SSH possam ser usadas para fazer login. Para fazer isso:
- Abra o arquivo de configuração SSH em seu VPS:
nano /etc/ssh/sshd_config
- Encontre as seguintes linhas e altere-as para:
PasswordAuthentication no
PubkeyAuthentication yes
- Salve o arquivo e reinicie o serviço SSH para aplicar as alterações:
systemctl restart sshd
Isso desativará os logins baseados em senha, permitindo que apenas os usuários com uma chave SSH válida acessem o servidor.
Conclusão
O uso de chaves SSH é uma das maneiras mais eficazes de proteger o acesso ao seu VPS, eliminando a necessidade da autenticação tradicional baseada em senha. Quer esteja configurando um novo VPS ou protegendo um já existente, adicionar chaves SSH é um processo simples que aumenta muito a segurança. Seguindo este guia, você pode configurar facilmente as chaves SSH em seu VPS, automatizar logins seguros e garantir um nível mais alto de proteção para seu servidor e seus dados.