Linux终端:如何捕获或观看其他终端会话

23

假设我正在使用ssh访问服务器。与此同时,有另一个人正在访问该服务器。

是否可以观察该人终端发生的情况?也就是说,我能否仅仅观察他正在输入什么?

10个回答

16
如果对方正在使用Linux控制台,你可以使用 conspy

14

一个root用户是否有可能查看其他人的控制台,而这是不被期望的? - Hanfei Sun
我的回答是关于共享终端,而不是窥探别人的终端。我不知道如何做到这一点。 - Ryan C. Thompson

7

我会协助翻译涉及IT技术的内容,以下是您需要翻译的内容:

我也采用了类似Maze所说的方法。这是一种单向共享,对于访客只读。具体操作如下:

1)主机在访客有读取权限的某处开启script命令,并设置必要的权限,例如:

$ script -f /tmp/shared_screen
Script was started....
$ chmod 640 /tmp/shared_screen
$ chgrp shared_group /tmp/shared_screen
< p > -f 命令会永久刷新内容,因此延迟非常低。

2) 客户端开始转储文件内容:

$ tail -f /tmp/shared_screen

在这种情况下,-f 使 tail 等待文件的更多输出。使用 ctrl-C 停止显示文件内容。

4

您可以使用小工具script将终端记录到文件中。观察方只需tail -f该文件以进行跟踪。

这是一种更简单的方法,但对于大多数情况非常有效。


2
为了记录 Alice 在终端中输入的内容,并在第二天让 Bob 看到被输入的内容,而又不会有任何风险导致 Bob 在终端中意外地输入任何内容,Alice 可以在她的终端窗口中输入 "showterm" ( http://showterm.io ) 来开始录制。
为了共享一个终端,使得 Alice 和 Bob 都能看到 "相同的" 终端窗口并都能在该窗口中输入命令,似乎有三种流行的方法:Byobu, tmux, 或 screen
(tmate 是 tmux 的一个分支,效果同样好,也许更好。)

2

有趣且简单的内容:

watch -n 1 cat /dev/vcsa1

watch -n 1 指的是刷新时间。


1

根据是用于“实时”还是“点播”目的,你可以通过像www.playterm.org这样的服务在线重播它。


1
如果您想在防火墙或NAT后面的机器上共享会话,可以使用开源终端共享程序Termbeamer

1

你也可以尝试使用"cat /dev/vcsa1"


0
在 CoCalc 中,Linux 终端都是协作的。您可以观看其他人的输入,也可以自己输入,并且有一个侧边栏用于讨论。请参见 https://cocalc.com/features/terminal,您还可以在自己的服务器上安装https://github.com/sagemathinc/cocalc-docker(这样您就不需要使用 cocalc.com)。
免责声明:我主要编写了这些终端,因为我想能够协作使用命令行数学软件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接