我知道 Linux 可能会根据配置允许交互式用户通过按Ctrl-重新启动服务器Alt,Del即使没有登录。我有一个通过 SSH 到远程服务器的远程控制台会话,但我想重新启动它。是否可以通过 SSH(或)以某种方式发送组合键Control?如果是这样,怎么做?AltDeletetelnet
编辑:澄清一下,我不只是连接到服务器端——我是通过 KVM over IP 交换机连接的,所以它是一个串行控制台sshd
。但是这个连接本身是通过 SSH 进行的,ssh
我的问题是如何通过它发送Ctrl--组合键。AltDel
您可以使用 Sysrq 触发器来立即重置(就像按 ALT-BREAK-b):
echo b >/proc/sysrq-trigger
在此之前,您可能希望同步所有文件系统,以免丢失任何数据:
echo s >/proc/sysrq-trigger
这可能仅在您的内核中启用了 CONFIG_MAGIC_SYSRQ 时才有效。顺便说一句,维基百科解释了可能的键。
如果您连接到串行控制台并且您的内核已启用
CONFIG_MAGIC_SYSRQ
并/proc/sys/kernel/sysrq
启用(在我的 Ubuntu 机器上默认设置),您可以尝试BREAK, ALT-BREAK或CTRL- BREAK(取决于SSH
串行转换器)。如果可行,您可以按下h(在 5 秒内)以获取可用命令的列表(“
s = sync filesystems
”和“b = force immediate reboot
”可能是您要查找的内容)。有关更多信息,请查看linux/Documentation/sysrq.txt
在您提到的评论中 (ttyS0) - 这不是本地控制台,而是串行控制台。
我认为您不能从串行控制台执行 Ctrl-Alt-Del。
http://osdir.com/ml/linux.hardware.dell.poweredge/2003-01/msg00200.html建议了一种让magic-sysrq 通过串行工作的方法-也许这足以重新启动服务器?
三指重启只能从本地控制台使用。
它由以下 inittab 行处理:
如果您没有对机器的物理访问权限,则需要使用具有 root 权限的 shell 中的
shutdown
、halt
或命令。reboot
查看远程 KVM 交换机以在没有 SSH 访问的情况下重新启动。 http://en.wikipedia.org/wiki/KVM_switch#Remote_KVM_devices
是否有可能该命令已被禁用?我经常在我的生产服务器上禁用它,通常是为了在我忘记我正在登录 Linux 机器而不是 Windows 机器并意外按下 Ctrl-Alt-Del 并随后重新启动机器时保护它们。
在我留下它以便非技术人员可以重新启动的机器上,我将 Dan 示例中的时间从“现在”延长到“2 分钟”,因此如果需要,可以中止重新启动的可能性很小。
如果您知道远程计算机的用户名/密码,您可以使用 SysInternals PSShutdown命令重新启动远程计算机。请注意,如果您遇到强制 SSH 到 KVM 的麻烦,您的服务器可能已设置好,因此您无法在不登录的情况下重新启动机器。事实上,如果我没记错的话,它是 MS 服务器的默认设置。
根据您希望机器发生的情况,在命令行上发出“shutdown -h now”、“reboot”或“halt”不是更容易吗?