我想弄清楚当我使用OpenSSH(ssh -L <local_port>:<remote_host_2> -fN <remote_host_1>
)进行端口转发时会发生什么,以及它与简单地ssh到远程主机的比较。
更具体地说,我想知道remote_host_1
是否被泄露,是否可以嗅到流量
我要发送给remote_host_2
?从ssh的man文件来看,这个问题的答案似乎是正面的,因此链(例如,我试图通过telnet
remote_host_2
到remote_host_1
)看起来像这样:
local_host - [安全] - &gt; remote_host_1 - [open] - &gt; remote_host_2 。
但是,如果我通过前面提到的前端(remote_host_2
)ssh到ssh <local_host> -p <local_port>
会发生什么?是否正确,即使remote_host_1
受到损害,也没有危险?换句话说,在这种情况下,以下是真的:
local_host - [双重加密] - &gt; remote_host_1 - &gt; [单一加密] - &gt; remote_host_2 。
最后,第二种情况仍然不同于ssh'ing到remote_host_1
和ssh'ing到remote_host_2
,从某种意义上说,如果remote_host_1
被泄露了,它可以记录所有内容吗?
非常感谢!
答案 0 :(得分:0)
您的数据在客户端和SSH之间加密。从SSH到目标端口,它当然是纯文本,或者更确切地说,它正是您通过隧道发送到目标应用程序的内容。只有隧道部分被加密。
答案 1 :(得分:0)
简而言之,所有问题都应该回答'是'。
回答我所有问题的参考文献是Daniel J. Barrett&amp; Sons的“SSH,The Secure Shell”的第11章。理查德西尔弗曼。可以找到包含所有相关信息的摘录here。
我再次感谢Simon和EJP的回答。