Aprenda como instalar e configurar o servidor OpenSSH no Linux, ativar o serviço SSH, testar a conexão, configurar o firewall e aumentar a segurança.
O OpenSSH Server é uma das ferramentas mais importantes para quem administra computadores e servidores Linux remotamente.
Com ele, é possível acessar um sistema através de uma conexão segura, executar comandos, transferir arquivos e realizar tarefas administrativas sem precisar estar fisicamente diante da máquina.
Como instalar o OpenSSH no Linux e acessar seu computador remotamente
Neste guia, você verá como instalar o OpenSSH Server no Linux, configurar o serviço SSH, verificar se ele está funcionando e realizar alguns ajustes importantes de segurança.
O procedimento funciona em várias distribuições populares, incluindo Ubuntu, Debian, Linux Mint, Fedora e sistemas baseados no RHEL.
O que é o OpenSSH?
O OpenSSH é uma implementação de código aberto das ferramentas relacionadas ao protocolo SSH, ou Secure Shell. Ele permite estabelecer conexões criptografadas entre computadores através de uma rede.
Diferentemente de protocolos antigos de acesso remoto, o SSH foi projetado para proteger a comunicação e as credenciais utilizadas durante a conexão.
O OpenSSH também inclui ferramentas para transferência de arquivos, tunelamento e autenticação, sendo amplamente utilizado na administração de servidores Linux.
Entre os recursos mais conhecidos estão:
- acesso remoto por terminal;
- autenticação por senha ou chave;
- transferência de arquivos com SCP;
- transferência de arquivos com SFTP;
- encaminhamento de portas;
- X11 Forwarding;
- autenticação baseada em chaves;
- túneis SSH;
- execução remota de comandos.
Qual é a diferença entre SSH e OpenSSH?
É comum encontrar os termos SSH e OpenSSH sendo usados como se fossem exatamente a mesma coisa, mas existe uma diferença.
SSH é o protocolo utilizado para estabelecer uma conexão segura. Já o OpenSSH é um conjunto de programas que implementa esse protocolo e fornece ferramentas para clientes e servidores.
Em um computador que precisa aceitar conexões remotas, o componente responsável pelo servidor normalmente é o sshd.
Já o comando ssh é utilizado pelo cliente para iniciar uma conexão com outro computador.
Antes de instalar o OpenSSH Server
Antes de começar, tenha em mente que ativar um servidor SSH torna possível receber conexões de outros computadores.
Em uma rede local, isso pode ser bastante útil para administrar um PC ou servidor. Em uma máquina exposta à internet, entretanto, é necessário prestar atenção especial ao firewall, autenticação e configuração de acesso.
Se você pretende disponibilizar SSH pela internet, não basta instalar o pacote. Também é recomendável configurar corretamente as regras de firewall e utilizar métodos de autenticação mais seguros.
Como instalar o OpenSSH Server no Ubuntu, Debian e Linux Mint
Em distribuições baseadas em Debian, como Ubuntu, Debian e Linux Mint, a instalação pode ser feita pelo apt.
Abra o Terminal e execute:
sudo apt update
sudo apt install openssh-server
O pacote instala os componentes necessários para transformar o computador em um servidor SSH.
Em uma instalação desktop o pacote openssh-client normalmente já está presente ou pode ser instalado separadamente quando necessário.
Como instalar o OpenSSH Server no Fedora e RHEL
Em distribuições da família Fedora e RHEL, o gerenciador de pacotes utilizado atualmente é o dnf.
Execute:
sudo dnf install openssh-server
Depois da instalação, o serviço SSH precisa estar ativo para aceitar conexões. Ative o serviço com sudo systemctl enable sshd, para que o SSH inicie automaticamente em cada boot.
Para iniciar o serviço agora, use sudo systemctl start sshd. Com isso, seu Fedora/RHEL estará pronto para aceitar conexões remotas via SSH sempre que ligar.
Em versões ou ambientes específicos, o nome do serviço pode ser sshd.
Instalar o OpenSSH no Arch Linux
O pacote oficial do openssh noArch fornece os package.json` ssh, sshd, scp, sftp, ssh-keygen, ssh-copy-id, e ferramentas relacionadas do repositório principal. Não assuma que ele esteja presente em todas as instalações mínimas do Arch.
Primeiro, atualize o sistema. Sincronize o banco de dados de pacotes e atualize os pacotes existentes para evitar conflitos:
sudo pacman -Syu
Instale o pacote com o pacman mais abaixo. Se um comando de outra distribuição mencionar openssh-server, traduza essa intenção para openssh no Arch. O mesmo pacote fornece os componentes de cliente e servidor SSH:
sudo pacman -S openssh
Como verificar se o SSH está funcionando
Em sistemas que utilizam systemd, verifique o estado do serviço com:
sudo systemctl status ssh
Em algumas distribuições, utilize:
sudo systemctl status sshd
Se o serviço estiver funcionando corretamente, o resultado deverá indicar que ele está ativo.
Caso o serviço ainda não esteja iniciado, use:
sudo systemctl start ssh
ou:
sudo systemctl start sshd
Para fazer com que o servidor SSH seja iniciado automaticamente durante o boot:
sudo systemctl enable --now ssh
Em sistemas que usam o nome sshd:
sudo systemctl enable --now sshd
Como descobrir se o SSH está escutando na porta 22
Por padrão, o SSH utiliza a porta TCP 22.
Uma forma prática de verificar se existe um serviço escutando nessa porta é utilizar o comando ss:
sudo ss -tlnp | grep :22
Se o servidor estiver ativo, você deverá encontrar uma entrada indicando que existe um processo aguardando conexões na porta 22.
Outra possibilidade é testar a própria conexão local:
ssh localhost
Na primeira conexão, o SSH poderá solicitar a confirmação da chave do servidor.
Como conectar ao servidor Linux remotamente
Depois que o OpenSSH Server estiver funcionando, você poderá acessá-lo a partir de outro computador.
A estrutura básica do comando é:
ssh usuario@IP_DO_SERVIDOR
Por exemplo:
ssh edivaldo@192.168.1.100
Substitua edivaldo pelo usuário existente no servidor e 192.168.1.100 pelo endereço IP correto da máquina.
Se o servidor estiver configurado para utilizar uma porta diferente da padrão:
ssh -p 2222 usuario@IP_DO_SERVIDOR
Como descobrir o endereço IP do servidor
No Linux, você pode descobrir os endereços de rede usando:
ip addr
Ou obter informações mais resumidas com:
hostname -I
Em uma rede doméstica, normalmente você encontrará um endereço privado como 192.168.x.x ou 10.x.x.x.
Como configurar o firewall para permitir SSH
Se o firewall estiver ativado, ele precisa permitir conexões na porta utilizada pelo SSH.
No Ubuntu, quando o UFW está sendo utilizado, o comando mais simples é:
sudo ufw allow ssh
Depois, verifique as regras:
sudo ufw status
Se você estiver usando uma porta personalizada, por exemplo 2222:
sudo ufw allow 2222/tcp
Atenção: antes de alterar a porta SSH em um servidor remoto, configure o firewall para aceitar a nova porta. Caso contrário, você pode perder o acesso à máquina.
Como alterar a porta padrão do SSH
O SSH utiliza a porta 22 por padrão, mas o administrador pode escolher outra porta.
O arquivo principal de configuração do servidor normalmente fica em:
/etc/ssh/sshd_config
Antes de editar o arquivo, faça uma cópia de segurança:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Abra o arquivo:
sudo nano /etc/ssh/sshd_config
Procure a diretiva:
#Port 22
Você pode definir outra porta, por exemplo:
Port 2222
Antes de reiniciar o serviço, é importante verificar a configuração:
sudo sshd -t
Se nenhum erro for apresentado, reinicie o servidor SSH:
sudo systemctl restart ssh
ou:
sudo systemctl restart sshd
Depois disso, a conexão deverá utilizar a nova porta:
ssh -p 2222 usuario@IP_DO_SERVIDOR
Mudar a porta SSH aumenta a segurança?
Trocar a porta 22 pode reduzir parte do ruído causado por varreduras automatizadas que procuram servidores SSH no número de porta padrão.
Entretanto, isso não deve ser considerado uma proteção de segurança suficiente.
Um servidor configurado na porta 2222 continua sendo um servidor SSH e pode ser descoberto por ferramentas de varredura de portas.
Para melhorar a segurança, é muito mais importante utilizar:
- autenticação por chave SSH;
- senhas fortes;
- firewall;
- atualizações regulares;
- restrição de usuários;
- desativação do login root quando apropriado;
- mecanismos contra tentativas repetidas de login.
Como usar autenticação por chave SSH
A autenticação por chave é uma das formas mais úteis de proteger o acesso SSH.
No computador cliente, gere um par de chaves:
ssh-keygen -t ed25519
Depois, copie a chave pública para o servidor:
ssh-copy-id usuario@IP_DO_SERVIDOR
Após configurar a chave, você poderá autenticar-se sem precisar digitar a senha da conta do servidor em cada conexão, dependendo da configuração adotada.
A chave privada deve permanecer protegida no computador cliente. Nunca compartilhe sua chave privada.
Como desativar o login root pelo SSH
Permitir login direto do usuário root aumenta o impacto de uma credencial comprometida.
Em servidores onde o acesso administrativo é feito por um usuário comum com privilégios via sudo, pode ser interessante desabilitar o login direto do root.
Edite:
sudo nano /etc/ssh/sshd_config
Procure:
PermitRootLogin
E configure conforme a política de segurança desejada, por exemplo:
PermitRootLogin no
Antes de reiniciar:
sudo sshd -t
Depois:
sudo systemctl restart ssh
Tenha sempre uma sessão administrativa já aberta antes de modificar configurações críticas de SSH em um servidor remoto. Isso reduz o risco de ficar bloqueado fora da máquina.
Como adicionar um banner de login
O OpenSSH também permite apresentar uma mensagem antes do login.
Crie ou edite um arquivo de banner:
sudo nano /etc/issue.net
Por exemplo:
Acesso autorizado somente a usuários permitidos.
Depois, no arquivo:
/etc/ssh/sshd_config
adicione:
Banner /etc/issue.net
Verifique a configuração:
sudo sshd -t
E reinicie o serviço:
sudo systemctl restart ssh
Como diagnosticar problemas de conexão SSH
Se a conexão não funcionar, não é necessário começar alterando várias configurações ao mesmo tempo.
Primeiro, verifique o serviço:
sudo systemctl status ssh
Depois confira se a porta está aberta localmente:
sudo ss -tlnp | grep ssh
Verifique o firewall:
sudo ufw status
Também teste a conexão utilizando o modo detalhado do cliente:
ssh -v usuario@IP_DO_SERVIDOR
O parâmetro -v mostra informações adicionais sobre as etapas da conexão e pode ajudar a identificar problemas de autenticação, porta ou rede.
OpenSSH é essencial para administrar servidores Linux
O OpenSSH Server continua sendo uma das ferramentas fundamentais para administração remota de sistemas Linux.
Sua instalação é relativamente simples, mas a configuração merece atenção quando o servidor será acessível por outras redes ou pela internet.
Para começar, basta instalar o pacote openssh-server, ativar o serviço e verificar se a porta SSH está acessível. Depois, medidas como autenticação por chave, firewall, atualizações e restrições de acesso podem tornar o ambiente significativamente mais seguro.
Para quem administra servidores, o SSH vai muito além de simplesmente abrir um terminal remoto: ele também permite transferência de arquivos, túneis, encaminhamento de portas e automação de tarefas.
Por isso, aprender a instalar e configurar o OpenSSH Server no Linux é uma habilidade fundamental para qualquer pessoa que trabalha com servidores, redes ou administração de sistemas.
Key Takeaways
Descubra as etapas essenciais para instalar e configurar o servidor OpenSSH no Linux, garantindo conexões remotas seguras e eficientes.
- Instalação Simplificada: Utilize o gerenciador de pacotes da sua distribuição para instalar rapidamente o OpenSSH Server, como ‘apt install openssh-server’ no Debian/Ubuntu ou ‘yum install openssh-server’ no CentOS.
- Configuração de Segurança: Edite o arquivo sshd_config para definir portas, permitir ou restringir acessos e melhorar a proteção contra ataques.
- Gerenciamento de Serviços: Use comandos como ‘systemctl start ssh’ e ‘systemctl enable ssh’ para ativar e iniciar o serviço OpenSSH automaticamente no boot.
- Autenticação Segura: Prefira autenticação por chave pública ao invés de senha para aumentar a segurança das conexões SSH.
- Verificação de Estado: Cheque o status do serviço SSH com ‘systemctl status ssh’ para garantir que o servidor está operando corretamente.
- Firewall e Portas: Configure regras de firewall para permitir a porta SSH e evitar acessos indesejados, protegendo o servidor contra invasões.
- Monitoramento e Logs: Acompanhe os logs de acesso para identificar tentativas de conexão suspeitas e manter o servidor seguro.
Enfim, manter o servidor OpenSSH configurado adequadamente é fundamental para assegurar comunicações remotas seguras e eficiência no gerenciamento do Linux.
Key Takeaways
- Instalar o OpenSSH Server com o gerenciador da sua distribuição (por exemplo: sudo apt install openssh-server, sudo dnf install openssh-server, sudo pacman -S openssh).
- Ativar, iniciar e verificar o serviço SSH com systemctl (sudo systemctl enable --now ssh/sshd; sudo systemctl status ssh/sshd) e checar se a porta está escutando (sudo ss -tlnp | grep :22 ou ssh localhost).
- Configurar o firewall para permitir a porta SSH (por exemplo sudo ufw allow ssh ou sudo ufw allow 2222/tcp) e sempre ajustar regras antes de mudar a porta para não perder acesso remoto.
- Melhorar a segurança usando autenticação por chave (ssh-keygen; ssh-copy-id), proteger a chave privada e considerar desabilitar login root (PermitRootLogin no) quando apropriado.
- Testar e diagnosticar conexões (sshd -t, ssh -v, checar logs), ajustar /etc/ssh/sshd_config (Port, Banner, restrições) e aplicar atualizações e medidas de hardening para reduzir riscos.