![通过 SSH 访问本地控制台](https://linux22.com/image/636255/%E9%80%9A%E8%BF%87%20SSH%20%E8%AE%BF%E9%97%AE%E6%9C%AC%E5%9C%B0%E6%8E%A7%E5%88%B6%E5%8F%B0.png)
我正在寻找一种通过 SSH 与本地控制台交互的方法 - 就像使用直接连接的键盘一样。
在我的特定情况下,我得到了一个 debian 服务器(只有控制台,没有 X 系统),它在 tty1 上显示几个文本值。这台计算机上没有连接输入设备,只有一个显示器。配置是通过 ssh 完成的。在 SSH 中执行的命令应该显示在 tty1 上。
有没有办法以与 VNC 会话在 X-Window 系统上相同的方式与 tty1 进行交互?
答案1
您可以从 读取屏幕上当前显示的文本/dev/vcs
。如果您的终端窗口的列数与服务器上的实际屏幕输出相同,那么您只需键入cat /dev/vcs
并获取可识别的输出。
您可以附加一个数字来访问特定控制台,而不是始终访问活动控制台。vcsa
如果您还需要格式信息,则可以使用。例如,您可以使用/dev/vcsa1
获取第一个 VC 上的文本以及格式信息。
生成键盘输入是另一回事。据我所知,使用的调用gpm
仅支持剪切粘贴,并且不允许输入任意按键。网上的一些搜索表明它不支持开箱即用,但可以实施作为一名司机。
答案2
如果是实际的服务器,它将具有带外管理 (IPMI) 功能,可让您访问系统控制台。例如,戴尔服务器称之为 iDRAC,HP 服务器有 iLO,等等。
如果您的服务器没有这样的功能,那么您可以将 IP KVM 设备连接到它。
答案3
我知道这是一个老问题,但这里有一些见解:
使用“屏幕”是正确的方法
首先输入
screen
输入你的命令
按 CTRL+A d(退出屏幕)
这会将屏幕与当前会话分离。
重新登录服务器后,您可以输入:
screen -ls
查看活动屏幕列表使用以下命令重新连接屏幕:
screen -r <id of the screen>