De repente (leia-se: sem alterar nenhum parâmetro), minha máquina virtual netbsd começou a agir de maneira estranha. Os sintomas dizem respeito ao tunelamento ssh.
Do meu laptop eu lanço:
$ ssh -L 7000:localhost:7000 user@host -N -v
Então, em outra concha:
$ irssi -c localhost -p 7000
O debug ssh diz:
debug1: Connection to port 7000 forwarding to localhost port 7000 requested.
debug1: channel 2: new [direct-tcpip]
channel 2: open failed: connect failed: Connection refused
debug1: channel 2: free: direct-tcpip: listening port 7000 for localhost port 7000, connect from 127.0.0.1 port 53954, nchannels 3
Tentei também com o localhost: 80 para conectar ao servidor da Web (remoto), com resultados idênticos.
O host remoto executa o NetBSD:
bash-4.2# uname -a
NetBSD host 5.1_STABLE NetBSD 5.1_STABLE (XEN3PAE_DOMU) #6: Fri Nov 4 16:56:31 MET 2011 root@youll-thank-me-later:/m/obj/m/src/sys/arch/i386/compile/XEN3PAE_DOMU i386
Estou um pouco perdido. Tentei rodar tcpdump
no host remoto e vi esses 'bad chksum':
09:25:55.823849 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 67, bad cksum 0 (->3cb3)!) 127.0.0.1.54381 > 127.0.0.1.7000: P, cksum 0xfe37 (incorrect (-> 0xa801), 1622402406:1622402421(15) ack 1635127887 win 4096 <nop,nop,timestamp 5002727 5002603>
Tentei reiniciar o daemon ssh sem sucesso. Ainda não reiniciei - talvez alguém aqui possa sugerir outros diagnósticos. Eu acho que pode ser o driver da placa de rede virtual ou alguém enraizou nosso ssh.
Idéias ..?
networking
ssh
connection
netbsd
Lorenzog
fonte
fonte
$ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
. (Você pode usar "-v" até 3 vezes para aumentar a verbosidade.) Além disso, é possível que o ssh tenha sido atualizado recentemente?ssh -L 7000... -N -v -v
(dois v's) oussh -L 7000... -N -v -v -v
.Respostas:
Problema resolvido:
... aparentemente, ' localhost ' não foi apreciado pelo host remoto. No entanto, remoto
/etc/hosts
contém:enquanto a interface de rede local estiver
Suspiro. tanto para a recompensa de 100rp eu coloquei :)
fonte
Embora o problema do OP já tenha sido resolvido, decidi compartilhar a solução para o meu problema, porque recebi a mesma mensagem de erro do ssh e não encontrei nenhuma solução em outros sites.
No meu caso, tive que me conectar ao serviço que escuta apenas no IPv6. Eu tentei:
e algumas outras maneiras, mas não funcionou. Qualquer tentativa de conexão
http://localhost:51005
causa erros como este:channel 2: open failed: connect failed: Connection refused
A solução é:
O endereço IPv6 deve estar entre colchetes.
fonte
Eu tentaria primeiro isso.
Você pode usar "-v" até 3 vezes para aumentar a verbosidade.
Acho que essa mensagem de erro pode surgir se um firewall bloquear a porta 7000, mas você já descartou isso. (Se os leitores posteriores não descartarem isso, veja a saída de
netstat --numeric-ports
.)Eu acho que eu poderia ter visto esta mensagem de erro muito tempo atrás, quando ssh teve conhecimento de endereços IPv6 após uma atualização. Eu posso estar errado sobre isso. Se você quiser experimentar, tente o endereço de loopback IPV6 "0: 0: 0: 0: 0: 0: 0: 1" (ou ":: 1").
fonte
"... aparentemente, 'localhost' não foi apreciado pelo host remoto. Ainda assim, o / etc / hosts remoto contém:"
Exceto que você estava executando o ssh no cliente, portanto, 'localhost' não foi apreciado pelo seu cliente. O arquivo remoto / etc / hosts é para o controle remoto de conexão para fora não recebidas conexões.
fonte
Encontrei esse mesmo erro ao tentar conectar-me ao mysql em outro servidor via um túnel ssh. Eu descobri que o parâmetro de endereço de ligação no /etc/my.cnf no servidor de destino estava vinculado ao meu ip externo (servidor NIC duplo) em vez de interno, para o qual eu não usava.
Ao definir o endereço de ligação = 127.0.0.1, eu poderia usar com êxito meu túnel ssh da seguinte maneira:
fonte
Encontrei este erro quando encaminhava portas com um nome de domínio completo em vez de localhost:
A porta estava sendo aberta apenas para o host local, portanto, para aceitar conexões com um nome completo, tive que adicionar uma descrição da porta de ligação :
que permitiria conexões de qualquer lugar (por isso não é tão seguro, use-o com moderação).
fonte
Para mim, a adição de ":" à esquerda funciona para que o comando no seu caso fique assim:
fonte
???
Na
user@host
porta de escuta 7000, nada é simples e é tudo.fonte
Recebi a mesma mensagem de erro:
E a causa foi um erro humano - eu tentando acessar uma porta diferente no host remoto daquela que eu especifiquei.
Apenas pensei em compartilhar isso, embora provavelmente esse não seja o motivo pelo qual a maioria de vocês esteja enfrentando esse erro.
fonte
Para mim, eu estava tentando
ssh -L <port>:<remote server IP>:<port> <login>@<remote server IP>
quando deveria estar fazendossh -L <port>:127.0.0.1:<port> <login>@<remote server IP>
.Espero que isso ajude alguém!
fonte
Interpretação alternativa é, no meu caso, você digitar errado.
O que acontece aqui é que o endereço IP tem muitos zeros, não sendo, portanto, um endereço válido. Portanto, o ssh o trata como um nome de domínio, que não pode ser resolvido. Opa!
PS: Complemento isso para que tenhamos uma lista abrangente de possíveis problemas ao solucionar os mesmos sintomas.
fonte