沒有 VNC、沒有 root,怎麼遠端看虛擬機畫面、按 Ctrl+Alt+Del?Proxmox 的 QEMU monitor 小技巧
有時候你手上只有一個權限受限的 SSH 帳號:沒有 VNC、沒有 root、也不能用 SCP 傳檔,卻需要看一台 Windows 虛擬機現在卡在什麼畫面。Proxmox 底層的 QEMU monitor,可以做到不少事。
以下的
<vmid>換成你的虛擬機編號。指令會隨 PVE/QEMU 版本變化,使用前請在自己的環境測過。
遠端截圖
qm monitor <vmid>
screendump /dev/shm/screen.ppm
截出來的是 PPM 格式。我的 PVE 上已經有 Python 和 Pillow 套件(沒有的話可以用 apt install python3-pil 安裝),一行就能轉成 PNG:
python3 -c "from PIL import Image; Image.open('/dev/shm/screen.ppm').save('/dev/shm/screen.png')"
坑一:截出來全黑。 Windows 的螢幕保護或省電模式,會讓截圖拍到一片黑——檔案有大小,但內容全黑。要先送一個按鍵喚醒畫面,再截圖。
送任意按鍵,包括 Ctrl+Alt+Del
sendkey ctrl-alt-delete
這是 SSH、遠端桌面都送不進去的組合鍵,用來解開 Windows 的鎖定畫面特別好用。
沒有 SCP 權限,怎麼把截圖傳回來
用 base64 把檔案轉成文字,透過 SSH 的輸出傳回本機,再解碼回圖片。土法,但有效。
沒有 qm 權限,怎麼看虛擬機設定
直接讀設定檔:cat /etc/pve/qemu-server/<vmid>.conf,內容跟 qm config 一樣。
兩個自動化的坑
- SSH 密碼不吃管線:
echo 密碼 | ssh ...一律失敗,因為 SSH 要求真正的終端機。要自動化的話,用 Python 的pexpect模擬終端機。(更好的做法是改用金鑰登入。) - sudo 白名單要能帶參數:如果只允許某個帳號執行特定的
qm指令,白名單要用萬用字元,讓qm status <vmid>、qm monitor <vmid>這類帶參數的指令都能對上同一條規則。
資料來源
- 本人 Proxmox 遠端管理實作紀錄(2026-08)
封面圖由 AI 生成。
留言討論
留言載入中…
留言會公開顯示,請遵守留言規範;違規留言會被移除。