適用於Linux的 Azure 序列控制台

注意事項

本文中參考的 CentOS 是 Linux 發行版,並會到達生命周期結束 (EOL) 。 請考慮您的使用並據以規劃。 如需詳細資訊,請 參閱 CentOS 生命週期結束指引

Azure 入口網站 中的序列主控台可讓您存取 Linux 虛擬機 (VM) 和虛擬機器擴展集實例的文字型控制台。 此序列聯機會連線到 VM 或虛擬機擴展集實例的 ttys0 串行埠,提供與網路或操作系統狀態無關的存取權。 序列主控台只能使用 Azure 入口網站 來存取,而且只允許對 VM 或虛擬機擴展集具有參與者或更高許可權存取角色的使用者。

序列主控台的運作方式與 VM 和虛擬機擴展集實例相同。 在此檔中,除非另有說明,否則所有對 VM 的提及都會隱含包含虛擬機擴展集實例。

序列主控台已在全域 Azure 區域和 Azure Government 公開預覽中正式推出。 它尚未在 Azure 中國雲端中提供。

如需適用於 Windows 的序列主控台檔,請參閱 適用於 Windows 的序列主控台

注意事項

序列主控台與受控開機診斷記憶體帳戶相容。

先決條件

  • 您的 VM 或虛擬機擴展集實例必須使用資源管理部署模型。 不支援傳統部署。

  • 使用序列主控台的帳戶必須具有 VM 和開機診斷記憶體帳戶的虛擬機參與者角色

  • 您的 VM 或虛擬機擴展集實例必須有密碼型使用者。 您可以使用 VM 存取擴充功能的 重設密碼 功能來建立一個。 從 [說明] 區段中選取 [重設密碼]。

  • 您的 VM 或虛擬機擴展集實例必須啟用 開機診斷

    Azure 入口網站 中 [診斷設定] 頁面的螢幕快照。開機診斷選項已啟用。

  • 如需 Linux 發行版的特定設定,請參閱 序列主控台 Linux 發行版可用性

  • 您的 VM 或虛擬機擴展集實例必須針對 上的 ttys0序列輸出進行設定。 這是 Azure 映像的預設值,但您會想要在自定義映射上再次檢查。 詳細數據如下

注意事項

序列主控台需要具有已設定密碼的本機使用者。 僅使用 SSH 公鑰設定的 VM 或虛擬機擴展集將無法登入序列主控台。 若要使用密碼建立本機使用者,請使用入口網站中提供的 VMAccess 擴充功能,方法是在 Azure 入口網站 中選取 [重設密碼],然後使用密碼建立本機使用者。 您也可以 使用 GRUB 開機進入單一使用者模式,以重設帳戶中的系統管理員密碼。

序列主控台 Linux 發行版可用性

若要讓序列主控台正常運作,必須將客體作業系統設定為讀取主控台訊息,並將控制台訊息寫入序列埠。 大部分 已背書的 Azure Linux 發行 版預設都會設定序列主控台。 在 Azure 入口網站 的 [說明] 區段中選取 [序列控制台] 可提供序列主控台的存取權。

注意事項

如果您在序列控制台中看不到任何內容,請確定已在 VM 上啟用開機診斷。 按 Enter 通常會修正序列控制台中未顯示任何內容的問題。

分佈 序列主控台存取
Red Hat Enterprise Linux 預設會啟用序列主控台存取。
Centos 預設會啟用序列主控台存取。
Debian 預設會啟用序列主控台存取。
Ubuntu 預設會啟用序列主控台存取。
CoreOS 預設會啟用序列主控台存取。
Suse Azure 上可用的 SLES 映像預設會啟用序列主控台存取。
Oracle Linux 預設會啟用序列主控台存取。

自訂Linux映像

若要啟用自定義 Linux VM 映像的序列主控台,請啟用 /etc/inittab 檔案中的 主控台存取,以在 上 ttyS0執行終端機。 例如:S0:12345:respawn:/sbin/agetty -L 115200 console vt102。 您可能也需要在 ttyS0 上繁衍一個 app。 這可以使用 來完成。systemctl start serial-getty@ttyS0.service

