Windows 服務預設的遠程桌面服務埠號是3389,在創建完Azure VM之後基本都會添加一個any to any的防火牆規則,方便多人登錄這個機器。 但是隨時隨地的3389掃描搞得我很煩,就修改了預設的windows 遠程桌面服務的埠號,修改完沒有在VM里的windows 自帶防火牆中添加 ...
Windows 服務預設的遠程桌面服務埠號是3389,在創建完Azure VM之後基本都會添加一個any to any的防火牆規則,方便多人登錄這個機器。
但是隨時隨地的3389掃描搞得我很煩,就修改了預設的windows 遠程桌面服務的埠號,修改完沒有在VM里的windows 自帶防火牆中添加inbound新埠規則,重啟後好家伙,新埠和老埠全都不能RDP了。
一開始以為是Azure Portal上沒有添加防火牆規則,添加了之後依然不行,頓感頭大。
接著試了Azure自帶的網頁Bastion遠程桌面服務,後來發現這也是基於RDP服務的,不能使;
在Azure頁面上重置了遠程桌面服務設置,無效,其實就是修改了註冊表的另一個選項,可以把關閉的遠程桌面服務打開,但是對於我修改的遠程桌面服務埠號無能為力;
使出大招Azure重新部署VM,依然不行;
其實解決問題很簡單,找個地方修改註冊表就行了,把遠程桌面埠號修改回3389,這樣就能正常了,然後開始用SSH啊,遠程PowerShell啊,包括我又開了一臺新的VM,同一個子網下,試圖遠程修改註冊表,也都失敗了。
最後想起來Azure Portal上有個可以執行SAC命令的地方,SAC可以運行cmd和powershell,但是Azure變成中文了之後找了好半天才找到,翻譯成了“串列控制台”。
https://learn.microsoft.com/zh-cn/troubleshoot/azure/virtual-machines/serial-console-overview
然後直接進去了這台機器,直接運行了PowerShell命令:
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "PortNumber" -Value 3389
我愛SAC!
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
7月29日更新,我發現Azure VM里有專門的遠程執行命令的方式!甚至還有貼心的直接修改遠程服務埠號:
順便給Azure VM開了個備份,昨天RDP不上去的時候想著這些東西要是沒了還是挺麻煩的,果然是不丟不知道珍惜。。。。