Como verificar se um servidor SSH está em execução no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como verificar se um servidor SSH está em execução em um sistema Linux. Você usará o comando systemctl status ssh para verificar o estado de execução do serviço, o comando ss -tuln para verificar se a porta SSH está aberta e escutando, e o comando cat /etc/ssh/sshd_config para inspecionar o arquivo de configuração do servidor SSH. Essas etapas são fundamentais para solucionar problemas e verificar a funcionalidade do servidor SSH.

Verificar o serviço SSH com systemctl status ssh

Nesta etapa, você aprenderá como verificar o status do serviço SSH em seu sistema Linux. SSH (Secure Shell) é um protocolo usado para conectar-se com segurança a um computador remoto. É uma ferramenta fundamental para administração de sistemas e desenvolvimento.

No Linux, serviços como o SSH são frequentemente gerenciados pelo systemd, um gerenciador de sistema e serviços. O comando systemctl é usado para interagir com o systemd.

Para verificar o status do serviço SSH, você usará o comando systemctl status seguido pelo nome do serviço, que é ssh.

Abra seu terminal, caso ainda não esteja aberto. Você pode encontrar o ícone do Xfce Terminal no lado esquerdo da sua área de trabalho.

Digite o seguinte comando no terminal e pressione Enter:

systemctl status ssh

Você verá uma saída semelhante a esta:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since ...
       Docs: man:sshd(8)
             man:ssh(1)
   Main PID: ... (sshd)
      Tasks: 1 (limit: ...)
     Memory: ...
        CPU: ...
     CGroup: /system.slice/ssh.service
             └─... /usr/sbin/sshd -D

...

Vamos analisar as partes importantes da saída:

  • ● ssh.service: Este é o nome do serviço.
  • Loaded: loaded (...): Indica que o arquivo de configuração do serviço foi carregado pelo systemd.
  • Active: active (running): Esta é a parte mais importante. Ela informa que o serviço SSH está atualmente em execução. Se estivesse parado, mostraria algo como inactive (dead).
  • since ...: Mostra quando o serviço foi iniciado.
  • Main PID: ... (sshd): O ID do processo (Process ID) do processo daemon SSH principal (sshd).

Este comando é essencial para solucionar problemas de conectividade de rede ou verificar se um serviço está em execução conforme o esperado.

Clique em Continuar para prosseguir para a próxima etapa.

Verificar a porta SSH com ss -tuln

Nesta etapa, você aprenderá como verificar quais portas de rede estão abertas e escutando em seu sistema. Isso é crucial para entender como serviços como o SSH são acessíveis.

O comando ss é um utilitário para investigar sockets. Sockets são pontos finais para enviar e receber dados através de uma rede. Usaremos ss com várias opções para filtrar a saída:

  • -t: Exibe sockets TCP. SSH usa o protocolo TCP.
  • -u: Exibe sockets UDP.
  • -l: Exibe sockets escutando (listening). Estes são sockets que estão esperando por conexões de entrada.
  • -n: Não resolve nomes de serviços. Isso mostra números de porta em vez de nomes como ssh ou http.

Combine essas opções para ver todas as portas TCP e UDP escutando com seus valores numéricos.

Digite o seguinte comando em seu terminal e pressione Enter:

ss -tuln

Você verá uma saída listando várias portas escutando. Procure a linha relacionada ao SSH, que normalmente escuta na porta 22. A saída pode ser semelhante a esta (a ordem exata e outras portas podem variar):

Netid  State   Recv-Q  Send-Q   Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128            0.0.0.0:22          0.0.0.0:*
tcp    LISTEN  0       128               [::]:22             [::]:*
udp    UNCONN  0       0              127.0.0.53%lo:53          0.0.0.0:*
udp    UNCONN  0       0                    0.0.0.0:68          0.0.0.0:*

