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.
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.