用 Siri 来控制虚拟机开启和关闭
作者分享了通过 iOS 快捷指令结合 SSH 命令实现对虚拟机远程控制的方法。用户可创建 bash 脚本 vmctl.sh 来管理虚拟机的启动与关闭,并配置 sudo 免密权限。最终通过 Siri 语音指令即可实现对虚拟机的便捷控制。 2025-9-21 00:0:0 Author: jiajunhuang.com(查看原文) 阅读量:14 收藏

我有下载专用的虚拟机和游戏专用的虚拟机,每次打开使用,都要通过 SSH 进去执行命令,或者用 cockpit 网页进行开关, 最近发现 iOS 快捷指令可以执行 SSH 命令,配置一个快捷指令,就可以通过 Siri 进行控制了。

控制脚本

#!/bin/bash

# 检查是否提供了参数
if [ $# -ne 2 ]; then
    echo "用法: $0 <start/shutdown> <虚拟机名称>"
    exit 1
fi

OP="$1"
VM_NAME="$2"

# 检查虚拟机是否存在
if ! sudo virsh dominfo "$VM_NAME" &>/dev/null; then
    echo "错误: 虚拟机 '$VM_NAME' 不存在"
    exit 2
fi

case "$OP" in
    "shutdown")
        echo "正在关闭虚拟机 '$VM_NAME'..."
        sudo virsh shutdown "$VM_NAME"
        ;;
    "start")
        echo "正在启动虚拟机 '$VM_NAME'..."
        sudo virsh start "$VM_NAME"
        ;;
    *)
        echo "虚拟机 '$VM_NAME' 处于未知状态: $VM_STATE"
        echo "请手动检查状态"
        exit 3
        ;;
esac

将文件内容保存到 /usr/local/bin/vmctl.sh,并设置执行权限

配置 sudo 免密执行该脚本

新增文件 /etc/sudoers.d/vmctl,内容如下:

# 允许用户无需密码执行vmctl
jiajun ALL=(ALL) NOPASSWD: /usr/local/bin/vmctl.sh *

配置快捷指令

在 Siri 设置中,点击左上角的添加按钮,搜索SSH,然后配置好用户名、IP、证书、命令,然后就可以通过Siri来控制虚拟机开启关闭, 非常方便。


相关文章



文章来源: https://jiajunhuang.com/articles/2025_09_21-siri_ssh.md.html
如有侵权请联系:admin#unsafe.sh