通过SSH发送Ctrl-Alt-Del?

我知道,根据configuration的不同,Linux可能会允许交互式用户通过按下CtrlAltDel来重新启动服务器,即使不login也是如此。我通过SSH 远程控制台会话到远程服务器,但是我无法login想重新启动它。 是否有可能以某种方式发送组合键控制替代 – 通过SSH(或telnet删除 ? 如果是这样,怎么样?

编辑:澄清,我不只是通过ssh连接到服务器的sshd – 我通过一个KVM over IP交换机连接,所以它是一个串行控制台。 但是这个连接本身是通过SSH,我的问题是如何发送CtrlAltDel组合键。

如果您连接到串行控制台并且您的内核启用了CONFIG_MAGIC_SYSRQ/proc/sys/kernel/sysrq (默认在我的Ubuntu机器上),您可以尝试BREAKALTBREAKCTRLBREAK (取决于SSH串行转换器)。

如果有效,你可以按h键(5秒钟内)来获取可用命令列表(“ s = sync filesystems ”和“ b = force immediate reboot ”也许就是你要找的)。

有关更多信息,请参阅linux / Documentation / sysrq.txt

您可以使用Sysrq触发器来立即复位(就像按下ALT-BREAK-b):

echo b >/proc/sysrq-trigger

在此之前,您可能需要同步所有文件系统,以免丢失任何数据:

echo s >/proc/sysrq-trigger

这可能只有在内核中启用了CONFIG_MAGIC_SYSRQ的情况下才有效。 可能的钥匙是在维基百科 btw解释。

在你提到的评论(ttyS0) – 这不是本地控制台,它是一个串行控制台。

我不认为你可以从串行控制台做Ctrl-Alt-Del。

http://osdir.com/ml/linux.hardware.dell.poweredge/2003-01/msg00200.htmlbuild议一种方法让magic-sysrq在串行上工作 – 也许这将足以重新启动服务器?

三指重启只能从本地控制台使用。

它由以下的inittab行处理:

 # What to do at the "Three Finger Salute". ca:12345:ctrlaltdel:/sbin/shutdown -r now 

如果您没有对计算机的物理访问权限,则需要使用具有root权限的shell执行shutdownhaltreboot命令。

查看远程KVM切换器重新启动,无需SSH访问。 http://en.wikipedia.org/wiki/KVM_switch#Remote_KVM_devices

有没有可能该命令已被禁用? 我经常在我的生产服务器上禁用它,通常是为了防止我忘记我正在loginLinux机器而不是Windows机器,并意外按下Ctrl-Alt-Del并随后重新启动计算机。

在我离开的机器上,让非技术人员可以重新启动,我把Dan的例子中的时间从“现在”延长到“2分钟”,所以如果需要的话,可能会中断重新启动的机会。

如果您知道远程计算机的用户名/密码,则可以使用SysInternals PSShutdown命令重新启动远程计算机。 请注意,如果您遇到了将SSH强制迁移到KVM的问题,那么您的服务器可能是安装的,因此您无法login就无法重新启动计算机。实际上,如果我没有记错的话,它是MS的默认服务器。

只是在命令行上发出“shutdown -h now”,“rebo​​ot”或“halt”,这取决于你喜欢的机器发生了什么?