Linux
使用 xen 設置緊急控制台訪問
在 Gandi(或其他供應商)上,您可以為您的虛擬機啟動緊急控制台。它將 SSH 通道綁定到臨時 IP 和埠。
我有自己的伺服器在 xen 上執行。我想實現一個緊急控制台,但我不知道從哪裡開始。
可以使用
xm console <servername>
命令訪問控制台。我想可以將 stdin/stdout/stderr 綁定到在所選隨機埠上執行的 SSH 伺服器。總體構想是,當有人需要緊急訪問他們的虛擬機時,他們可以使用自己的憑據登錄管理程序網站並點擊“啟用我的緊急 SSH 訪問”。從那裡隨機埠綁定到虛擬機一段指定的持續時間。
另一種說法是, Gandi是如何在無需重啟虛擬機的情況下實現緊急控制台訪問的?
可能的解決方案
離線:嚴格 SSH 訪問
將二進製文件注入正在執行的 Xen 虛擬機以使其創建 SSH 伺服器並訪問文件系統是不可行的。
如果您嚴格需要打開一個緊急 SSH 會話,則必須銷毀虛擬機,然後將其磁碟附加到一個單獨的通用只讀救援映像,該映像具有正在執行的 SSH 伺服器。救援映像將取代損壞的客戶機,虛擬機管理員可以使用此救援映像進行任何必要的更改以修復損壞的客戶機。
通過主機:允許控制台訪問
微笑龍的回答解釋瞭如何做到這一點,但這對於安全性來說是一個非常糟糕的主意。
線上:VNC 代理
由於允許通過主機上的 SSH 訪問控制台並非易事(微笑龍的回答),您可以使用noVNC之類的東西設置 VNC 代理,並使用身份驗證令牌保護 VNC 會話。 OpenStack 做到了這一點。
此解決方案是一種相當安全的方式(如果實施得當,如 OpenStack),可以讓虛擬機管理員訪問實時執行的實例,但需要進行大量工程才能正確設置。