Corrigir problema de conexão do console web do Cockpit no servidor SUSE Linux Enterprise.

Se o Console Web do Cockpit não se conectar a um host SUSE Linux Enterprise Server (SLES), primeiro tente acessar o endereço IP do Cockpit e https://SERVER_IP:9090, em seguida, verifique se o serviço cockpit.socketestá em execução e se o firewall permite o serviço na zona usada pela interface de rede do servidor. Em uma instalação padrão, essas verificações resolvem as causas mais comuns: URL ou porta incorreta, socket inativo, pacotes do Cockpit ausentes ou conexão de entrada bloqueada.

Este guia aplica-se a sistemas SLES que utilizam systemd e têm o Cockpit disponível nos seus repositórios de produtos configurados. O guia atual do Cockpit para SLES 16 da SUSE documenta os comandos de instalação e ativação de sockets descritos abaixo. A disponibilidade e os nomes dos pacotes podem variar de acordo com o pacote de serviços, módulo e nível de suporte do SLES. Portanto, em um host SLES 15 mais antigo, confirme se o Cockpit é oferecido pelos repositórios SUSE habilitados antes de tratar um erro de instalação como uma falha de serviço.

Comece pelo sintoma.

Use a mensagem de erro no navegador para identificar a causa. Um erro de tempo limite ou "o site não pode ser acessado" geralmente indica problemas de roteamento, regras de firewall ou um serviço de escuta inativo. Uma conexão recusada geralmente significa que nenhum serviço está aceitando conexões no endereço e porta selecionados. Uma página de login do Cockpit indica que o serviço web está acessível; um erro de autenticação posterior indica um problema separado de conta ou política. Um aviso de certificado significa que a negociação HTTPS foi bem-sucedida com o servidor, mas o navegador não confia no certificado ou em seu nome.

Por exemplo, suponha que um administrador não consiga abrir um servidor cujo endereço seja 192.0.2.25. Faça o teste https://192.0.2.25:9090a partir de uma máquina que deveria ter permissão para administrá-lo. O Cockpit normalmente usa HTTPS na porta 9090. Digitar apenas o endereço IP pode abrir um serviço diferente, e usar http://pode levar a um redirecionamento ou a um aviso do navegador em vez da tela de login esperada.

1. Verifique o URL e a acessibilidade.

Confirme o endereço atual do servidor no console do SLES ou em um inventário confiável e inclua a porta explicitamente:

https://192.0.2.25:9090

A partir do cliente, teste se a porta TCP 9090 está acessível. Em uma estação de trabalho administrativa Linux com o netcat instalado, execute:

nc -vz 192.0.2.25 9090

Uma conexão TCP bem-sucedida comprova apenas que a porta está acessível; não comprova que o login funcionará. Um tempo limite excedido sugere a verificação da zona de firewall ativa do servidor, de qualquer firewall de rede upstream, do roteamento e do acesso à VPN. Uma recusa sugere a verificação do listener no host SLES. Se o netcat não estiver disponível, teste a partir de um navegador ou use outra ferramenta de conectividade TCP aprovada, em vez de instalar um utilitário não aprovado em um host de produção.

2. Confirme se o Cockpit está instalado e se o seu socket está ativo.

Conecte-se via SSH ou console local e inspecione o socket. O Cockpit normalmente usa a ativação de socket do systemd: o systemd fica à escuta de uma conexão de entrada em nome do Cockpit e inicia o serviço web sob demanda. Por isso, a unidade principal a ser inspecionada geralmente é o `cockpit.socket` cockpit.socket, e não um serviço em execução contínua cockpit.service.

sudo systemctl status cockpit.socket
sudo ss -ltnp | grep ':9090'

Procure por um socket ativo/em escuta e um listener vinculado à porta 9090. Se a unidade estiver ausente, o Cockpit pode não estar instalado. Em uma versão do SLES cujos repositórios habilitados fornecem o padrão Cockpit, a SUSE documenta a instalação com:

sudo zypper refresh
sudo zypper in -t pattern cockpit

Se o Zypper informar que o padrão não foi encontrado, verifique o produto, o pacote de serviços, os módulos habilitados, o status do repositório e o direito de suporte com o administrador do SUSE. Não adicione um repositório de terceiros não relacionado apenas para que o comando seja bem-sucedido. Após confirmar que o Cockpit está instalado, habilite e inicie seu socket:

