RedHat Linux - ssh mostra "conexão recusada" usando um usuário e também root, mas outro usuário pode se conectar

1

Do servidor Y, o usuário A tenta ssh no servidor X e obtém a Conexão recusada. Do servidor Y, o usuário B tenta ssh no servidor X e é permitido. No servidor Y, o root tenta o ssh e obtém a Conexão recusada. O problema é 100% repetitivo e 100% consistente.

Os dois primeiros sugerem um problema com a ACL, mas me disseram que as configurações são as mesmas para os dois usuários, embora eu não tenha permissão para visualizá-los. Eles também foram excluídos e lidos sem êxito. No entanto, a raiz não é afetada pela ACL e também não pode se conectar.

Existem dois servidores com esse problema e muitos outros servidores com configurações idênticas no ifconfig (exceto endereços IP etc.) e tabelas de roteamento que não sofrem esse problema.

Um tcpdump no servidor X que procura conexões do servidor Y não mostra nada quando o usuário A tenta se conectar, mas produz resmas de informações quando o usuário B tenta se conectar. Isso mostra que o servidor X não está recebendo nada quando o usuário A está tentando ssh.

Todos os servidores estão executando o RedHat

Estou assumindo que o problema está no servidor Y, mas o que devo procurar? Um problema de conectividade baseado em nome de usuário poderia aparecer nos firewalls entre os servidores ou esses firewalls não se baseiam no nome de usuário?

Editar - Os usuários A e B podem ssh do servidor Y para muitos outros servidores do grupo. É apenas o servidor X que tem o problema. O ssh-ing não usa o RSA, embora faça o login no servidor Y em primeiro lugar.

mavdo
fonte
Suponho que, como o usuário B é "permitido", você está usando a autenticação RSA, isso está correto?
Ben Plont 10/07/2014
mavdo e @Mavdo - se você é a mesma pessoa, no futuro, use sua conta registrada (Mavdo) exclusivamente. Dessa forma, você poderá editar suas próprias postagens sem precisar passar pelo processo de revisão. Além disso, quando você faz uma pergunta e fornece informações adicionais e esclarecedoras que fazem parte legitimamente da pergunta, basta ir direto para a edição . Esse tipo de coisa pertence à pergunta, não a um comentário.
Scott
Desculpas - criei minha conta somente depois de postar. Eu pensei que poderia vincular minha postagem de volta à minha conta. Mas seguirei absolutamente essas orientações no futuro, agora tenho uma conta.
mavdo

Respostas:

2

Verifique o .ssh/configarquivo do usuário A. Ele pode ter uma Hostentrada nesse arquivo para o nome do host em questão, o que está causando ssha tentativa de uma porta ou endereço IP diferente para esse nome de host. Por exemplo, se .ssh/configtivesse estas linhas:

Host a.example.com
    Hostname b.example.com
    Port 42

Em seguida, executar "ssh a.example.com" tentaria conectar-se à porta 42 do b.example.com.

Outra possibilidade (improvável) é que o usuário A esteja executando um programa "ssh" diferente por algum motivo, por exemplo, porque seu caminho de comando é diferente e o programa alternativo não está se comportando conforme o esperado.

Editar: Outra possibilidade improvável é que você tenha dois hosts na rede respondendo ao mesmo endereço IP. As solicitações de conexão com falha estão sendo respondidas pelo servidor errado. Isso faria com que as conexões falhassem aleatoriamente, em vez de consistentemente por usuário, portanto, ele realmente não corresponde ao comportamento que você descreve.

Kenster
fonte
Eu acrescentaria, verifique novamente o par de chaves RSA atribuído aos UIDs "recusados ​​por conexão" estão configurados corretamente.
Ben Plont 10/07/2014
"Conexão recusada" significa que ele nem está fazendo uma conexão TCP. O servidor ao qual os pacotes estão endereçados está se recusando a aceitar a conexão. Um problema-chave do SSH não causaria isso.
Kenster
@ Kenster: De fato, o servidor ao qual os pacotes são (presumivelmente) endereçados nem os . Então eu concordo; não é um problema fundamental.
Scott
1
Para ser pedante, "conexão recusada" significa que o host do cliente enviou um pacote SYN (solicitação de conexão) e recebeu um pacote RST (recusado). Eu sei que o OP diz que o host de destino pretendido não está vendo os pacotes, mas alguns servidores responderam ao cliente. Portanto, talvez a solicitação de conexão não tenha ido ao servidor para o qual eles deveriam ir.
Kenster
Eu tinha grandes esperanças para essa resposta, mas, infelizmente, não há arquivo .ssh / config para nenhum usuário. Quando o servidor B estiver ativo, os dois usuários poderão fazer ping e obter os resultados ssh mostrados. Quando o servidor B é desativado, nenhum usuário pode fazer ping, mas as mensagens de conexão recusada ainda são mostradas para o usuário A, enquanto o usuário B obtém um host de destino inacessível. Acho que isso sugere que estamos nos conectando ao servidor certo.
mavdo
2

Isso foi resolvido.

Havia DUAS listas de acesso - a primeira que era comumente conhecida sobre (ACL), que lista os servidores aos quais um usuário pode se conectar e a segunda lista anteriormente desconhecida de servidores que apenas têm acesso permitido a determinados usuários, ou seja, o inverso de uma ACL . Com os servidores removidos desta lista de restrições, o acesso foi permitido a todos os usuários.

Obrigado por todos os seus comentários e orientações.

Mavdo
fonte
Como essas ACLs se relacionam com uma mensagem de erro "conexão recusada" (que normalmente indica uma recusa de conexão TCP)? Considere se alguém se deparar com isso em dez anos ; tente tornar sua resposta o mais útil possível.
a CVn
Se eu soubesse, eu postaria. Suponho que ele esteja agindo como um firewall interno, enquanto a primeira lista permitirá que o usuário A se conecte apenas aos servidores X, Y e Z, a segunda lista, que parece superá-lo, está apenas permitindo que o usuário B acesse o servidor X e ninguem mais. Esse firewall recusa qualquer outro tipo de conexão. Eu estava postando em um esforço para tornar a postagem útil. Muitas vezes, encontro minha pergunta exata em um fórum que permanece sem resposta nos últimos quatro anos.
Mavdo
"Com muita frequência, encontro minha pergunta exata em um fórum que permanece sem resposta nos últimos quatro anos". Esse é o meu ponto. :) Mesmo dizendo quais listas de acesso você está falando e como acessá-las, provavelmente acrescentaria um valor tremendo a essa resposta. Especialmente porque a conexão TCP recusada acontece séculos antes de qualquer detalhe do usuário ser trocado , essa resposta não é óbvia, na melhor das hipóteses.
um CVn
Um firewall (o que quer que esteja implementando as ACLs) no host de origem (serverY), poderia hipoteticamente identificar o usuário tentando abrir uma conexão e aplicar regras com base nisso. E eu ouvi falar de firewalls simulando conexão recusada em vez de apenas soltar os pacotes bloqueados.
Kenster
Aliás, Mavdo, você deve "aceitar" sua resposta para que esta pergunta seja exibida como respondida. Deve haver uma marca de seleção abaixo da pontuação para sua resposta.
Kenster