Como instalar e configurar o SSH
O SSH (Secure Shell) é um protocolo usado para se conectar com segurança a sistemas remotos, executar comandos e transferir dados. Ele fornece um método seguro para administradores de sistemas, desenvolvedores e usuários gerenciarem servidores e outros dispositivos remotamente, usando conexões criptografadas. A instalação e a configuração do SSH são essenciais para o acesso seguro a servidores, seja para fins de administração do sistema, trabalho remoto ou desenvolvimento.
Neste artigo, mostraremos como instalar e configurar o SSH no Linux, abordando os conceitos básicos, as opções de configuração e as recomendações de segurança.
O que é SSH?
SSH significa Secure Shell e permite que os usuários se conectem com segurança a um sistema remoto por meio de uma interface de linha de comando. O protocolo criptografa os dados entre o cliente e o servidor, tornando-o um método seguro de comunicação, especialmente para acessar servidores por meio de uma rede não segura, como a Internet.
O SSH opera na porta 22 por padrão e pode ser usado para:
- Login remoto em servidores
- Transferência segura de arquivos (usando SCP ou SFTP)
- Execução de comandos remotos
- Encaminhamento e tunelamento de portas
Etapa 1: Instalação do SSH
A maioria das distribuições Linux vem com o SSH pré-instalado, mas se ele não estiver instalado, você pode instalá-lo facilmente usando o gerenciador de pacotes da sua distribuição.
Para Ubuntu/Debian:
Para CentOS/RHEL:
Para o Fedora:
Para o Arch Linux:
Após a instalação, você terá o servidor e o cliente OpenSSH instalados, o que lhe permitirá executar um servidor SSH e conectar-se a outros servidores SSH.
Etapa 2: iniciar e habilitar o serviço SSH
Depois de instalado, você precisa iniciar o serviço SSH (também conhecido como sshd – daemon SSH) e permitir que ele seja executado na inicialização do sistema.
Iniciando o serviço SSH:
Habilitando o SSH para iniciar na inicialização:
Você pode verificar se o SSH está sendo executado corretamente digitando:
Se o serviço estiver em execução, você verá um status ativo indicando que o SSH está pronto para aceitar conexões.
Etapa 3: Configuração básica do SSH
O comportamento do SSH é controlado pelo arquivo de configuração localizado em:
Você pode editar esse arquivo para modificar as configurações do SSH, como alterar a porta padrão, desativar o login de root ou configurar a autenticação baseada em chave.
Para editar o arquivo, use um editor de texto como o nano ou o vim:
Algumas alterações comuns na configuração incluem:
1. Alterar a porta SSH padrão
Por motivos de segurança, é uma boa ideia alterar a porta SSH padrão de 22 para outra. Isso ajuda a reduzir o risco de ataques automatizados que têm como alvo a porta SSH padrão.
Localize a seguinte linha no arquivo de configuração:
Descomente-a e altere o número da porta:
Depois de salvar o arquivo, reinicie o serviço SSH para aplicar as alterações:
Certifique-se de atualizar suas regras de firewall para permitir conexões na nova porta.
2. Desativar o login do root
Permitir o login do root via SSH é um risco à segurança. Para evitar isso, localize a seguinte linha no arquivo de configuração:
Altere-a para:
Isso impedirá o acesso direto à raiz via SSH. Os usuários ainda podem fazer login com uma conta normal e depois mudar para root usando sudo ou su.
3. Habilite a autenticação baseada em chave
A autenticação baseada em chave SSH é um método mais seguro do que o uso de senhas. Isso envolve a geração de um par de chaves SSH (chaves pública e privada) e o uso da chave privada para autenticação.
Para aplicar a autenticação baseada em chave, localize as seguintes linhas e verifique se estão definidas como yes:
Isso desativa o login baseado em senha e só permite o acesso SSH por meio de autenticação baseada em chave.
Etapa 4: geração de chaves SSH (autenticação baseada em chave)
Os pares de chaves SSH fornecem uma maneira segura de fazer login sem uma senha. Veja a seguir como gerar e configurar chaves SSH:
Etapa 1: Gerar o par de chaves SSH
Em seu computador local, execute o seguinte comando para gerar um par de chaves:
Será solicitado que você digite um nome de arquivo para salvar a chave (ou pressione Enter para usar o local padrão) e uma frase secreta opcional para maior segurança.
Isso cria dois arquivos:
- ~/.ssh/id_rsa: Sua chave privada (mantenha-a segura e não a compartilhe).
- ~/.ssh/id_rsa.pub: Sua chave pública (ela pode ser compartilhada e adicionada a servidores remotos).
Etapa 2: Copiar a chave pública para o servidor
Para usar a chave para login SSH, copie a chave pública para o servidor remoto que deseja acessar. Você pode fazer isso com o comando ssh-copy-id:
Substitua username pelo nome de usuário do servidor remoto e remote_host pelo endereço IP ou nome do host do servidor.
Isso copiará sua chave pública para o servidor e a adicionará ao arquivo ~/.ssh/authorized_keys, permitindo que você faça login sem uma senha.
Etapa 3: fazer login usando a chave SSH
Agora, você pode fazer login no servidor remoto usando sua chave privada:
Se você tiver definido uma porta personalizada, especifique-a com a opção -p:
Etapa 5: Protegendo sua configuração de SSH
Depois de configurar o SSH, é importante seguir as práticas recomendadas de segurança para garantir que seu servidor esteja protegido contra acesso não autorizado.
1. Use senhas fortes (se estiver usando autenticação por senha)
Se não estiver usando autenticação baseada em chave, certifique-se de que todas as contas de usuário usem senhas fortes e complexas.
2. Use um firewall
Certifique-se de que o firewall do seu servidor permita apenas o tráfego na porta SSH que você está usando. Por exemplo, se você alterou o SSH para a porta 2222, permita o tráfego nessa porta usando o ufw (no Ubuntu/Debian) ou o firewalld (no CentOS/RHEL).
3. Limitar o acesso SSH
Limite o acesso SSH a endereços ou intervalos de IP específicos configurando o firewall ou usando /etc/hosts.allow e /etc/hosts.deny.
Etapa 6: teste e solução de problemas de SSH
Depois de configurar o SSH, é importante testar sua configuração. Tente fazer login usando o SSH para garantir que tudo funcione corretamente.
Dicas comuns de solução de problemas de SSH:
- Verifique as configurações do firewall: Certifique-se de que o firewall não esteja bloqueando a porta SSH.
- Verifique o status do serviço SSH: Certifique-se de que o serviço SSH esteja em execução com systemctl status ssh.
- Verificar a configuração: Verifique novamente o arquivo /etc/ssh/sshd_config para ver se há alguma configuração incorreta.
- Use o modo Verbose para depuração: Se houver problemas, use a opção -v ao se conectar para ver a saída detalhada:
Conclusão
Instalar e configurar o SSH é uma habilidade fundamental para qualquer administrador ou usuário do Linux que precise gerenciar sistemas remotos com segurança. Seguindo este guia, você poderá instalar o SSH, configurá-lo para acesso seguro e implementar as práticas recomendadas para proteger seu servidor contra acesso não autorizado. Uma vez configurado, o SSH se torna uma ferramenta avançada para gerenciamento remoto, automação e comunicação segura entre sistemas.