c0r*_*0rp 7 linux ssh magic-sysrq reboot
是否可以使用 SSH 在远程机器上执行 Magic SysRq 密钥?例如,我试图像这样运行:
xdotool key Alt+Sys_Req+H
Run Code Online (Sandbox Code Playgroud)
但是我在控制台中看不到任何帮助,在/var/log/syslog.
请假设我没有 root 访问权限,并且无法写入/proc/sysrq-trigger.
小智 11
如果在内核中启用了 sysrq,这应该可以工作(在我的机器上进行了现场测试):
# echo "h" > /proc/sysrq-trigger
Run Code Online (Sandbox Code Playgroud)
需要root权限。
SysRq 键不是 X 处理的常规键,因此 xdotool 无法触发魔法键,因为它与 Xorg 本身交互,而不是内核。幸运的是,内核提供了一个特殊文件来从脚本和远程 shell 触发它们。
使用紧急同步命令 (S) 在我的设备上进行了测试:
# echo "s" > /proc/sysrq-trigger
# dmesg | tail -n 2
[263565.001982] SysRq : Emergency Sync
[263565.115168] Emergency Sync complete
Run Code Online (Sandbox Code Playgroud)
我很好奇是否可以SysRq使用 Linux 设备注入按键,因此我在另一个小项目uinput中添加了一些代码,这似乎是可能的。但正如已经指出的,当然您也需要拥有 root 访问权限。
对于这个特定的组合键,我必须执行:
./sendevtkeys /dev/uinput 56 99 35
Run Code Online (Sandbox Code Playgroud)
其中 56 对应于Alt,99 对应于SysRq,35 对应于h。