您也會想要新增 ttys0 作為序列輸出的目的地。 如需設定自定義映像以使用序列控制台的詳細資訊,請參閱 在 Azure 中建立和上傳 Linux VHD 中的一般系統需求。

如果您要建置自訂核心,請考慮啟用這些核心旗標: CONFIG_SERIAL_8250=yCONFIG_MAGIC_SYSRQ_SERIAL=y。 組態檔通常位於 /boot/ 路徑中。

存取序列主控台的常見案例

案例 序列控制台中的動作
中斷 的 FSTAB 檔案 Enter 鍵以繼續,並使用文字編輯器來修正 FSTAB 檔案。 您可能需要處於單一使用者模式才能這麼做。 如需詳細資訊,請參閱 如何修正 fstab 問題使用序列主控台來存取 GRUB 和單一使用者模式的序列主控台一節。
不正確的防火牆規則 如果您已設定 iptable 來封鎖 SSH 連線,您可以使用序列主控台與 VM 互動,而不需要 SSH。 如需詳細數據,請參 閱iptables man頁面
同樣地,如果您的防火牆封鎖 SSH 存取,您可以透過序列控制台存取 VM,並重新設定防火牆。 如需詳細數據,請參閱 防火牆檔
檔系統損毀/檢查 如需使用序列主控台對損毀的文件系統進行疑難解答的詳細資訊,請參閱 Azure Linux VM 的序列控制台一節,因為發生文件系統錯誤而無法啟動。
SSH 設定問題 存取序列主控台並變更設定。 不論 VM 的 SSH 設定為何,都可以使用序列控制台,因為 VM 不需要網路連線即可運作。 疑難解答指南可在針對 Azure Linux VM 的 SSH 連線進行疑難解答,該連線失敗、發生錯誤或被拒絕。 如需更多詳細數據,請參閱 連線到 Azure 中 Linux VM 的詳細 SSH 疑難解答步驟
與開機載入器互動 從序列主控台刀鋒視窗內重新啟動 VM,以存取 Linux VM 上的 GRUB。 如需詳細資訊和散發版本特定資訊,請 參閱使用序列控制台來存取 GRUB 和單一使用者模式

停用序列主控台

根據預設,所有訂用帳戶都已啟用序列主控台存取。 您可以在訂用帳戶層級或 VM/虛擬機擴展集層級停用序列主控台。 如需詳細指示,請造訪 啟用和停用 Azure 序列控制台

序列主控台安全性

使用已啟用自定義開機診斷記憶體帳戶防火牆的序列主控台

