首先,嵌套 ssh是指以下使用 ssh 的方式:
ssh usera@Bob 'ssh usera@C'
假设A想在服务器上登录C,但由于某种原因C不能直接访问A(例如C,在某个 FW 或 NAT 之后)。幸运的是,A的朋友Bob可以直接连接,C也A可以连接Bob。因此,为了登录C,A实际上会做上述事情。
我在这里的问题是,鲍勃能够看到A和C之间的通信中明确,给予Bob是他的服务器的管理员。我的猜测是肯定的,但不太确定我对 SSH 内部的理解。
我认为 Bob 可以看到明文的原因是:有两个会话密钥:kab和kac, 分别用于外部和嵌套ssh命令。kac理想情况下,Bob 是不知道的。(当 Bob 是 root 用户时是这样吗?)。无论如何,当消息到达 Bob 时,它必须用 解密,kab然后用 加密kac并发送给C。所以在加密和解密之间,明文在内存中的某处。Bob 应该能够看到它,虽然不是直截了当。
有什么见解吗?