sudo systemctl enable --now cockpit.socket
sudo systemctl status cockpit.socket

Essa --nowopção inicia o socket imediatamente e o habilita para inicializações futuras. Se o systemd reportar uma unidade com falha, verifique o erro exato antes de reiniciá-lo repetidamente:

sudo journalctl -u cockpit.socket -b --no-pager
sudo journalctl -u cockpit.service -b --no-pager

3. Permita que o Cockpit acesse a zona de firewall ativa.

Um ouvinte ativo ainda pode estar inacessível se o firewall do host derrubar a conexão. O SLES usa o firewalld para gerenciamento de firewall nas versões atuais. Primeiro, identifique a zona ativa e a interface atribuída a ela:

sudo firewall-cmd --get-active-zones

Em seguida, adicione o serviço Cockpit nomeado à zona que contém a interface de gerenciamento. Substitua ` public<zona>` pela zona real relatada em seu host:

sudo firewall-cmd --zone=public --add-service=cockpit --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --query-service=cockpit

O comando final deve retornar o resultado yes. Se a interface de rede estiver em uma zona diferente, abrir o serviço publicnão corrigirá as regras dessa interface. A documentação do Cockpit da SUSE usa o cockpitserviço firewalld; abrir o serviço especificado é preferível a liberar todo o tráfego ou desativar o firewall. Verifique também os grupos de segurança da nuvem, firewalls de perímetro, políticas de VPN e ACLs de rede se a regra do host estiver correta, mas o cliente ainda apresentar timeout.

Se a sua imagem SLES utiliza uma configuração de gerenciamento de firewall diferente, siga a política desse sistema em vez de aplicar comandos firewalld indiscriminadamente. Não limpe as regras do firewall nem desative o firewall em um servidor de produção administrado remotamente: isso pode expor serviços e interromper seu fluxo de gerenciamento atual.

4. Distinga uma falha de conexão de um problema de certificado ou de login.

Assim que a página de login carregar, o caminho de rede para o Cockpit estará funcionando. O Cockpit normalmente espera que as conexões do navegador usem HTTPS e apresenta um certificado TLS. Um aviso para um certificado autoassinado ou uma incompatibilidade de nome não significa que o socket esteja inativo. Para um host de laboratório, verifique a impressão digital por meio de um canal confiável antes de aceitar o aviso. Para sistemas gerenciados, instale um certificado cujo nome do sujeito corresponda ao nome do host usado pelos administradores e cuja cadeia seja confiável pelos navegadores deles.

Se a página de login for exibida, mas as credenciais forem rejeitadas, verifique o nome de usuário, a senha, o estado da conta e a política de autenticação do servidor. O Cockpit geralmente autentica usando contas do sistema; não se trata de um banco de dados de usuários separado. Não insira senhas em comandos ou logs durante a solução de problemas. Se a página carregar, mas a interface permanecer em branco ou desconectar após o login, verifique o console do desenvolvedor do navegador e os logs recentes do Cockpit. Um proxy reverso também pode causar falhas se não suportar conexões WebSocket ou encaminhar o protocolo ou as informações do host incorretamente.

5. Analise os registros e as configurações de proxy quando as configurações básicas forem aprovadas.

Capture um breve trecho do log durante uma nova tentativa de conexão:

sudo journalctl -u cockpit.socket -u cockpit.service --since "10 minutes ago" --no-pager

Procure por erros de vinculação, erros de permissão ou de certificado e mensagens que coincidam com o horário do teste. Se o servidor estiver escutando localmente, mas um cliente remoto não conseguir se conectar, investigue o caminho de rede e a zona do firewalld antes de alterar a configuração do Cockpit. Se o acesso direto funcionar, mas o acesso por meio de um proxy falhar, compare temporariamente por meio de uma rota direta permitida e, em seguida, verifique o suporte à atualização do WebSocket do proxy e os cabeçalhos encaminhados. Evite alterar as configurações de origem ou TLS do Cockpit como primeiro passo; configurações incorretas de confiança do proxy podem comprometer a segurança.

