Pesquisa de site

Como instalar e configurar o servidor OpenSSH no Linux


Ser administrador de rede requer profundo conhecimento de protocolos de login remoto, como rlogin, telnet e ssh. O que discutirei neste artigo é o ssh.

SSH é um protocolo remoto seguro usado para trabalhar remotamente em outras máquinas ou transferir dados entre computadores usando o comando SCP (Secure Copy). Mas, o que é OpenSSH e como instalá-lo em sua distribuição Linux?

O que é OpenSSH?

OpenSSH é um conjunto gratuito de ferramentas de computador de código aberto usado para fornecer comunicação segura e criptografada em uma rede de computadores usando o protocolo ssh. Muitas pessoas, novas em computadores e protocolos, criam uma ideia errada sobre o OpenSSH, pensam que é um protocolo, mas não é, é um conjunto de programas de computador que utilizam o protocolo ssh.

OpenSSH é desenvolvido pelo grupo Open BSD e é lançado sob uma Licença BSD Simplificada. Um fator principal que tornou possível que o OpenSSH fosse tão usado entre os administradores de sistema é sua capacidade multiplataforma e seus recursos muito úteis.

A versão mais recente é o OpenSSH 9.3, que foi lançada em 15 de março de 2023 e vem com muitos novos recursos e patches, portanto, se você já usa o OpenSSH para administrar suas máquinas, sugiro que você faça uma atualização ou instale o ssh da fonte.

Por que usar OpenSSH em Telnet ou FTP?

A razão mais importante pela qual se deve usar ferramentas OpenSSH sobre ftp e Telnet é que todas as comunicações e credenciais de usuário usando OpenSSH > são criptografados e também protegidos contra ataques man-in-middle. Se um terceiro tentar interceptar sua conexão, o OpenSSH detecta e informa você sobre isso.

Recursos do OpenSSH

  • Comunicação segura
  • Criptografia forte (3DES, Blowfish, AES, Arcfour)
  • Encaminhamento X11 (criptografar o tráfego do sistema X Window)
  • Port Forwarding (canais criptografados para protocolos legados)
  • Autenticação forte (chave pública, senha de uso único e autenticação Kerberos)
  • Encaminhamento de agente (Logon único)
  • Interoperabilidade (conformidade com os padrões de protocolo SSH 1.3, 1.5 e 2.0)
  • Suporte a cliente e servidor SFTP nos protocolos SSH1 e SSH2.
  • Kerberos e passagem de tickets AFS
  • Compressão de dados

Instale o servidor OpenSSH no Linux

Para instalar o OpenSSH, abra um terminal e execute os seguintes comandos com permissões de superusuário.

No Debian/Ubuntu/Linux Mint

Em distribuições baseadas em Debian, você pode usar o seguinte comando apt para instalar o servidor e cliente openssh conforme mostrado.

sudo apt install openssh-server openssh-client

No RHEL/Centos/Fedora

Na distribuição baseada em RedHat, digite o seguinte comando yum para instalar o servidor e cliente openssh.

yum -y install openssh-server openssh-clients

Configurar o servidor OpenSSH no Linux

É hora de configurar nosso comportamento OpenSSH através do arquivo ssh config, mas antes de editar o arquivo /etc/ssh/sshd_config precisamos fazer backup uma cópia dele, portanto caso cometamos algum erro teremos a cópia original.

Abra um terminal e execute o seguinte comando cp para fazer uma cópia do arquivo de configuração sshd original.

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

Como você pode ver no comando que digitei, adicionei o sufixo original_copy, então toda vez que vejo esse arquivo sei que é uma cópia original do arquivo de configuração sshd.

Como me conecto ao OpenSSH

Antes de prosseguirmos, precisamos verificar se nosso servidor openssh está funcionando ou não. Como fazer isso? Você pode tentar se conectar ao servidor openssh a partir do seu localhost através do seu cliente openssh ou fazer um portscan com nmap, mas gosto de usar uma pequena ferramenta chamada netcat, também conhecida como canivete suíço TCP/IP . Adoro trabalhar com essa ferramenta incrível na minha máquina, então deixe-me mostrar para vocês.

nc -v -z 127.0.0.1 22

Referindo-se aos resultados do netcat, o serviço ssh está sendo executado na porta 22 da minha máquina. Muito bom! E se quisermos usar outra porta, em vez de 22? Podemos fazer isso editando o arquivo de configuração sshd.

Alterar porta SSH

Configure seu OpenSSH para escutar na porta TCP 13 em vez da porta TCP padrão 22. Abra o arquivo sshd_config com seu editor de texto favorito e altere a diretiva port para 13.

Port 13

Reinicie o servidor OpenSSH para que as alterações no arquivo de configuração possam ocorrer digitando o seguinte comando e executando netcat para verificar se a porta que você definiu para escuta está aberta ou não.

sudo systemctl restart sshd

Devemos verificar se nosso servidor openssh está escutando na porta 13 ou não? Esta verificação é necessária, por isso estou chamando minha adorável ferramenta netcat para me ajudar a fazer o trabalho.

nc -v -z 127.0.0.1 13

Você gosta de fazer com que seu servidor openssh exiba um belo banner de login? Você pode fazer isso modificando o conteúdo do arquivo /etc/issue.net.

nano /etc/issue.net

Cole a seguinte mensagem de banner.

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

Em seguida, adicione a seguinte linha dentro do arquivo de configuração sshd.

Banner /etc/issue.net

Depois de fazer alterações na configuração SSH, reinicie.

sudo systemctl restart sshd
Conclusão

Há muitas coisas que você pode fazer com as ferramentas openssh no que diz respeito à maneira como você configura seu servidor openssh, posso dizer que sua imaginação é o limite!