Resolver problemas de acesso
Nesta página, fornecemos dicas para resolver problemas de acesso à Solução Bare Metal.
Verifique se sua dúvida ou problema já foi abordado na página Limitações e problemas conhecidos.
Não foi possível conectar o cliente SSH
Se o cliente SSH não conseguir se conectar a um servidor, talvez você encontre um dos erros a seguir:
connection timeout
ouconnection refused
: não é possível conectar o cliente SSH.Permission denied (publickey)
: falha na autenticação do cliente SSH.
Para diagnosticar falhas nas conexões SSH, siga estas etapas:
Teste a conectividade.
Verifique se o host está acessível e se a porta SSH (22) está aberta usando os comandos
ping
,traceroute
enc
.ping SERVER_NAME
traceroute SERVER_NAME
echo "" | nc SERVER_NAME 22
Se isso não funcionar, talvez o problema esteja na camada de rede e não no SSH.
Examine a saída de depuração do lado do cliente.
Ative o nível de detalhes do protocolo SSH.
ssh -v SERVER_NAME -i ~/.ssh/id_ecdsa
O comando imprime a saída de depuração que mostra os principais eventos do protocolo SSH do lado do cliente.
O exemplo de saída a seguir mostra que o cliente enviou a chave, mas o servidor a rejeitou. O servidor solicitou que a autenticação continuasse com outra chave pública, mas o cliente não tem como oferecer outras chaves.
.. .. .. debug1: Server host key: ecdsa-sha2-nistp256 SHA256:V9cRYdqcAJv+RPfN+oofNTVdUxs6VlocP4uMWOxeGKI debug1: Host 'bms-server' is known and matches the ECDSA host key. debug1: Found key in /root/.ssh/known_hosts:1 debug1: rekey after 134217728 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey after 134217728 blocks debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=
debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering ECDSA public key: /root/.ssh/id_ecdsa debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey). Se a saída do nível de detalhes do SSH não indicar claramente a causa da mensagem de erro, execute o comando
strace
:strace ssh SERVER_NAME -i ~/.ssh/id_ecdsa > strace-ssh.txt 2>&1
Examine a saída
strace
em busca de erros relacionados ao problema central.Em alguns casos, a saída de depuração do lado do cliente não é suficiente para identificar o problema. Talvez você precise também executar o rastreamento do lado do servidor para encontrar o erro. Até a conexão SSH no servidor ser possível, use o console serial interativo para executar as próximas etapas.
Examine a saída de depuração do lado do servidor.
Encontre as configurações atuais do SSH.
grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
Para ver as informações detalhadas sobre o SSH, defina os parâmetros a seguir no arquivo
/etc/ssh/sshd_config
.SyslogFacility AUTH LogLevel DEBUG
Para aplicar as alterações, reinicie o serviço.
service sshd restart
No lado do cliente, execute o comando
ssh
e extraia as mensagenssshd
dos registros:grep sshd /var/log/messages
Também é possível exportar todas as mensagens relevantes do período usando o seguinte comando:
journalctl -u sshd -S "START_TIME" -U "END_TIME" --utc
Substitua:
START_TIME
: o horário de início do período no formatoyyyy-mm-dd hh:mm:ss
.END_TIME
: o horário de término do período no formatoyyyy-mm-dd hh:mm:ss
.
Exemplo:
journalctl -u sshd -S "2023-04-25 18:38:00" -U "2023-04-25 18:40:00" --utc
Para corrigir esses problemas, siga estas etapas:
Verifique se o arquivo da chave do cliente está definido com permissões somente leitura (flag
400
). Caso contrário, o cliente SSH não o aceita.Para definir a flag somente leitura na chave privada que está em uso, execute o seguinte comando:
chmod 400 ~/.ssh/id_ed25519
No lado do servidor, verifique se a chave pública do cliente está especificada no arquivo de configuração local do usuário correspondente (
~/.ssh/authorized_keys
).Em alguns casos, o problema pode estar relacionado à versão do protocolo SSH ou ao algoritmo do SSH. As saídas de depuração do lado do servidor e do lado do cliente podem indicar esse problema. Normalmente, as páginas
man
dessh
esshd_config
mostram os detalhes para manter a configuração necessária. Por exemplo, para encontrar os algoritmos ou as criptografias de troca de chaves compatíveis, use os seguintes comandos:# Find key exchange algorithms ssh -Q kex # Find the symmetric encryption ciphers ssh -Q cipher