Executando verificação de segurança...
9

OpenSSH: Acesso Remoto Seguro para Servidores Linux

Introdução

Na semana passada, escrevi um artigo e resolvi também gravar um vídeo para o YouTube sobre o assunto Home Server. Gostei da experiência, pois, além de ter um objetivo que me ajuda a estudar um assunto, comecei a ter mais interações com a comunidade de tecnologia.

Decidi assim, continuar por esse caminho e para dar continuidade nos tópicos que pretendo falar, como Home Sever, Linux entre outros, decidi escrever sobre algo importante que é acesso em um servidor linux de forma simples e segura, usando um servidor de SSH.

O Que é o OpenSSH?

OpenSSH é uma ferramenta amplamente utilizada para conexão remota segura entre dispositivos. Desenvolvido pelo projeto OpenBSD, ele é encontrado na maioria das distribuições Linux e é um padrão amplamente adotado pela comunidade.

Imagine um cenário onde você está em casa com seu notebook e precisa acessar um servidor na rede da empresa para monitoramento ou configuração. Com OpenSSH, você pode se conectar ao servidor remotamente sem precisar se deslocar até o local físico, desde que a porta correta esteja aberta (por padrão, a porta 22).

Conectando ao Servidor via OpenSSH

Para se conectar a um servidor via SSH, você precisa de um cliente SSH. No Linux, ele já vem instalado por padrão. Para verificar, use o comando:

which ssh

Para iniciar a conexão, basta fornecer o endereço IP do servidor:

ssh [email protected]

Na primeira conexão, você receberá um aviso perguntando se deseja confiar na chave de autenticação do servidor. Cada servidor possui um fingerprint único.

Caso queira sair da conexão, basta pressionar Ctrl + D.

No serviço de SSH, os fingerprints das conexões anteriores, verifique o diretório:

ls ~/.ssh/known_hosts

Se esse arquivo for apagado, todas as entradas armazenadas serão removidas.

Monitorando Conexões SSH

Os logs são essenciais para identificar conexões ativas e tentativas de login. Para monitorar acessos em tempo real, use:

tail -f /var/log/auth.log

Isso permite analisar quem está conectando ao servidor e identificar possíveis tentativas de invasão.

Configuração do OpenSSH Client

Podemos simplificar a conexão usando um arquivo de configuração no diretório ~/.ssh. Crie o arquivo config e adicione:

ls

Host servidor
    Hostname 192.168.15.138
    Port 22
    User root

Agora, basta digitar:

ssh servidor

Isso evita a necessidade de lembrar endereços IP, portas ou nomes de usuários para cada conexão.

Gerando Chaves SSH para Autenticação Segura

Uma maneira mais segura de se conectar via SSH é utilizando chaves públicas e privadas. Isso elimina a necessidade de digitar senhas e impede ataques de força bruta, se você desabilitar a permissão para acesso via senha. Para gerar um par de chaves:

ssh-keygen

Por padrão, as chaves serão armazenadas no diretório ~/.ssh/ como id_rsa (chave privada) e id_rsa.pub (chave pública).

A chave privada deve ser mantida segura e nunca compartilhada. Já a chave pública pode ser distribuída sem preocupação.

Para configurar o acesso com chaves, copie a chave pública para o servidor:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Se preferir, você pode fazer isso manualmente:

mkdir -p ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Usando SSH-Agent para Evitar Repetição de Senhas

Se você adicionou uma passphrase à sua chave, precisará digitá-la a cada conexão. Para evitar isso, utilize o ssh-agent:

eval "$(ssh-agent)"
ssh-add ~/.ssh/id_rsa

Assim, a chave será armazenada temporariamente na memória.

Configuração do OpenSSH Server

Verifique se o servidor SSH está instalado e rodando:

which sshd
systemctl status sshd

Os arquivos de configuração estão localizados em /etc/ssh/. O arquivo principal é sshd_config. Algumas opções importantes:

Port 22  # Alteração da porta padrão
PermitRootLogin no  # Impede logins diretos como root
PasswordAuthentication no  # Desabilita autenticação por senha

Após alterar a configuração, reinicie o SSH:

systemctl restart sshd

Isso melhora a segurança para seu servidor.

Conclusão

O OpenSSH é uma ferramenta essencial para qualquer administrador de sistemas. Ele permite conexão remota segura e oferece várias opções de personalização para tornar o gerenciamento de servidores mais eficiente. SSH também é bem usado para fazer servidores caseiros, para seus acessos e configurações, por isso é importante passar por ele antes de avançar e configurações mais complexas.

Se você gostou deste guia, confira meu vídeo no YouTube sobre o assunto e me diga se você além de usar o SSH de forma mais básica, também usar opções mais avançadas, usando como proxy, redirecionamento de portas, entre outros.
https://www.youtube.com/watch?v=rxJaC59d9sc


Carregando publicação patrocinada...