Serviço SSHD e Configurações
Para configurar e otimizar o servidor SSH, edite o arquivo /etc/ssh/sshd_config. A seguir, configurações recomendadas para ambientes de produção:
# Definições do servidor SSH
Port 2222 # Alterar a porta padrão para maior segurança
ListenAddress 10.0.0.1 # Escutar em um endereço IP específico
LoginGraceTime 60 # Tempo em segundos para completar a autenticação
PermitRootLogin no # Bloquear login remoto como root
StrictModes yes # Verificar permissões e dono dos arquivos .ssh
MaxAuthTries 2 # Número máximo de tentativas de autenticação
MaxSessions 5 # Sessões simultâneas permitidas por conexão
PubkeyAuthentication yes # Ativar autenticação baseada em chave pública
PermitEmptyPasswords no # Proibir conexões com senha em branco
PasswordAuthentication no # Desativar autenticação por senha para reforçar segurança
GatewayPorts no # Desativar portas de gateway
ClientAliveInterval 300 # Intervalo em segundos para manter sessão ativa
ClientAliveCountMax 2 # Desconectar após 2 mensagens de keepalive sem resposta
# Ajustes para melhorar desempenho
UseDNS no # Desativar resolução DNS para reduzir latência
GSSAPIAuthentication no # Desabilitar autenticação GSSAPI
# Restrições de acesso
AllowUsers admin usuario1 # Permitir login apenas para usuários listados
AllowGrupo grupo_ssh # Restringir acesso a grupos específicos
# Práticas recomendadas:
# - Utilizar porta não padrão
# - Habilitar apenas o protocolo versão 2
# - Configurar tempo limite para sessões inativas
# - Implementar regras de firewall para controle de acesso SSH
# - Analisar logs de autenticação periodicamente
# - Gerar senhas fortes para chaves, por exemplo: openssl rand -base64 12
Arquivos no Direttório .ssh
Chave Privada (id_rsa)
Gerado automaticamente por ssh-keygen usando o algoritmo RSA, este arquivo contém a chave privada usada para autenticação segura. Deve ser mentido com permissões restritivas.
Chave Pública (id_rsa.pub)
A chave pública correspondente, criada junto com a chave privada. É compartilhada com servidores remotos para permitir login sem senha.
Chaves Autorizadas (authorized_keys)
Este arquivo armazena chaves públicas de clientes autorizados a se conectar. O formato padrão é: algoritmo chave_comentário. Para adicionar uma chave remotamente, utilize ssh-copy-id usuario@host.
Hosts Conhecidos (known_hosts)
Armazena impressões digitais das chaves de hosts já conectados. Durante a primeira conexão, o host é adicionado após confirmação do usuário.
Configuração do Cliente (config)
Criado menualmente para definir configurações personalizadas por host. Exemplo de conteúdo:
Host servidor_remoto
HostName host.example.com
Port 22
User meu_usuario
IdentityFile ~/.ssh/chave_especifica
IdentitiesOnly yes
PreferredAuthentications publickey