Verifique o reparo

Após fazer uma alteração de cada vez, verifique os seguintes resultados:

  • systemctl status cockpit.socketMostra a conexão ativa e em modo de escuta.
  • O host SLES possui um serviço de escuta na porta esperada, normalmente TCP 9090.
  • A regra de firewall está presente na zona atribuída à interface de gerenciamento.
  • O cliente consegue acessar o servidor https://SERVER_IP:9090e visualiza a página de login do Cockpit.
  • Após a autenticação, a página permanece conectada e o registro recente não contém nenhum erro de inicialização ou conexão correspondente.

Se o socket estiver ativo e as verificações locais forem bem-sucedidas, mas os testes TCP remotos ainda apresentarem tempo limite, a falha restante provavelmente está fora do Cockpit, como um firewall upstream, rota de rede, registro DNS ou regra de VPN. Se o serviço falhar em um sistema SLES que, de outra forma, é compatível, salve o status da unidade e a saída do journal e verifique a documentação da SUSE ou o canal de suporte para obter a configuração exata do service pack, em vez de aplicar correções destinadas a outra distribuição.

Referências oficiais

Deixar um comentário

Como recuperar partições perdidas e dados do disco rígido com segurança

Como recuperar partições perdidas e dados do disco rígido com segurança

Aprenda como recuperar partições e arquivos perdidos com o TestDisk e o PhotoRec. Proteja a unidade de origem, faça a verificação com segurança e salve os dados recuperados em outro disco.

Como ler códigos QR em um computador Linux

Como ler códigos QR em um computador Linux

Escaneie códigos QR no Linux com o CoBang usando uma webcam ou um arquivo de imagem. Veja as opções de instalação, etapas de configuração e correções para acesso à câmera via Flatpak.

Como alterar as configurações da webcam no Linux com o Cameractrls

Como alterar as configurações da webcam no Linux com o Cameractrls

Altere as configurações da webcam no Linux com o Cameractrls: ajuste a exposição, a cor, a redução de cintilação e outros controles compatíveis e, em seguida, verifique os modos de vídeo compatíveis.

Como instalar o PhpStorm no Linux: Toolbox, Tar.gz, Snap e AUR

Como instalar o PhpStorm no Linux: Toolbox, Tar.gz, Snap e AUR

Instale o PhpStorm no Linux com o JetBrains Toolbox ou o arquivo tar.gz independente, além das opções Snap e Arch AUR. O Java já está incluído.

Como configurar dois painéis no XFCE 4

Como configurar dois painéis no XFCE 4

Crie um painel XFCE 4 separado para cada tela, atribua o segundo painel à saída correta, posicione-o e dimensione-o e adicione os atalhos e itens de status necessários.

Como instalar o Cisco Packet Tracer no Linux

Como instalar o Cisco Packet Tracer no Linux

Baixe o Cisco Packet Tracer 9.0.1 para Ubuntu 64 bits, instale o pacote DEB com o APT, aceite a licença no Terminal e faça login para iniciar um laboratório.

Como recortar uma imagem no Linux com o GIMP

Como recortar uma imagem no Linux com o GIMP

Remova o fundo de uma foto no Linux com o GIMP: trace o contorno do objeto, exclua o fundo selecionado, mantenha a transparência e exporte um PNG reutilizável.

Como fazer backup de um CD-ROM como um arquivo ISO no Linux

Como fazer backup de um CD-ROM como um arquivo ISO no Linux

Crie uma imagem ISO de CD-ROM no Linux com o GNOME Disks ou o comando dd. Identifique a unidade óptica, monitore a cópia, verifique a imagem e saiba quando um disco danificado ou de áudio precisa de outra ferramenta.

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente: Guia de Instalação Oficial

Baixe o FlightGear gratuitamente no site oficial. Compare os pacotes para Windows, macOS e Linux, instale os arquivos de dados e inicie seu primeiro voo.

Aplicativo Google Tasks para desktop: como usá-lo no computador

Aplicativo Google Tasks para desktop: como usá-lo no computador

Abra o Google Tasks em um navegador, adicione um atalho do Chrome ou inicie o aplicativo automaticamente e gerencie suas tarefas agendadas pelo Agenda e pelo Gmail.