ssh通过telnet服务器进行隧道传输

时间:2012-02-18 11:38:05

标签: ssh tunneling

假设网络如下:

A(192.68.0.1)-------------------- B(192.68.0.2)--------------- --- C(192.68.0.3)

A是我的ssh服务器,C是目标ssh服务器,我可以从A远程登录到B(我的帐户不是root用户)。

B是服务器不允许来自其他人的ssh登录,但B可以通过ssh登录到C.

是否可以通过ssh将A从A连接到B?

2 个答案:

答案 0 :(得分:0)

如果您可以在B上运行程序,则可以使用类似simpleproxy的内容将TCP连接转发到C。

然后你从A连接到B(不是22)上的某个端口,它将你的连接转发到C.由于SSH会话是A< - > C,所有内容仍然会被加密。

答案 1 :(得分:0)

ok telnet到b 你实际上可以在b上自己ssh,但是下面的命令可能不起作用,但先试试

ssh -L0.0.0.0:2200:192.68.0.3:22 127.0.0.1 ... 如果sshd没有在b上运行...则ssh到c

ssh -L0.0.0.0:2200:192.68.0.3:22 192.68.0.3

做一个

netstat -an | grep 2200 - 在b(192.68.0.2)上执行此操作

如果netstat在2200上有127.0.0.1监听而不是0.0.0.0这个技巧不会工作......但如果确实...你可以连接到端口2200上的ssh到b并且它会命中c

ssh 192.68.0.2:2200

我有你在b上的localhost,因为我不记得没有产生一个shell的命令,我也懒得查找它...但如果上面的解决方案不起作用你将无法使用ssh重定向端口如果没有root,则必须更改b

上的配置文件

你必须添加 {/ 1}}到/ etc / sshd / conf / sshd_config中的sshd配置文件

http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch09_02.htm - 这说明了与ssh

的端口转发