我有以下情况:
- 安全网络之外的客户端 A
- 安全网络中的客户端 B
- 服务器 C 也在安全网络中
目标是使用 RDP 建立从客户端 A 到服务器 C 的 rdp 会话。我无法直接与服务器 C 通信。但可以通过 ssh 与 Client B 通信
我的想法是建立与 ClientB 的 ssh 连接,然后通过 Client B 将 rdp 代理到服务器 C。
设置如下:
- ClientB 运行 ssh 服务器
- ClientA 使用 ssh 的 -D 标志连接到 ClientB:
ssh -D 127.0.0.1:9050 user@ClientB
- 现在我可以使用带有 rdesktop 的代理链连接到 ServerC
proxychains rdesktop ServerC
这适用于可以建立与端口的 TCP 连接的级别,但由于服务器启用了 NLA(网络级别身份验证),因此我无法连接。rdesktop ist 中的错误:
Failed to initialize NLA, do you have correct Kerberos TGT initialized ?
有趣的是我可以使用
proxychains kinit user@domain.local
以下方式获得 krbtgt 票证和服务票证:
proxychains kvno TERMSRV/ServerC.domain.local
并且两者都列在 klist 中,因此 NLA 应该可以工作,但 rdesktop 仍然失败并出现上述错误
proxychains rdesktop serverC
当我将 ClientA 放入安全网络时,它是这样工作的:
- 得到 krbtgt
kinit@domain.local
- 建立rdp
rdesktop ServerC
但是为什么这不能通过 ssh/socks 隧道工作呢?
PS:这不是黑客的东西,我只是尝试简化系统管理
编辑:这似乎是一个 rdesktop 问题,因为 remmina 在这种情况下工作