Linux:连接到另一个终端会话

Linux:连接到另一个终端会话

我可以使用 screen 或 tmux 连接到其他终端会话,或共享它们。但这只有在我们首先知道我们将使用它们时才有效。
由于 root 可以访问所有内容,有没有办法在不运行 screen 的情况下做同样的事情?一些管道通过 tee 等。

例如远程接管某人打开的控制台或 ssh 会话。允许查看正在运行的内容并正确关闭。

答案1

我只知道systemtap 配方。非常基础,但也许有技能的人可以改进它。

或者你可以看看conspy。我知道您使用 Debian,只需 apt-get 即可。它只能访问控制台,而不能访问 ssh。
ttysnoop很好,但正如您所说,需要先安装。

答案2

过去我使用过 TTYsnoop,它似乎仍然包含在 Debian 和 Ubuntu 中。

答案3

简短的回答:不使用库存工具。

您可以拼凑一些东西来戳内核并通过文件描述符进行搜索,但您付出的努力将远远大于您从中获得的回报。

答案4

查看 SSHLog:https://github.com/sshlog/agent

它是一个 Linux 守护进程,使用 eBPF 过滤器允许管理员用户“附加”到服务器上的其他会话。因此,如果其他用户在该服务器上运行,您可以看到他们:

jim@devlaptop:~$ sshlog sessions
  
 User        Last Activity             Last Command               Session Start              Client IP           TTY
jim             just now              /usr/bin/gcc             2023-04-10 16:16:18        127.0.0.1:58668         17
billy          10 min ago            /usr/sbin/fdisk           2023-04-10 12:11:05        15.12.5.8:58669         32

并附加到它们:

jim@devlaptop:~$ sshlog attach 32

Attached to TTY 32.  Press CTRL+Q to exit

billy@devlaptop:~$ 

相关内容