JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar um servidor SSH no Debian

Editado 5 dias atrás por ExtremeHow Equipe Editorial

DebianSSHRedesSegurançaAcesso RemotoLinuxServidorCódigo AbertoAdministração de SistemasInterface de Linha de Comando

Como configurar um servidor SSH no Debian

Tradução atualizada 5 dias atrás

Secure Shell (SSH) é um protocolo de rede popular que permite conexões seguras em redes não seguras. SSH fornece uma maneira segura de acessar computadores remotos e é essencial para administradores de sistemas. Configurar um servidor SSH no Debian é um processo simples, e este guia abrangente irá orientá-lo através das etapas para configurar efetivamente um servidor SSH. Cobriremos instalação, configuração, práticas de segurança e solução de problemas, além de fornecer exemplos e explicações. Este guia assume que você possui um entendimento básico do terminal e privilégios de superusuário (root) no seu sistema Debian.

1. Entendendo o SSH e sua importância

SSH significa Secure Shell e é usado para conectar-se a máquinas remotas de maneira segura. Ele substitui protocolos mais antigos como Telnet e FTP, que não são seguros, pois transmitem dados, incluindo senhas, de forma não criptografada. SSH criptografa a sessão, tornando-a ilegível para qualquer entidade interferente. Essa criptografia garante a segurança e a confidencialidade da transmissão de dados entre o cliente e o servidor. SSH opera na porta 22 por padrão e fornece tanto autenticação quanto interface de linha de comando para comunicação segura.

2. Preparando o sistema Debian

Antes de configurar o servidor SSH, é importante garantir que seu sistema Debian esteja atualizado para evitar conflitos ou problemas durante a instalação mais tarde. Faça login no seu servidor Debian com privilégios de superusuário e siga estas etapas:

sudo apt update
sudo apt upgrade

Os comandos acima obterão as informações mais recentes sobre os pacotes disponíveis e, em seguida, atualizarão os pacotes para a versão mais recente. Isso garante que todos os pré-requisitos para a instalação do servidor SSH estejam presentes.

3. Instalando o servidor OpenSSH

No Debian, o pacote OpenSSH fornece um servidor e cliente SSH. Para instalar o pacote do servidor OpenSSH, execute o seguinte comando:

sudo apt install -y openssh-server

A opção -y responde automaticamente 'sim' a todos os prompts, permitindo uma instalação não interativa. A instalação do servidor OpenSSH começará automaticamente e será ativada após a conclusão.

4. Verificando o serviço SSH

Após a instalação, é importante confirmar que o serviço SSH está sendo executado como esperado. Para verificar o status do serviço SSH, use o seguinte comando:

sudo systemctl status ssh

A saída deve indicar que o serviço está ativo e em execução. Se não estiver, você pode iniciar o serviço SSH da seguinte forma:

sudo systemctl start ssh

Além disso, para garantir que o serviço SSH seja iniciado após uma reinicialização, ative-o:

sudo systemctl enable ssh

5. Configuração básica do SSH

O arquivo de configuração do servidor SSH está localizado em /etc/ssh/sshd_config. É recomendável criar um backup do arquivo original antes de fazer alterações:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Edite o arquivo de configuração com seu editor de texto favorito, como nano ou vim:

sudo nano /etc/ssh/sshd_config

Algumas configurações recomendadas são as seguintes:

Após fazer as alterações, salve o arquivo e saia do editor. Para aplicar as mudanças, reinicie o serviço SSH:

sudo systemctl restart ssh

6. Configurando autenticação baseada em chave SSH

As chaves SSH fornecem uma maneira mais segura de fazer login em um servidor SSH do que usar uma senha. As chaves SSH são essencialmente dois arquivos: uma chave pública e uma chave privada. A chave privada fica na sua máquina e deve ser mantida segura, enquanto a chave pública é mantida no servidor. Veja como configurar a autenticação baseada em chave SSH:

6.1. Gerando um par de chaves SSH

Na máquina cliente (sua máquina local), gere chaves SSH usando o seguinte:

ssh-keygen -t rsa -b 4096

