AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 489192
Accepted
lorenzog
lorenzog
Asked: 2013-03-20 01:32:37 +0800 CST2013-03-20 01:32:37 +0800 CST 2013-03-20 01:32:37 +0800 CST

túnel ssh recusando conexões com "canal 2: falha na abertura"

  • 772

De repente (leia-se: sem alterar nenhum parâmetro), minha máquina virtual netbsd começou a agir de forma 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 outro shell:

$ irssi -c localhost -p 7000

A depuração 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 localhost:80 conectar ao servidor 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 executar tcpdumpno host remoto e localizei esses 'chksum ruins':

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>

Eu tentei reiniciar o daemon ssh sem sucesso. Ainda não reiniciei - talvez alguém aqui possa sugerir outros diagnósticos. Acho que pode ser o driver da placa de rede virtual ou alguém enraizou nosso ssh.

Ideias..?

networking
  • 15 15 respostas
  • 333107 Views

15 respostas

  • Voted
  1. Best Answer
    lorenzog
    2013-04-01T12:48:24+08:002013-04-01T12:48:24+08:00

    Problema resolvido:

    $ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
    

    ...aparentemente, ' localhost ' não foi apreciado pelo host remoto. No entanto, o controle remoto /etc/hostscontém:

    ::1                     localhost localhost.
    127.0.0.1               localhost localhost.
    

    enquanto a interface de rede local estiver

    lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33184
            inet 127.0.0.1 netmask 0xff000000
            inet6 ::1 prefixlen 128
            inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    

    Suspirar. tanto pela recompensa de 100rp que coloquei :)

    • 68
  2. rzymek
    2013-09-27T00:23:54+08:002013-09-27T00:23:54+08:00

    Embora o problema do OP já tenha sido resolvido, decidi compartilhar a solução para o meu problema, pois 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:

    ssh -f [email protected] -L 51005:127.0.0.1:51005 -N
    ssh -f [email protected] -L 51005:localhost:51005 -N

    e algumas outras maneiras, mas não funcionou. Qualquer tentativa de conexão http://localhost:51005causa erros como este: channel 2: open failed: connect failed: Connection refused

    A solução é:

    ssh -f [email protected] -L 51005:[::1]:51005 -N

    O endereço IPv6 deve estar entre colchetes.

    • 25
  3. Mike Sherrill 'Cat Recall'
    2013-04-02T03:47:07+08:002013-04-02T03:47:07+08:00

    Eu tentaria isso primeiro.

    $ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
    

    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á havia descartado isso. (Se os leitores posteriores não descartaram isso, veja a saída de netstat --numeric-ports.)

    Acho que posso ter visto essa mensagem de erro há muito tempo, quando o ssh tomou conhecimento dos 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").

    • 15
  4. bilbo baggins
    2013-04-02T06:42:03+08:002013-04-02T06:42:03+08:00

    "...aparentemente, 'localhost' não foi apreciado pelo host remoto. No entanto, /etc/hosts remoto contém:"

    Exceto que você estava executando ssh no cliente, então 'localhost' não foi apreciado pelo seu cliente. O arquivo /etc/hosts remoto é para a conexão remota e não para as conexões de entrada .

    • 4
  5. valentt
    2017-04-13T15:53:30+08:002017-04-13T15:53:30+08:00

    Para mim, adicionar ":" à esquerda funciona, então o comando no seu caso ficaria assim:

    ssh -L :7000:localhost:7000 user@host -N -v
    
    • 4
  6. Tom McQuarrie
    2014-04-04T15:55:27+08:002014-04-04T15:55:27+08:00

    Eu encontrei esse mesmo erro ao tentar conectar ao mysql em outro servidor por meio de um túnel ssh. Descobri que o parâmetro de endereço de ligação em /etc/my.cnf no servidor de destino estava vinculado ao meu ip externo (servidor de NIC duplo) em vez de interno, para o qual eu não tinha uso.

    Quando defino o endereço de ligação = 127.0.0.1, pude usar com êxito meu túnel ssh da seguinte maneira:

    ssh -N -f -L 3307:127.0.0.1:3306 [email protected]
    
    mysql -h 127.0.0.1 --port=3307 --protocol=TCP -uusername -ppassword
    
    • 3
  7. cengique
    2014-12-12T11:47:10+08:002014-12-12T11:47:10+08:00

    Encontrei este erro quando estava encaminhando portas com um nome de domínio completo em vez de localhost:

    ssh -L 5900:host.name.com:5900 x11vnc
    

    A porta estava sendo aberta apenas para localhost, portanto, para aceitar conexões com um nome totalmente qualificado, tive que adicionar uma descrição de porta de ligação :

    ssh -L *:5900:host.name.com:5900 x11vnc
    

    o que permitiria conexões de qualquer lugar (portanto, não é tão seguro, use-o com moderação).

    • 3
  8. poige
    2013-03-31T20:06:42+08:002013-03-31T20:06:42+08:00

    ???

    canal 2: falha na abertura: falha na conexão: conexão recusada

    Em user@hostnão há nada escutando a porta 7000, isso é simples e isso é tudo.

    • 2
  9. Hincor
    2019-07-09T01:28:20+08:002019-07-09T01:28:20+08:00

    Interpretação alternativa é, no meu caso, você digitar errado.

    user@host ~ $ ssh -vvvNL 4444:127.0.0.0.1:4444
    ...
    channel 2: open failed: connect failed: Name or service not known
    

    O que acontece aqui é que o endereço IP tem um zero a mais, não sendo um endereço válido. Portanto, o ssh o trata como um nome de domínio que não pode ser resolvido. Ops!

    PS: Eu complemento isso para que tenhamos uma lista abrangente de possíveis problemas ao solucionar os mesmos sintomas.

    • 2
  10. Roei Bahumi
    2017-04-27T23:48:44+08:002017-04-27T23:48:44+08:00

    Recebi a mesma mensagem de erro:

    canal 3: falha na abertura: falha na conexão: conexão recusada

    E a causa foi um erro humano - eu tentando acessar uma porta diferente no host remoto que eu especifiquei.

    Apenas pensei em compartilhar isso, embora essa provavelmente não seja a razão pela qual a maioria de vocês está enfrentando esse erro.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve