como resolver o erro: “ssh_exchange_identification: conexão fechada pelo host remoto”

1

O erro:

ssh_exchange_identification: Connection closed by remote host

tem muitas soluções propostas, mas nenhuma parece resolver meu problema.

Isso é o que eu quero realizar:

Eu tenho um servidor (10.0.0.5) SSH nele. O servidor tem os seguintes usuários e seus shells:

passport , shell=/bin/false
user1, shell=git-shell
user2, shell=git-shell
me, shell=bash

O arquivo sshd_config tem a seguinte entrada no final:

AllowTcpForwarding no
      Match User passport,user1,user2
      AllowTcpForwarding true
      PermitOpen 10.0.0.5:8080
      PermitOpen 10.0.0.5:22

Também ativei a autenticação de chave pública. O objetivo é desabilitar todo o encaminhamento TCP do SSH e permitir que os usuários mencionados acima tenham o encaminhamento em duas portas:

- SSH
- a web server

Nos meus arquivos /etc/hosts.allow e .deny , não há entradas.

Eu configurei o authorized_keys file (apenas o ssh-rsa ...) em /home/passport/.ssh/authorized_keys .

De uma máquina Windows, tente SSH:

ssh [email protected] -N -L 22:10.0.0.5:22 -L 8080:10.0.0.5:8080

Isso funciona bem quando "tento navegar para http://127.0.0.1:8080 " Isso significa que meu encaminhamento de porta funciona bem.

Agora, quero tentar o SSH através desse túnel e usar o 'user1':

ssh -N [email protected]

Neste momento, recebo:

ssh_exchange_identification: Connection closed by remote host

Considerando que, se eu apenas SSH diretamente da minha máquina Windows, eu tenho sucesso:

ssh -N [email protected]

Eu não sei porque isso não funciona.

Eu inspeciono /var/log/auth.log e observo:

Feb  4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: ctype direct-tcpip rchan 257 win 16384 max 16384
Feb  4 10:28:23 myhost sshd[2097]: debug1: server_request_direct_tcpip: originator 0.0.0.0 port 0, target 10.0.0.5 port 22
Feb  4 10:28:23 myhost sshd[2097]: Received request to connect to host 10.0.0.5 port 22, but the request was denied.
Feb  4 10:28:23 myhost sshd[2097]: debug1: server_input_channel_open: failure direct-tcpip

Eu tento liberar o iptables com -F e tentar reiniciar o sshd, mas ainda assim recebo um erro de conexão fechada.

  • Por que não posso ssh via túnel?

  • A razão pela qual eu criei o usuário "passaporte" é permitir que os usuários façam login remotamente na minha rede. Eles poderão usar o servidor da Web.

Agora, se eles quiserem usar o GIT, eles usarão o seguinte, por exemplo:

git clone ssh://[email protected]/repos/repo.git

Estou usando o Debian 6, com o Linux 2.6.32 e o OpenSSH 5.5p1

Por favor, informe sobre como resolver o meu problema. Eu tentei todas as soluções listadas para a pergunta com o mesmo título da minha pergunta, mas sem sucesso.

    
por Elias Bachaalany 04.02.2013 / 11:43

1 resposta

1

Você só pode especificar uma diretiva PermitOpen ; Se você quiser permitir vários reencaminhamentos, especifique-os na mesma linha, separados por espaço em branco:

PermitOpen 10.0.0.5:8080 10.0.0.5:22

Parece que o OpenSSH aplica a primeira diretiva encontrada.

    
por 04.02.2013 / 22:07