Resolva problemas de acesso
Esta página oferece sugestões de resolução de problemas de acesso à Solução Bare Metal.
Verifique se a sua pergunta ou problema já foi abordado na página Problemas conhecidos e limitações.
Não é possível estabelecer ligação ao cliente SSH
Se o seu cliente SSH não conseguir estabelecer ligação a um servidor, pode ver um dos seguintes erros:
connection timeout
ouconnection refused
: o cliente SSH não consegue estabelecer ligação.Permission denied (publickey)
: O cliente SSH não consegue autenticar.
Para diagnosticar falhas nas ligações SSH, siga estes passos:
Teste a conetividade.
Certifique-se de que o anfitrião está acessível e que a porta SSH (22) está aberta através dos comandos
ping
,traceroute
enc
.ping SERVER_NAME
traceroute SERVER_NAME
echo "" | nc SERVER_NAME 22
Se isto não funcionar, o problema pode estar na camada de rede e não no SSH.
Examine o resultado da depuração do lado do cliente.
Ative a verbosidade do protocolo SSH.
ssh -v SERVER_NAME -i ~/.ssh/id_ecdsa
O comando imprime o resultado da depuração que mostra os eventos principais do protocolo SSH do lado do cliente.
O exemplo de saída seguinte mostra que o cliente enviou a respetiva chave, mas o servidor rejeitou-a. O servidor pediu à autenticação para continuar com outra chave pública, mas o cliente não tem chaves adicionais para oferecer.
.. .. .. 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 o resultado detalhado 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 o resultado de
strace
para ver se existem erros relacionados com o problema principal.Em alguns casos, a saída de depuração do lado do cliente não é suficiente para identificar o problema. Também pode ter de executar o rastreio do lado do servidor para encontrar o erro. Até não conseguir executar o SSH no seu servidor, use a consola série interativa para realizar os passos seguintes.
Examine o resultado da depuração do lado do servidor.
Encontre as definições de SSH atuais.
grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
Para obter informações detalhadas sobre o SSH, defina os seguintes parâmetros no ficheiro
/etc/ssh/sshd_config
para obter informações detalhadas.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 registos:grep sshd /var/log/messages
Em alternativa, pode exportar todas as mensagens relevantes para o período através do seguinte comando:
journalctl -u sshd -S "START_TIME" -U "END_TIME" --utc
Substitua o seguinte:
START_TIME
: a hora de início do período no formatoyyyy-mm-dd hh:mm:ss
.END_TIME
: a hora de fim 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 estes problemas, considere os seguintes passos:
Verifique se o ficheiro de chave do cliente está definido com autorizações de leitura (indicador
400
). Caso contrário, o cliente SSH não o aceita.Para definir a flag de só leitura para a 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 ficheiro de configuração local do utilizador correspondente (
~/.ssh/authorized_keys
).Em alguns casos, o problema pode estar relacionado com a versão do protocolo SSH ou o algoritmo 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
parassh
esshd_config
fornecem os detalhes para manter a configuração necessária. Por exemplo, para encontrar os algoritmos de troca de chaves ou as cifras suportadas, use os seguintes comandos:# Find key exchange algorithms ssh -Q kex # Find the symmetric encryption ciphers ssh -Q cipher