Conectar a um servidor remoto Linux por meio do SSH (Secure Shell) é uma das formas mais seguras e eficientes de administrar sistemas de forma remota.
Neste artigo, vamos explorar, passo a passo, o que é necessário para estabelecer uma conexão SSH em um ambiente Linux, como configurá-la e como criar as chaves de segurança necessárias para proteger as suas comunicações.
Sintaxe do comando SSH no Linux
A sintaxe básica do comando SSH para estabelecer uma conexão remota é bem simples. Veja um exemplo de como o comando pode ser utilizado:
-
-
ssh usuario@ip_do_servidor
-
No comando acima, você deve substituir “usuario” pelo nome de usuário do servidor remoto e “ip_do_servidor” pelo endereço IP ou pelo nome de domínio do servidor ao qual deseja se conectar.
Após digitar o comando, você deverá inserir a senha de autenticação, caso utilize a autenticação por senha.
Se tudo estiver correto, a conexão será estabelecida e você terá acesso ao terminal remoto do servidor.
Pré-requisitos para conectar ao servidor remoto com SSH
Antes de tentar conectar a um servidor remoto Linux via SSH, alguns pré-requisitos precisam ser atendidos. Certifique-se de que:
-
- O servidor remoto tem o SSH instalado e configurado corretamente;
- Você tenha acesso ao servidor com permissões adequadas (geralmente, permissões de um usuário com privilégios administrativos);
- A porta do SSH está aberta e acessível (por padrão, a porta 22).
Se o servidor remoto não estiver configurado para aceitar conexões SSH, você precisará garantir que o SSH esteja habilitado e que o firewall permita a comunicação pela porta correta.
Como instalar o componente SSH no Linux?
Em muitos sistemas Linux, o cliente SSH já está instalado por padrão. Caso não esteja, a instalação pode ser realizada facilmente com o seguinte comando:
sudo apt-get install openssh-client.
Para instalar o servidor SSH em um sistema Linux, caso o mesmo precise aceitar conexões remotas, o comando é:
sudo apt-get install openssh-server.
Após a instalação, você pode verificar se o serviço SSH está em execução:
sudo systemctl status ssh.
Isso mostrará o status do serviço SSH. Se o serviço não estiver em execução, você pode iniciar com:
sudo systemctl start ssh.
Como configurar o SSH?
A configuração do SSH no servidor Linux é feita principalmente por meio do arquivo de configuração
/etc/ssh/sshd _config.
Esse arquivo permite que você configure opções como a porta do SSH, o tipo de autenticação e outras políticas de segurança.
Veja, a seguir, algumas das configurações essenciais.
Porta SSH Linux
O SSH, por padrão, usa a porta 22. No entanto, por questões de segurança, pode-se alterar essa porta para um número não convencional, o que dificulta ataques automatizados.
Para mudar a porta, abra o arquivo de configuração e altere a linha: Port 22.
Para, por exemplo, a porta 2222: Port 2222.
Permitir ou negar login root
Para aumentar a segurança, recomenda-se desabilitar o login direto do usuário root. Para isso:
-
- Altere a configuração PermitRootLogin para no: PermitRootLogin no.
Após modificar as configurações, reinicie o serviço SSH com o comando:
sudo systemctl restart ssh.
Como usar o SSH para se conectar a um servidor remoto Linux?
Agora que o SSH está configurado e funciona corretamente no servidor, você pode se conectar ao servidor remoto com um simples comando no terminal:
-
-
ssh usuario@ip_do_servidor
-
Caso tenha mudado a porta, por exemplo, para 2222, o comando para se conectar será:
-
-
ssh -p 2222 usuario@ip_do_servidor
-
O SSH solicitará a senha do usuário no servidor remoto (a menos que você tenha configurado autenticação por chave).
Após a autenticação, você terá acesso completo ao terminal do servidor e, assim, poderá executar comandos Linux e realizar tarefas administrativas.
Como criar chaves SSH?
Para aumentar a segurança e evitar o uso de senhas, uma boa prática é usar autenticação baseada em chaves SSH. As chaves SSH consistem em um par de chaves criptográficas: uma pública e uma privada.
Para começar a utilizar essa autenticação, é necessário cadastrar a chave SSH no servidor. Você deve copiar a chave pública para o diretório adequado no servidor remoto, o que permitirá o acesso sem a necessidade de inserir a senha.
Para criar um par de chaves SSH, utilize o comando:
-
-
ssh-keygen: ssh-keygen -t rsa -b 4096
-
Esse comando cria uma chave RSA de 4096 bits, considerada segura.
O sistema vai pedir para você informar o caminho para salvar a chave — por padrão, será salvo em: ~/.ssh/id_rsa.
Transferir uma chave pública para o servidor
Depois de criar a chave pública, você precisa transferi-la para o servidor remoto para permitir que o SSH confirme sua identidade sem precisar de senha. Para transferir a chave, use o comando:
-
-
ssh-copy-id: ssh-copy-id usuario@ip_do_servidor
-
Esse comando copiará a chave pública para o servidor remoto, no diretório ~/.ssh/authorized_keys do usuário especificado.
Desativar a autenticação por senha
Para aumentar a segurança, você pode desativar a autenticação por senha no servidor e permitir apenas o login via chave SSH.
Para isso:
-
- Edite o arquivo de configuração do SSH (/etc/ssh/sshd_config) e altere a linha: PasswordAuthentication no;
- Depois de salvar o arquivo, reinicie o serviço SSH para aplicar a mudança:
sudo systemctl restart ssh.
A partir de agora, o servidor aceitará apenas conexões SSH via chaves.
Técnicas de encriptação usadas pelo SSH
O SSH utiliza criptografia para garantir que os dados transmitidos entre cliente e servidor sejam seguros.
A principal técnica de criptografia utilizada é a criptografia simétrica, que usa uma chave compartilhada entre cliente e servidor para criptografar e descriptografar os dados.
Além disso, o SSH utiliza autenticação de chave pública para garantir que ambas as partes (cliente e servidor) sejam quem alegam ser. Isso impede ataques do tipo “man-in-the-middle”, em que uma pessoa invasora poderia interceptar as comunicações.
Perguntas frequentes de como usar o SSH para conectar em um servidor remoto
O que é SSH?
SSH (Secure Shell) é um protocolo de rede criptografado usado para acessar e administrar servidores remotamente de forma segura. Ele substitui métodos antigos, como o Telnet, que não forneciam criptografia e eram vulneráveis a ataques.
Para que serve SSH?
O SSH serve para conectar e administrar sistemas remotos de forma segura por meio do fornecimento de uma interface de terminal criptografada.
Ele é amplamente utilizado por times de desenvolvimento e de administração de sistemas para controlar servidores, transferir arquivos e realizar outras tarefas administrativas.
Qual é a porta do SSH?
Por padrão, o SSH utiliza a porta 22 para as conexões. No entanto, é possível configurá-la para um número diferente para melhorar a segurança, como discutido anteriormente.
Como funciona a autenticação no SSH?
A autenticação no SSH pode ser feita de duas formas principais: por senha ou por chave pública.
Quando você se conecta a um servidor, pode ser solicitada a inserção de uma senha de usuário. No entanto, a autenticação por chave SSH é mais segura, pois envolve o uso de um par de chaves criptográficas (pública e privada) para garantir que apenas você (a pessoa proprietária da chave privada) possa acessar o servidor.
A chave pública é armazenada no servidor, enquanto a chave privada permanece com você, o que protege a conexão.
Posso usar SSH em qualquer tipo de servidor?
Sim, o SSH pode ser usado para conectar a qualquer servidor que tenha o serviço SSH instalado e configurado corretamente. Isso inclui servidores VPS, servidores dedicados e até sistemas em nuvem.
Porém, o servidor precisa permitir conexões SSH por meio da porta configurada, geralmente, a porta 22 ou uma porta personalizada caso tenha sido alterada.
O que fazer caso eu me esqueça da senha do SSH?
Se você esquecer a senha do SSH, a solução depende do tipo de acesso que você possui. Se você utilizar autenticação por senha, será necessário ter acesso físico ao servidor ou a uma conta com permissões administrativas para redefinir a senha.
Se utilizar chaves SSH para autenticação, não será possível se conectar sem a chave privada. Nesse caso, se você não tiver a chave, poderá precisar de acesso ao servidor para reconfigurar as permissões ou restaurar a chave pública.
Conclusão
Conectar a um servidor remoto Linux com SSH é uma tarefa essencial para quem administra servidores ou sistemas de rede. Com o SSH, é possível garantir uma comunicação segura e eficiente, seja para acessar servidores VPS ou máquinas em uma rede local.
Por meio da configuração correta do SSH, o uso de chaves SSH e a aplicação das boas práticas de segurança, você pode certificar que as suas conexões sejam seguras e que os dados transmitidos estejam protegidos contra ataques externos.
Quer saber mais sobre Linux? Leia o nosso conteúdo com os 60 principais comandos do sistema operacional.