序列主控台會使用其連線工作流程中針對開機診斷所設定的記憶體帳戶。 在此記憶體帳戶上啟用防火牆時,必須將序列控制台服務IP新增為排除專案。 如果要執行這項操作,請依照下列步驟執行:

  1. 流覽至您已啟用之自定義開機診斷記憶體帳戶防火牆的設定。

    注意事項

    若要判斷您的 VM 已啟用哪一個記憶體帳戶,請從 [ 支援 + 疑難解答 ] 區段中,選取 [ 開機診斷>設定]

  2. 根據 VM 的地理位置,將序列控制台服務 IP 新增為防火牆排除專案。

    下表列出必須根據 VM 所在的區域或地理位置,允許作為防火牆排除的 IP。 這是正在處理以納入 服務卷標的序列控制台IP位址完整清單子集。

    IP 位址 Regions 地理位置
    20.205.69.28 東亞、東南亞 AsiaPacific
    20.195.85.180 東亞、東南亞 AsiaPacific
    20.53.53.224 澳大利亞中部、澳大利亞中部 2、澳大利亞東部、澳大利亞東南部 澳洲
    20.70.222.112 澳大利亞中部、澳大利亞中部 2、澳大利亞東部、澳大利亞東南部 澳洲
    191.234.136.63 巴西南部、巴西東南部 巴西
    20.206.0.194 巴西南部、巴西東南部 巴西
    52.228.86.177 加拿大中部、加拿大東部 加拿大
    52.242.40.90 加拿大中部、加拿大東部 加拿大
    20.45.242.18 Canary (EUAP)
    20.51.21.252 Canary (EUAP)
    52.146.139.220 北歐、西歐 歐洲
    20.105.209.72 北歐、西歐 歐洲
    20.111.0.244 法國中部、法國南部 法國
    52.136.191.10 法國中部、法國南部 法國
    51.116.75.88 德國北部、德國中西部 德國
    20.52.95.48 德國北部、德國中西部 德國
    20.192.168.150 印度中部、印度南部、印度西部 印度
    20.192.153.104 印度中部、印度南部、印度西部 印度
    20.43.70.205 日本東部、日本西部 日本
    20.189.228.222 日本東部、日本西部 日本
    20.200.196.96 南韓中部、南韓南部 韓國
    52.147.119.29 南韓中部、南韓南部 韓國
    20.100.1.184 挪威西部、挪威東部 挪威
    51.13.138.76 挪威西部、挪威東部 挪威
    20.208.4.98 瑞士北部、瑞士西部 瑞士
    51.107.251.190 瑞士北部、瑞士西部 瑞士
    20.45.95.66 阿拉伯聯合大公國中部、阿拉伯聯合大公國北部 阿拉伯聯合大公國
    20.38.141.5 阿拉伯聯合大公國中部、阿拉伯聯合大公國北部 阿拉伯聯合大公國
    20.90.132.144 英國南部、英國西部 UnitedKingdom
    20.58.68.62 英國南部、英國西部 UnitedKingdom
    51.12.72.223 瑞典中部、瑞典南部 瑞典
    51.12.22.174 瑞典中部、瑞典南部 瑞典
    20.98.146.84 美國中部、美國東部 2、美國東部、美國中北部、美國中南部、美國西部 2、美國西部 3、美國中西部、美國西部 美國
    20.98.194.64 美國中部、美國東部 2、美國東部、美國中北部、美國中南部、美國西部 2、美國西部 3、美國中西部、美國西部 美國
    20.69.5.162 美國中部、美國東部 2、美國東部、美國中北部、美國中南部、美國西部 2、美國西部 3、美國中西部、美國西部 美國
    20.83.222.102 美國中部、美國東部 2、美國東部、美國中北部、美國中南部、美國西部 2、美國西部 3、美國中西部、美國西部 美國
    20.83.222.100 美國中部、美國東部 2、美國東部、美國中北部、美國中南部、美國西部 2、美國西部 3、美國中西部、美國西部 美國
    20.141.10.130 所有美國政府雲端區域 UsGov
    52.127.55.131 所有美國政府雲端區域 UsGov

    重要事項

    • 需要允許的IP專屬於 VM 所在的區域。 例如,部署在北歐區域的虛擬機必須將下列IP排除專案新增至歐洲地理位置的記憶體帳戶防火牆:52.146.139.220和20.105.209.72。 檢視上表,以尋找您區域和地理位置的正確IP。
    • 在目前的序列主控台作業中,Web 套接字會開啟至像是 的 <region>.gateway.serialconsole.azure.com端點。 確定您組織中的瀏覽器用戶端允許端點 serialconsole.azure.com 。 在美國政府 (,) 雲端中,端點後綴為 serialconsole.azure.us

    如需如何將IP新增至記憶體帳戶防火牆的詳細資訊,請參閱設定 Azure 記憶體防火牆和虛擬網路:管理IP網路規則

成功將IP位址新增至記憶體帳戶防火牆之後,請重試 VM 的序列主控台連線。 如果您仍有連線問題,請確認已從 VM 區域的記憶體帳戶防火牆中排除正確的 IP 位址。

存取安全性

