SSH 反向隧道:中间服务器可以窃听 SSH 会话吗?

信息安全 SSH 隧道
2021-09-01 13:41:50

假设有三台计算机:(1) 我的笔记本电脑,(2) 具有公共静态 IP 地址的服务器,以及 (3) NAT 后面的 Raspberry Pi。我通过 (2) 从 (1) 连接到 (3),如下所述。

在服务器 (2) 上,我添加GatewayPorts yes/etc/ssh/sshd-config重新启动 SSH 守护进程:sudo systemctl reload sshd.service.

在 Raspberry Pi 上,我创建了一个到服务器的反向 SSH 隧道:

rpi$ ssh -R 2222:localhost:22 username-on-server@server-ip-address

在我的笔记本电脑上,我现在可以使用以下方式连接到 Raspberry Pi:

laptop$ ssh -p 2222 username-on-pi@server-ip-address

问题是:服务器是否能够看到我的笔记本电脑和 Raspberry Pi 之间发送的数据?服务器可以窃听我的笔记本电脑和 Raspberry Pi 之间的 SSH 会话吗?

1个回答

假设没有活动的 MITM 攻击(可以通过在连接到 rpi 时正确检查主机密钥来检测),服务器只能看到笔记本电脑和 rpi 之间的 SSH 流量。

由于有效载荷在 SSH 中加密,服务器只能进行一些广泛的流量分析(即源、目的地、时间、数据大小……),但看不到甚至修改实际有效载荷。请注意,尽管在某些情况下,此类流量分析可能已经很有价值,请参阅例如Timing Analysis of Keystrokes 和 Timing Attacks on SSH