Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 从第三台计算机访问SSH隧道_Ubuntu_Ssh_Tunneling - Fatal编程技术网

Ubuntu 从第三台计算机访问SSH隧道

Ubuntu 从第三台计算机访问SSH隧道,ubuntu,ssh,tunneling,Ubuntu,Ssh,Tunneling,我已设置了以下ssh隧道,以便从家中访问office计算机: [从办公机器执行]设置连接office->Home(因为Home有公共IP)。设置从办公室计算机到家庭的反向通道: ssh -CNR 19999:localhost:22 homeuser@home [从家用计算机执行]从家用计算机连接到办公室。使用步骤1中的隧道: ssh -p 19999 officeuser@home 现在,我如何从第三台机器而不是家用机器访问我的办公室机器?我可以从互联网上的任何机器访问我的家用机器 感谢S

我已设置了以下ssh隧道,以便从家中访问office计算机:

[从办公机器执行]设置连接office->Home(因为Home有公共IP)。设置从办公室计算机到家庭的反向通道:

ssh -CNR 19999:localhost:22 homeuser@home
[从家用计算机执行]从家用计算机连接到办公室。使用步骤1中的隧道:

ssh -p 19999 officeuser@home
现在,我如何从第三台机器而不是家用机器访问我的办公室机器?我可以从互联网上的任何机器访问我的家用机器


感谢SSH文档中提供的
-R
参数:

默认情况下,服务器上的TCP侦听套接字将绑定到 只有环回接口。这可以通过指定来覆盖—— 正在删除绑定地址。空的绑定地址或地址“*”, 指示远程套接字应侦听所有接口。 只有在以下情况下,指定远程绑定地址才会成功: 服务器的网关端口选项已启用(请参阅sshd_配置(5))

因此,您必须使用:

ssh -CNR 0.0.0.0:19999:localhost:22 homeuser@home

如果您在家庭服务器上使用OpenSSH
sshd
服务器,则需要将
/etc/ssh/sshd_-config
中的
GatewayPorts
选项设置为
yes

,这个答案不属于这个问题:它和问题本身一样离题。请不要通过回答这些问题来鼓励离题。可能这是离题,但答案确实属于该问题,并且是正确的解决方案,抱歉。请转述常见问题解答。这是离题的,因为它属于另一个stackexchange网站。