序列主控台的存取權僅限於具有 虛擬機參與者 或更高許可權的虛擬機存取角色的使用者。 如果您的 Microsoft Entra 租使用者需要多重要素驗證 (MFA) ,則串行控制台的存取權也需要 MFA,因為序列控制台的存取是透過 Azure 入口網站

通道安全性

所有來回傳送的數據都會使用 TLS 1.2 或更新版本在傳輸中加密。

數據儲存和加密

Azure 序列控制台不會檢閱、檢查或儲存在虛擬機串行埠中來回傳輸的任何數據。 因此,沒有待用數據可加密。

若要確保由執行 Azure 序列控制台的虛擬機分頁到磁碟的任何記憶體內部數據都已加密,請使用 主機型加密。 根據預設,所有 Azure 序列控制台連線都會啟用主機型加密。

資料落地

Azure 入口網站 或 Azure CLI 會作為虛擬機串行埠的遠端終端機。 由於這些終端機無法直接連線到透過網路裝載虛擬機的伺服器,因此會使用中繼服務閘道來 Proxy 終端機流量。 Azure 序列主控台不會儲存或處理此客戶資料。 傳輸數據的中繼服務閘道會位於虛擬機的地理位置。

稽核記錄

序列主控台的所有存取目前都會記錄在虛擬機的 開機診斷 記錄中。 這些記錄的存取權是由 Azure 虛擬機系統管理員所擁有和控制。

注意

不會記錄主控台的存取密碼。 不過,如果在控制台內執行的命令包含或輸出密碼、秘密、用戶名稱或任何其他形式的個人標識資訊, (PII) ,這些資訊將會寫入 VM 開機診斷記錄檔。 它們會與所有其他可見文字一起寫入,作為序列控制台捲動回溯函式實作的一部分。 這些記錄是迴圈的,只有具有診斷記憶體帳戶讀取許可權的個人才能存取這些記錄。 如果您要輸入任何包含秘密或 PII 的數據或命令,建議您使用 SSH,除非絕對需要序列主控台。

並行使用方式

如果用戶連線到序列主控台,而另一位使用者成功要求存取該相同虛擬機,則第一位使用者將會中斷連線,而第二位使用者會連線到相同的會話。

注意