Este comando gera um par de chaves RSA de 4096 bits. Você será solicitado a inserir um nome de arquivo para salvar as chaves. Pressione enter para armazená-las no local padrão (~/.ssh/id_rsa para chave privada e ~/.ssh/id_rsa.pub para chave pública).

6.2. Copiando a chave pública para o servidor

Envie a chave pública para o servidor Debian usando o comando ssh-copy-id. Substitua user e server_ip pelo seu nome de usuário e pelo endereço IP do servidor, respectivamente:

ssh-copy-id user@server_ip

Ele pedirá sua senha do servidor. Depois de inserida, ele copiará a chave pública para o ~/.ssh/authorized_keys do servidor e configurará as permissões apropriadas.

6.3. Verificando a autenticação baseada em chave SSH

Teste a conexão SSH para confirmar que a autenticação baseada em chave funciona. Execute:

ssh user@server_ip

Se for bem-sucedido, você será conectado sem um prompt de senha, indicando a autenticação baseada em chave correta. Se estiver confiante de que a autenticação baseada em chave está funcionando, você pode agora desabilitar a autenticação por senha em /etc/ssh/sshd_config definindo PasswordAuthentication no.

7. Melhorando a segurança do SSH

Melhorar a segurança do servidor SSH envolve configurar definições que reduzem riscos potenciais. Aqui estão várias etapas para proteger ainda mais seu servidor SSH:

7.1. Limitando o acesso de usuários

Use as diretivas AllowUsers ou AllowGroups em sshd_config para determinar quais usuários podem fazer login via SSH. Por exemplo, para permitir apenas que user1 e user2 façam login via SSH, adicione:

AllowUsers user1 user2

7.2. Desativando o SSH Protocolo 1

O protocolo SSH 1 é obsoleto e possui vulnerabilidades. Sempre use o protocolo 2:

Protocol 2

7.3. Controlando o acesso SSH com um firewall

Defina regras de firewall para permitir acesso SSH apenas a partir de endereços IP confiáveis. Com ufw, adicione uma regra assim:

sudo ufw allow from trusted_ip to any port ssh

7.4. Configurando o Fail2Ban

O Fail2Ban é um software de prevenção de intrusões que ajuda a proteger seu servidor contra ataques de força bruta. Instale-o assim:

sudo apt install fail2ban

Por padrão, ele se configura automaticamente para proteger o SSH. Certifique-se de que ele está funcionando e habilitado:

sudo systemctl start fail2ban
sudo systemctl enable fail2ban

8. Solucionando problemas comuns do SSH

Não é incomum encontrar problemas com o SSH. Abaixo estão alguns problemas comuns e suas possíveis soluções.

8.1. Conexão SSH recusada

Se você receber um erro de 'Conexão recusada', o serviço SSH pode não estar em execução, ou um firewall pode estar bloqueando a conexão. Verifique se o SSH está ativado:

sudo systemctl status ssh

Certifique-se de que seu firewall está configurado para permitir conexões na porta SSH 22 ou na porta que você configurou.

8.2. Falhas de autenticação

Se você não conseguir autenticar, verifique suas permissões. Certifique-se de que authorized_keys existe, é legível e é de propriedade do usuário.

chmod 600 ~/.ssh/authorized_keys
chown user:user ~/.ssh/authorized_keys

O servidor SSH registra informações mais detalhadas em /var/log/auth.log. Inspecionar esse arquivo muitas vezes ajuda a diagnosticar problemas.

Conclusão

Configurar um servidor SSH no Debian é uma tarefa essencial para garantir a administração remota segura do seu sistema. Este guia cobre os aspectos importantes da configuração do SSH, focando na instalação, configuração e segurança do seu servidor SSH contra acessos não autorizados. Mantenha sempre seu servidor atualizado, limite os privilégios dos usuários e implemente medidas de segurança, como firewalls e sistemas de prevenção de intrusão, para fortalecer a segurança do seu servidor. Práticas adequadas de segurança do SSH são fundamentais para manter um ambiente servidor seguro, eficiente e confiável.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários