lor*_*zog 90 networking ssh connection netbsd
突然间(阅读:没有更改任何参数)我的 netbsd 虚拟机开始运行异常。症状与 ssh 隧道有关。
我从我的笔记本电脑启动:
$ ssh -L 7000:localhost:7000 user@host -N -v
Run Code Online (Sandbox Code Playgroud)
然后,在另一个外壳中:
$ irssi -c localhost -p 7000
Run Code Online (Sandbox Code Playgroud)
ssh 调试说:
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
Run Code Online (Sandbox Code Playgroud)
我还尝试使用 localhost:80 连接到(远程)Web 服务器,结果相同。
远程主机运行 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
Run Code Online (Sandbox Code Playgroud)
我有点失落。我尝试tcpdump在远程主机上运行,发现这些“坏 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>
Run Code Online (Sandbox Code Playgroud)
我尝试重新启动 ssh 守护进程无济于事。我还没有重新启动 - 也许这里有人可以建议其他诊断。我认为它可能是虚拟网卡驱动程序,或者有人植根了我们的 ssh。
想法..?
lor*_*zog 63
问题解决了:
$ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
Run Code Online (Sandbox Code Playgroud)
...显然,远程主机不喜欢“ localhost ”。然而,远程/etc/hosts包含:
::1 localhost localhost.
127.0.0.1 localhost localhost.
Run Code Online (Sandbox Code Playgroud)
而本地网络接口是
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
Run Code Online (Sandbox Code Playgroud)
叹。我付出了 100 卢比的赏金:)
rzy*_*mek 23
虽然OP的问题已经解决了,我还是决定分享一下我的问题的解决方案,因为我从ssh得到了同样的错误信息,在其他网站上没有找到任何解决方案。
就我而言,我必须连接到仅侦听 IPv6 的服务。我试过:
ssh -f root@192.168.0.18 -L 51005:127.0.0.1:51005 -N ssh -f root@192.168.0.18 -L 51005:localhost:51005 -N
和其他一些方法,但没有用。任何连接尝试http://localhost:51005都会导致如下错误:
channel 2: open failed: connect failed: Connection refused
解决办法是:
ssh -f root@192.168.0.18 -L 51005:[::1]:51005 -N
IPv6 地址必须在方括号中。
Mik*_*ll' 12
我会先试试这个。
$ ssh -L 7000:127.0.0.1:7000 user@host -N -v -v
Run Code Online (Sandbox Code Playgroud)
您最多可以使用“-v”3 次来增加详细程度。
我认为此错误消息可以发生,如果防火墙阻止端口7000,但你已经排除了这种可能性。(如果后来的读者还没有排除这一点,请查看 的输出netstat --numeric-ports。)
我想我可能很久以前就看到过这个错误消息,当时 ssh 在更新后第一次意识到 IPV6 地址。我可能错了。如果您想尝试,可以尝试使用 IPV6 环回地址“0:0:0:0:0:0:0:1”(或“::1”)。
| 归档时间: |
|
| 查看次数: |
287720 次 |
| 最近记录: |