1

我试图弄清楚当我使用 OpenSSH ( ssh -L <local_port>:<remote_host_2> -fN <remote_host_1>) 进行端口转发时会发生什么,以及它与简单地 ssh'ing 到远程主机相比如何。

更具体地说,我想知道是否remote_host_1被泄露,它可以嗅探我发送到的流量remote_host_2吗?从 ssh 的 manfile 看来,这个问题的答案是肯定的,因此链(例如,如果我试图telnet通过remote_host_2remote_host_1看起来像这样:
local_host --[secure]--> remote_host_1 --[open ]-> remote_host_2

但是,如果我remote_host_2通过上述端口转发 ( ssh <local_host> -p <local_port>) SSH 到该端口会发生什么?是否正确,即使remote_host_1被妥协,也没有危险?换句话说,在这种情况下是否为真:
local_host --[double encryption]--> remote_host_1 --> [single encryption] --> remote_host_2

最后,第二种情况是否仍然不同于 ssh'ing toremote_host_1和 ssh'ing to remote_host_2from 它,从某种意义上说,如果remote_host_1受到损害,它可以记录所有内容?

非常感谢你!

4

2 回答 2

0

您的数据在客户端和 SSH 之间被加密。从 SSH 到目标端口,它当然是纯文本的,或者更确切地说,它正是您通过隧道发送到目标应用程序的内容。只有隧道部分被加密。

于 2012-08-05T19:30:21.923 回答
0

简而言之,所有问题都应该回答“是”。

回答我所有问题的参考资料是 Daniel J. Barrett 和 Richard Silverman 的“SSH,安全外壳”的第 11 章。可以在此处找到包含所有相关信息的摘录。

我再次感谢 Simon 和 EJP 的回答。

于 2012-08-06T14:35:38.313 回答