无法使用ssh启动端口转发


0

我使用以下内容在192.168.1.8上启动sshd:

sudo /usr/sbin/sshd -ddd

然后我尝试打开到192.168.1.5:1234的SSH隧道,但我无法这样做。这是sshd -ddd说:

debug1: server_input_channel_open: confirm direct-tcpip
debug3: channel 1: waiting for connection
debug1: channel 1: connected to 192.168.1.5 port 1234
debug2: channel 1: read<=0 rd 10 len 0
debug2: channel 1: read failed
debug2: channel 1: close_read
debug2: channel 1: input open -> drain
debug2: channel 1: ibuf empty
debug2: channel 1: send eof
debug2: channel 1: input drain -> closed
debug2: channel 1: rcvd close
debug2: channel 1: output open -> drain
debug3: channel 1: will not send data after close
debug2: channel 1: obuf empty
debug2: channel 1: close_write
debug2: channel 1: output drain -> closed
debug2: channel 1: send close
debug2: channel 1: is dead
debug2: channel 1: garbage collecting
debug1: channel 1: free: direct-tcpip, nchannels 2
debug3: channel 1: status: The following connections are open:
  #0 server-session (t4 r256 i0/0 o0/0 fd 11/9 cc -1)
  #1 direct-tcpip (t4 r257 i3/0 o3/0 fd 10/10 cc -1)

所以它能够连接,但读取失败。然而,当我这样做时(192.168.1.8),我能够连接(没有失败的读取):

ssh -p 1234 username@192.168.1.5

那么为什么当192.168.1.8上的直接ssh连接没有时,隧道在192.168.1.8上失败?

我正在使用PuTTY来创建隧道。


在“打开SSH隧道”时输入的确切命令是什么?
Jakuje 2015年

我正在使用PuTTY按需动态创建隧道。PuTTY创建一个SOCKS5服务器,我发送请求并从中读取响应。然后我使用我编写的PHP脚本连接到SOCKS5服务器,后者又告诉PuTTY请求隧道。PuTTY正在创建隧道,如上所示。我可以成功创建隧道到google.com:80并且能够发送HTTP请求并读取响应但不是192.168.1.5:1234。至少我应该得到SSH服务器标识符(SSH-2.0-无论如何),但我不是。
neubert 2015年

您是否在服务器上启用了转发功能?SOCKS代理是动态转发。你选择那个吗?
Jakuje 2015年

我根据superuser.com/q/983503/172193检查了PuTTY中的动态转发。至于它是否在服务器上启用......好吧,如果我告诉SOCKS5代理打开与google.com的连接然后发送HTTP请求我得到回复。所以它似乎已经启用了。当我这样sudo vim /etc/ssh/sshd_config做时,我/Forward唯一看到的就是X11Forwarding yes。我没有看到,AllowTcpForwarding但也许这只是一个客户设置..
neubert 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.