ssh隧道通过telnet服务器
假设网络是这样的:ssh隧道通过telnet服务器
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连接C从A到B?
如果你可以运行在B项目则可以使用类似simpleproxy将有关B(不是22)的TCP连接C.
然后你从A ssh到一些端口,这会将您的连接到C.因为SSH会话是A < - > C,所以一切仍然会被加密。
确定的Telnet到B 实际上你可以ssh到自己在B,但下面的命令可能无法工作,但尝试第一
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有127.0.0.1在2200上收听,而不是0.0.0.0,这个技巧不会工作......但是如果是这样......那么你可以连接到端口2200上的ssh到b并且它会打到c
ssh 192.68.0.2:2200
我中有你ssh到本地主机上的b,因为我不记得的命令没有产生一个外壳和IM懒得看它了...但如果上述解决方案不工作,你将无法重定向端口与ssh没有根,你将不得不改变配置文件b
你必须添加 GatewayPorts yes
到s在/ etc/sshd的/ conf目录SHD配置文件/ sshd_config中
http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch09_02.htm - 这个谈论所有关于端口转发的ssh
为superuser.com(或者serverfault.com)更好的适合 – rene 2012-02-18 11:42:19
你可能* *能从A-> B进行Telnet会话,然后从B-> A和从B-> C进行SSH会话以及某种类型的管道,但是您所做的所有操作仍将从A-> B清除,所以,为什么要麻烦? – mkoistinen 2012-02-18 11:51:17
首先你把鸡放在船上,因为狐狸不会吃鸡饲料。然后你离开这只鸡,回来找狐狸。一旦你在对方的狐狸和鸡,你抓住鸡,并把他带回原来的一面。你离开鸡,但采取鸡饲料。然后你用你最后一次旅行回来,并得到鸡。 – synthesizerpatel 2012-02-18 12:02:38