Debian Lenny 机器的远程桌面视图

Debian Lenny 机器的远程桌面视图

让我总结一下我的项目规范。我在同一个 LAN 上有一个 Windows 服务器和一堆 Debian 客户端,Debian 机器没有 x window 系统,它们必须使用命令行。我在系统启动时运行 QT 应用程序,因此用户在看到其他任何内容之前只与我的 GUI 交互。

根据我的项目要求,我们应该允许系统管理员随时查看最终用户在 Debian 机器上正在做什么,因此他应该能够随时看到他们的屏幕。他将使用 Windows 机器来完成此操作。因此我想知道是否可以与 Windows 服务器共享 Debian 的屏幕,以及其中涉及什么。

我是否需要在 Debian 计算机上设置 VNC 服务器才能实现此目的?还有其他办法吗?

答案1

如果您仅在客户端使用终端(您说您没有在客户端主机上运行任何类型的 xserver),我建议您如何实现此目的。它实际上是一个最小但易于扩展的示例,展示了如何监视远程主机上的终端会话。我不知道有什么特殊的软件可以做到这一点,可能有很多方法可以更优雅地实现这一点,所以请不要期望太多。

我的第一个建议是安装rootsh在客户端。

它是 shell 的包装器,它将所有回显的击键和终端输出记录到文件和/或系统日志中 [根什网站]

不幸的是,你的 debian 存储库没有包含它,所以你必须制作自己的二进制文件。这很容易实现,因为 rootsh 没有花哨的依赖项。此外socat,您还需要一个用于双向数据传输的工具。

如果你调用rootsh

./rootsh -i -f logfile

新的登录 shell 会启动从该 shell 到终端上回显的所有内容,或者写入任何子进程logfile(还有最初用于 tty 的特殊字符)。

现在您可以使用以下命令在客户端上创建 TCP 套接字

socat OPEN:logfile,ioreeof TCP-LISTEN:22222,fork

您可以从中读取管理员主机的信息。例如与

 socat TCP:clientdomain:22222 STDOUT

或使用netcatie telnet(socat 的 Windows 二进制文件可用)。

如果您希望在节点之间拥有更安全的数据流,您还可以指示socat通过 对其进行加密OPENSSL。您可以在文章中找到对此的很好的解释使用 SSL 保护两个 Socat 实例之间的流量

我承认我的方法有几个缺陷,但它足以说明没有任何特殊工具的可能性。

相关内容