假设网络如下:
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?
答案 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
的端口转发