這表示已中斷連線的使用者將不會註銷。使用 (或類似的機制) 在中斷連線 (時強制註銷的能力仍在規劃中。 針對 Windows,特殊管理控制台 (SAC) 中已啟用自動逾時;不過,針對 Linux,您可以設定終端機逾時設定。 若要這樣做,請為您用來登入主控台的使用者,在您的 .bash_profile.profile 檔案中新增 export TMOUT=600 。 此設定會在 10 分鐘後逾時工作階段。

協助工具

輔助功能是 Azure 序列主控台的重要焦點。 為此,我們已確保序列主控台可以完全存取。

鍵盤流覽

使用鍵盤上的 Tab 鍵,從 Azure 入口網站 流覽至序列控制台介面。 您的位置將會在畫面上反白顯示。 若要離開序列主控台視窗的焦點,請按 鍵盤上的 Ctrl+F6

搭配螢幕助讀程式使用序列主控台

序列主控台內建螢幕助讀程序支援。 在開啟螢幕助讀程式時四處流覽,可讓螢幕助讀程式大聲朗讀目前所選按鈕的替換文字。

已知問題

我們注意到序列主控台和 VM 作業系統的一些問題。 以下是適用於Linux VM的這些問題和風險降低步驟清單。 這些問題和緩和措施同時適用於 VM 和虛擬機擴展集實例。 如果這些不符合您所看到的錯誤,請參閱 常見序列主控台錯誤的常見序列主控台服務錯誤

問題 緩和措施
在連線橫幅之後按 Enter 鍵不會顯示登入提示。 GRUB 可能未正確設定。 執行下列命令: grub2-mkconfig -o /etc/grub2-efi.cfg 和/或 grub2-mkconfig -o /etc/grub2.cfg。 如果您執行的自定義 VM、強化設備或 GRUB 設定導致 Linux 無法連線到串行埠,就會發生此問題。
序列主控台文字在使用文字編輯器) 之後,通常只會佔用螢幕大小的一部分 (。 序列控制台不支援與 RFC 1073) (視窗大小交涉,這表示不會傳送任何 SIGWINCH 訊號來更新螢幕大小,且 VM 將不知道您的終端機大小。 安裝 xterm 或類似的公用程式以提供命令給您 resize ,然後執行 resize
貼上長字串無法運作。 序列主控台會將貼入終端機的字串長度限製為 2048 個字元,以避免多載序列埠頻寬。
SLES BYOS 映像中不穩定的鍵盤輸入。 鍵盤輸入只會偶爾辨識。 這是 Ply 區套件的問題。 您不需要啟動顯示畫面,因此不應該在 Azure 中執行 Ply 並不會干擾平臺使用序列主控台的能力。 使用 移除 Ply 區 sudo zypper remove plymouth ,然後重新啟動。 或者,將 附加 plymouth.enable=0 至行尾,以修改 GRUB 設定的核心行。 您可以 在開機時編輯開機專案,或編輯 中的GRUB_CMDLINE_LINUX行 /etc/default/grub、使用 grub2-mkconfig -o /boot/grub2/grub.cfg重建 GRUB,然後重新啟動,來執行此動作。

常見問題集

問: 如何傳送意見反應?

答: 在建立 GitHub 問題 https://aka.ms/serialconsolefeedback以提供意見反應。 或者, (較不慣用的) ,您可以透過 azserialhelp@microsoft.com 或的虛擬機類別 https://feedback.azure.com傳送意見反應。

問: 序列主控台是否支援複製/貼上?

答: 是的。 使用 Ctrl+Shift+CCtrl+Shift+V 來複製並貼到終端機。

問: 我可以使用序列主控台,而不是 SSH 連線嗎?

答: 雖然這種使用方式在技術上看似可能,但序列主控台主要是在無法透過 SSH 連線的情況下作為疑難解答工具。 基於下列原因,建議您不要使用序列控制台作為 SSH 取代:

  • 序列主控台的頻寬不如 SSH。 因為它是僅限文字的連線,所以需要更多 GUI 大量互動。
  • 目前只能使用使用者名稱和密碼來存取序列主控台。 由於 SSH 金鑰遠比使用者名稱/密碼組合更安全,因此從登入安全性的觀點來看,我們建議透過序列控制台使用 SSH。

問: 誰可以為我的訂用帳戶啟用或停用序列主控台?

答: 若要在全訂用帳戶層級啟用或停用序列主控台,您必須擁有訂用帳戶的寫入許可權。 具有寫入許可權的角色包括系統管理員或擁有者角色。 自訂角色也可以有寫入許可權。

問: 誰可以存取 VM/虛擬機擴展集的序列主控台?

答: 您必須具有虛擬機參與者角色或更高許可權,VM 或虛擬機擴展集才能存取序列主控台。

問: 我的序列主控台未顯示任何內容,該怎麼辦?

答: 您的映像可能設定不正確,無法進行序列主控台存取。 如需設定映像以啟用序列主控台的資訊,請參閱 序列主控台 Linux 發行版可用性

問: 序列主控台是否適用於虛擬機擴展集?

答: 是的,它是! 請參閱 開始使用序列主控台

問: 如果我只使用 SSH 金鑰驗證來設定 VM 或虛擬機擴展集,我仍然可以使用序列主控台來連線到我的 VM/虛擬機擴展集實例嗎?

答: 是的。 因為序列主控台不需要 SSH 金鑰,所以您只需要設定使用者名稱/密碼組合。 若要這麼做,您可以在 Azure 入口網站 中選取 [重設密碼],然後使用這些認證來登入序列控制台。

後續步驟

與我們連絡,以取得說明

如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 意應見反社群