从第三台机器访问SSH隧道

时间:2018-10-13 13:47:09

标签: ubuntu ssh tunneling

我已设置以下ssh隧道,以便从家里访问办公计算机:

[从办公计算机执行]设置连接Office-> Home(因为Home具有公用IP)。设置从办公计算机到家庭的反向隧道:

func remove(at indices: [Int], from text: inout String) {
    let sortedIndices = indices.sorted(by: >)
    for index in sortedIndices {
        if let anIndex = text.index(text.startIndex, offsetBy: index - 1, limitedBy: text.endIndex) {
            text.remove(at: anIndex)
        }
    }
}

remove(at: [inputLabelOne, inputLabelTwo], from: &text)

[从家用计算机执行]在家连接到办公室。从步骤1开始使用隧道:

ssh -CNR 19999:localhost:22 homeuser@home

现在,我如何从第三台计算机而不是家用计算机访问办公计算机?我可以从互联网上的任何计算机访问我的家用计算机。

谢谢

1 个答案:

答案 0 :(得分:-1)

来自SSH文档的-R参数:

  

默认情况下,服务器上的TCP侦听套接字将绑定到                仅回送接口。这可以通过指定-                绑定地址。空的bind_address或地址“ *”,                指示远程套接字应该在所有接口上侦听。                只有在以下情况下,指定远程bind_address才会成功                服务器的GatewayPorts选项已启用(请参见sshd_config(5))。

所以您必须使用:

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

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