無法再通過 RDP 訪問 Azure VM
去年我在 Azure 上設置了一個 Windows Server VM,在幾個月沒有登錄後,我最近嘗試登錄,奇怪的是它告訴我我的密碼不正確。我繼續重置密碼,但即使它說它成功了,它也不起作用。我也嘗試了這裡介紹的方法,但也沒有用。
要清楚:
- 我確實可以通過 Powershell 訪問 VM,但重置密碼無效。
- VM 處於活動狀態,並且 IIS 服務正常響應。
- RDP 已啟用,服務正在響應並且正確的埠已打開。
- 連接和驗證後,我收到“您的憑據無效”消息。即使在重置密碼之後也是如此(仔細檢查使用者名並將密碼複製粘貼到 Powershell 視窗以重置然後連接對話框)。
- 我嘗試將機器名稱作為域前綴 (my-vm\username),以及以點 (.\username)、無前綴 (\username) 和完整的 Azure 配置文件名稱 (myname.cloudapp.net\username) 作為前綴.
- 使用者名是一個普通的 alpha 使用者名,那裡沒有任何捲曲。
- 我嘗試將其重置為的密碼絕對應該滿足複雜性要求:將密碼中的大小寫、數字和通常的非字母數字字元組合在一起,長度均超過 8 個字元。此外,我檢查了密碼中沒有使用者名的任何部分,並且密碼不是以前使用過的密碼(如果有區別的話)。
那麼,這可能是什麼原因造成的?我錯過了什麼嗎?是否有任何其他步驟可以嘗試重新獲得對這台機器的訪問權限?現在是分離磁碟並重新連接到新虛擬機並手動複製所有內容(我試圖避免)的唯一步驟嗎?
好的,幸運的是我並沒有太著急登錄這台機器,所以在過去的幾周里,我一直在考慮其他方式進入。如果其他人有這個問題,這裡有一個編譯列表我想到或發現重新獲得對沒有響應的 VM 的訪問權的方法:
- 根據我原始問題中的連結重置密碼(如果失去密碼、鎖定帳戶、未知使用者名等)。這會將使用者名更改為指定的使用者名,設置密碼並解鎖帳戶。除非它沒有。
- 遠端安裝 VNC(例如,如果 RDP 服務損壞)。如果密碼有效,但由於某種原因您無法進入 RDP,那很好。如果使用此方法,請確保從證書儲存中刪除自簽名證書。
- 刪除 VM(使用“保留現有磁碟”),並重新創建 VM,重新附加舊磁碟(例如,如果 VM 配置損壞)
- 刪除 VM(保留磁碟)並將磁碟附加到另一個 Windows 實例以檢查磁碟完整性、掃描病毒等。使用分離的磁碟重新創建實例。
- 刪除 VM(保留磁碟)並附加到 Linux 實例(不要像此連結所述初始化磁碟!!),然後使用離線 Linux 工具修復任何問題。
我使用最後一種方法最終獲得了對我的 VM 的訪問權限。以下是詳細步驟,因為我在其他地方沒有看到它們:
- 在與故障 Windows 相同的區域中創建新的低規格 Ubuntu 機器。
- SSH 進入盒子並發出以下命令:
sudo apt-get install chntpw
(如果需要,請確認)
- 使用 Azure 管理門戶將 Windows VHD 掛載到 Linux VM,然後在控制台上輸入以下命令:
sudo grep SCSI / var / log / syslog
這將使您了解您的磁碟在 /dev 目錄中的位置:查找要掛載的最後一個磁碟,我的是
sdc
. 如果您的 Windows 磁碟有一個主分區(就像我的 VHD 的 C: 一樣),那麼您要掛載sdc1
:sudo mkdir /mnt/win
須藤掛載/dev/sdc1 /mnt/win
如果這成功了,您現在應該能夠通過輸入以下命令查看您的 Windows 根文件夾:
ls -l /mnt/win
- 要使用我們安裝的密碼恢復工具 (chntpw),我們需要將目錄更改到主 SAM 系統資料庫配置單元所在的位置:
cd /mnt/win/Windows/System32/config
(記住 Linux 是區分大小寫的,即使在 Windows 驅動器上)
- 然後在 SAM hive 上啟動密碼恢復工具:
sudo chntpw -i SAM
這將帶您進入互動式密碼工具和系統資料庫編輯器。鍵入
?
以獲取幫助,l
在 SAM 文件中列出使用者,您可以選擇一個使用者,將密碼重置為空白,解鎖帳戶等。這是相當不言自明的。重置密碼很容易——不過下一步更難!完成更新使用者帳戶後,退出 (
q
)並將更改寫回 SAM 文件。
- 因為密碼現在是空白的,而且 Windows 預設情況下不允許遠端登錄使用空白密碼,所以您還需要更改系統資料庫項以允許您在沒有密碼的情況下登錄。為此,您需要載入另一個配置單元並使用 chntpw 中的內置系統資料庫編輯器(這是一個有用的指南):
sudo chntpw -i 系統
選擇
9
系統資料庫編輯器,然後使用 cd 命令導航到正確的系統資料庫項並進行編輯:cd 目前控制集
cd控制
cd Lsa
ed LimitBlankPasswordUse
將值更改為
0x0
然後按q
退出並確保將更改寫入系統資料庫配置單元。現在鍵入
sudo umount /dev/win
然後註銷 SSH 會話並關閉 linux VM 並將Windows VHD與 Linux VM 分離。
- 您現在已準備好從舊 VHD 磁碟創建新的 azure VM,然後交叉手指啟動機器。
請注意,這會使任何人都可以登錄 VM,因此一旦重新配置並執行 VM,您將需要立即登錄,設置新的安全密碼,並通過 regedit 重新啟用系統資料庫標誌。 出於模糊考慮,您可能希望使用不同的雲服務名稱創建 VM,以防現有使用者在您之前偶然發現打開的 RDP 門。
祝所有遇到這種情況的人好運,並感謝@IceMage 願意提供幫助!
檢查 VM 和本地電腦上的日期和時間,以確保一切設置正確。如果您手動設置了任何一個時鐘並且它們不同步,則可能會導致身份驗證出現問題。