Nesta saída:

  • Netid: O protocolo de rede (tcp ou udp).
  • State: O estado do socket (LISTEN significa que está esperando por conexões).
  • Local Address:Port: O endereço IP local e o número da porta em que o serviço está escutando. 0.0.0.0 significa que está escutando em todos os endereços IPv4 disponíveis, e [::] significa que está escutando em todos os endereços IPv6 disponíveis.
  • Peer Address:Port: O endereço e a porta da conexão remota (para sockets escutando, isso é *).

Você deve ver linhas indicando que a porta TCP 22 está no estado LISTEN. Isso confirma que o serviço SSH está em execução e pronto para aceitar conexões na porta SSH padrão.

Entender como verificar portas abertas é uma habilidade fundamental para solução de problemas de rede e segurança.

Clique em Continuar para passar para a próxima etapa.

Inspecionar a configuração SSH com cat /etc/ssh/sshd_config

Nesta etapa final, você examinará o arquivo de configuração principal para o servidor SSH. Este arquivo contém configurações que controlam como o serviço SSH se comporta, como a porta em que ele escuta, quais usuários podem se conectar e opções de segurança.

O arquivo de configuração para o daemon SSH (sshd) está normalmente localizado em /etc/ssh/sshd_config. O diretório /etc é onde os arquivos de configuração do sistema são armazenados.

Para visualizar o conteúdo deste arquivo, você pode usar o comando cat. cat é um comando simples que lê arquivos sequencialmente e os imprime na saída padrão (seu terminal).

Digite o seguinte comando em seu terminal e pressione Enter:

cat /etc/ssh/sshd_config

Você verá todo o conteúdo do arquivo sshd_config impresso em seu terminal. A saída conterá muitas linhas, algumas começando com # (que são comentários e são ignorados pelo sistema) e outras definindo opções de configuração.

Procure linhas que não estejam comentadas (não começam com #). Algumas diretivas importantes que você pode ver incluem:

  • Port 22: Isso especifica a porta em que o servidor SSH escuta. Por padrão, é 22.
  • ListenAddress 0.0.0.0: Especifica o endereço IPv4 em que o servidor escuta.
  • ListenAddress ::: Especifica o endereço IPv6 em que o servidor escuta.
  • PermitRootLogin prohibit-password: Controla se o usuário root pode fazer login diretamente via SSH.
  • PasswordAuthentication yes: Controla se a autenticação por senha é permitida.
## This is the sshd server system configuration file.
## See sshd_config(5) for more information.

## The systemd service file for sshd uses EnvironmentFile to load
## the SSHD_CONFIG environment variable, setting this to /etc/ssh/sshd_config.
## ...

Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

## Ciphers and keying
#...

## Authentication:
LoginGraceTime 2m
PermitRootLogin prohibit-password
StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

## Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

#IgnoreRhosts yes
#RhostsRSAAuthentication no
#HostbasedAuthentication no
#...

PasswordAuthentication yes
#PermitEmptyPasswords no

ChallengeResponseAuthentication no

#...

Ler arquivos de configuração como este é uma habilidade fundamental para entender e gerenciar serviços Linux. Embora você não modifique o arquivo neste laboratório, saber onde ele está e como visualizar seu conteúdo é muito útil.

Você agora verificou com sucesso o status do serviço SSH, verificou sua porta de escuta e inspecionou seu arquivo de configuração. Você ganhou experiência valiosa com comandos Linux fundamentais para gerenciamento de serviços e inspeção de rede.

Clique em Continuar para concluir o laboratório e ver seu progresso!

Resumo

Neste laboratório, você aprendeu como verificar se um servidor SSH está em execução em um sistema Linux. Você usou o comando systemctl status ssh para verificar o estado ativo do serviço e entender detalhes importantes, como seu status carregado, estado ativo e ID do processo. Este comando é crucial para confirmar se o serviço SSH está operacional.

Você também aprendeu como verificar a porta SSH usando o comando ss -tuln e inspecionar o arquivo de configuração SSH localizado em /etc/ssh/sshd_config usando o comando cat. Essas etapas fornecem mais informações sobre a configuração de rede e as configurações do servidor SSH.