O serviço SSH não inicia se o arquivo de configuração (/etc/ssh/sshd_config) contiver erros. Este guia orienta você a identificar o erro específico, corrigi-lo e reiniciar o serviço.
Causas
Os erros no arquivo /etc/ssh/sshd_config dividem-se em duas categorias:
Erro de sintaxe: uma opção de configuração está escrita incorretamente ou seu valor está fora do intervalo permitido ou de uma lista predefinida (por exemplo, on/off, true/false ou um intervalo numérico específico).
Erro de codificação de arquivo: o arquivo contém uma Marca de Ordem de Byte (BOM) ou usa terminações de linha CRLF. Isso geralmente ocorre quando o arquivo é editado ou transferido de um sistema Windows.
Solução 1: Corrigir erros no arquivo de configuração do SSH
Etapa 1: Conectar-se à instância via VNC
Como o SSH está indisponível, use uma conexão VNC para acessar a instância.
Acesse o Console do ECS - Instância. Na barra de navegação superior, selecione a região e o grupo de recursos desejados.
Na página de detalhes da instância, clique em Connect. Na caixa de diálogo de conexão remota, clique em Show Other Logon Methods para exibir a opção VNC e clique em Sign in now ao lado de VNC. Insira o nome de usuário e a senha para fazer logon na instância.
Etapa 2: Diagnosticar a configuração
Execute o comando de teste de configuração do SSH:
sudo /usr/sbin/sshd -t
A saída identifica o arquivo, o número da linha e o tipo de erro. Por exemplo:
Opção de configuração obsoleta
/etc/ssh/sshd_config: line 82: Bad configuration option: RSAAuthentication
Valor inválido para uma opção de configuração
/etc/ssh/sshd_config: line 23: bad value for Port "222222"
O formato exato da mensagem de erro varia conforme a versão do OpenSSH. Por exemplo, o OpenSSH 8.0p1 exibeDeprecated option RSAAuthenticationem vez deBad configuration option: RSAAuthentication.
Se o comando não retornar nenhuma saída, a configuração está correta. Pule para a Etapa 5 .
Etapa 3: Corrigir o arquivo de configuração
Abra o arquivo de configuração:
sudo vim /etc/ssh/sshd_config
Navegue até a linha informada na mensagem de erro e aplique a correção adequada:
Opções de configuração obsoletas
Versões mais recentes do OpenSSH removem o suporte a opções antigas. Comente ou exclua a linha que contém a opção obsoleta.
|
Opção obsoleta |
Obsoleta desde |
|
|
OpenSSH 7.0 e posteriores |
|
|
OpenSSH 7.5 e posteriores (agora é o comportamento padrão) |
Valores de opção inválidos
Corrija o valor na linha indicada. Execute man sshd_config para consultar os valores válidos.
Erros de codificação de arquivo
Um arquivo de configuração editado ou copiado de um sistema Windows pode conter uma BOM ou usar terminações de linha CRLF. Verifique e corrija esses problemas no Vim:
Verificar terminações de linha:
:set fileformat?
Se a saída for fileformat=dos, o arquivo utiliza terminações de linha CRLF. Corrija com o seguinte comando:
:set fileformat=unix
Verificar a presença de BOM:
:set bomb?
Caso a saída seja bomb, o arquivo contém uma BOM. Resolva executando:
:set nobomb
Salve o arquivo após as alterações (:wq).
Versões mais recentes do OpenSSH (como a 8.0p1) podem tolerar terminações de linha CRLF sem falhar na inicialização. No entanto, recomenda-se converter para o formato Unix para evitar problemas com outras ferramentas e versões anteriores do OpenSSH.
Se o arquivo de configuração estiver gravemente corrompido e não for possível identificar erros individuais, prossiga para a Solução 2: Reinstalar o serviço SSH .
Etapa 4: Validar a correção
Execute novamente o teste de configuração:
sudo /usr/sbin/sshd -t
A ausência de saída indica que a configuração está correta.
Etapa 5: Reiniciar e verificar o serviço SSH
Reinicie o serviço:
sudo systemctl restart sshd
Verifique o status do serviço:
sudo systemctl status sshd
Se a saída incluir active (running), o serviço SSH foi iniciado com êxito.
Solução 2: Reinstalar o serviço SSH
Caso o arquivo de configuração esteja muito corrompido para reparo, reinstale o serviço SSH. Esse procedimento substitui o arquivo de configuração por um padrão limpo.
A reinstalação remove todas as configurações personalizadas, como portas modificadas e definições de autenticação baseada em chave. Faça backup do arquivo antes de prosseguir.
Etapa 1: Conectar-se à instância via VNC
Acesse o Console do ECS - Instância. Na barra de navegação superior, selecione a região e o grupo de recursos desejados.
Na página de detalhes da instância, clique em Connect. Na caixa de diálogo de conexão remota, clique em Show Other Logon Methods para exibir a opção VNC e clique em Sign in now ao lado de VNC. Insira o nome de usuário e a senha para fazer logon na instância.
Etapa 2: Fazer backup do arquivo de configuração
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup-$(date +%Y%m%d-%H%M%S)
Etapa 3: Desinstalar e reinstalar o serviço SSH
Desinstale o serviço:
sudo rpm -e openssh-server
Reinstale o serviço:
sudo yum install openssh-server
Após a instalação, migre suas configurações personalizadas do arquivo de backup para o novo /etc/ssh/sshd_config.
Etapa 4: Iniciar e verificar o serviço SSH
Inicie o serviço:
sudo systemctl start sshd
Verifique o status do serviço:
sudo systemctl status sshd
Se a saída incluir active (running), o serviço SSH foi iniciado com êxito.