如何通过 SSH 访问远程 PC 上的远程键盘

如何通过 SSH 访问远程 PC 上的远程键盘

我有以下情况:

PC#1 运行 UBUNTU,PC#2 运行 UBUNTU

我从 PC#1 打开 ssh(终端)到 PC#2。我想在 PC#1 上的终端中看到来自两个键盘(#1 和 #2)的输入...

请帮忙。PS 我正在使用 bash 脚本...

答案1

你应该使用“终端多路复用器,如屏幕或者tmux

tmux然后您可以在 PC#2 上启动会话(假设您正在使用):

PC#2 $> tmux

当你从 PC#1 进行 ssh 时(使用与 PC#2 中启动的相同用户tmux!),你只需连接到正在运行的会话:

ssh@PC#2 $> tmux attach

现在,PC#2 上的用户和 PC#1 上的用户(通过 SSH 连接)共享相同的终端会话,并且他们可以看到彼此的输入和相对输出。

显然,您可以tmux通过 ssh 启动并从 PC#2 连接。您还可以运行多个独立的会话并附加到其中任何一个或全部。

我建议你阅读链接为两者的 mangpages screentmux它们非常强大,有很多用途和可自定义的参数。
例如,使用两者都很容易创建可由不同用户附加的共享会话,因此你不需要在 PC#2 上和通过 ssh 使用同一个用户登录。

答案2

我确信有很多不同的方法可以做到这一点,但我会使用以下方法:

创建一个tmux主机 PC#2 上的会话;通过 ssh 连接到 PC#2;附加到现有的 tmux 会话。

tmux 适用于每个发行版,但默认未安装,您必须在 PC#2 上安装它。

在这个解决方案中,我看到三种略有不同的情况:

  1. 两个用户使用相同的用户名连接到 PC#2;

    • tmuxPC#2 上的用户使用命令打开 tmux
    • PC#1 上的用户使用与 PC#2 用户相同的用户名通过 PC#2 上的 ssh 连接,并使用tmux attach命令加入会话
  2. 他们使用不同的用户名连接到 PC#2,并且用户可以访问其他用户的文件;

    • PC#2 上的用户创建一个组,包括他自己的用户名和 PC#2 上其他用户的用户名,例如使用:

    groupadd temporaryGroup

    usermod -a -G temporaryGroup usernameOfHisUser

    usermod -a -G temporaryGroup usernameOfOtherUser

    • PC#2 上的用户使用命令打开 tmux tmux -S /tmp/tmux_someKnownName
    • PC#2 上的用户将组所有权转移/tmp/tmux_someKnownName到新创建的组,例如使用:

    chgrp temporaryGroup /tmp/tmux_someKnownName

    • PC#1 上的用户通过 ssh 连接到 PC#2,并使用以下命令附加到现有的 tmux 会话:

    tmux -S /tmp/tmux_someKnownName attach

  3. 他们连接到 PC#2 并且不想让其他用户使用他们的权利。

    • 与第一种情况类似,但为此连接临时创建一个新用户

现在他们共享一个终端,并且还可以看到其他人在这个控制台上输入的内容。

相关内容