遠程桌面連接(mstsc)全攻略


打算從今天開始,寫一寫我經常用的,有長時間使用經驗的東西,與大家分享,就從mstsc開始吧!

mstsc應該是在Windows中,除了calccmdnotepadmspaint,我使用率最高的系統軟件了,它真的很好用。下面我們就來詳細介紹一下mstsc

注意:由於本人沒有用過Win8/Win8.1,因此本文基本上忽略了Win8。在本文中若沒有特別說明使用的系統,則默認都是按Win10來操作。

1 開啟計算機的遠程桌面連接功能

打開系統屬性,打開遠程設置,選擇“允許遠程連接到此計算機”,但是不建議勾選“僅允許運行使用網絡級別身份驗證的遠程桌面的計算機連接”,如果勾選則WinXP等系統則不能遠程控制該計算機。Win7的選項有些不同,但其實是一個意思,建議選擇“允許運行任意版本遠程桌面的計算機連接”。

另外,上面的這個遠程協助跟mstsc沒關系,不用勾選。這個遠程協助指的是msra這個命令。

想要計算機能被遠程,需要開啟Windows防火牆。需要注意的是,一定要在防火牆中給“遠程桌面”設置允許通過。如果你設置只允許它在專用網絡通過防火牆,則一定要注意計算機當前使用的網絡是專用還是公用,如果是公用則需改為專用。不過最簡單的還是允許它專用和公用都能通過。(Win7中的家庭和工作都屬於專用)

注意:一定要關閉遠程計算機的自動休眠功能!

2 運行mstsc

Win+R,運行mstsc。輸入IP,點擊連接,之后輸入用戶名和密碼即可。可勾選保存憑據。

3 遠程設置

分辨率、顏色質量、性能這些都很常用,下面說一些不是很常用的設置。

  • 在“顯示”選項卡中,可以設置全屏顯示時是否顯示連接欄。如果設置不顯示,那么在進入遠程界面幾秒后連接欄就會消失。想要調出連接欄以關閉遠程,就得用快捷鍵。
  • 在“本地資源”選項卡中,可以設置遠程計算機可以使用的本地資源。默認剪貼板是開啟的,也就是說,遠程計算機和本地計算機共享剪貼板,可以復制文字、文件等。另外還有一個容易被忽視的功能,點擊詳細信息,里面可以將驅動器映射到遠程計算機,可以是硬盤,也可以是U盤。這樣遠程計算機就能直接訪問本地設備了。

4 快捷鍵

  • CTRL+ALT+END: 可發送CTRL+ALT+DELETE到遠程計算機。直接按CTRL+ALT+DELETE操作的是本地計算機。
  • CTRL+ALT+HOME: 如果設置了“全屏顯示時不顯示連接欄”,可用此快捷鍵調出連接欄以關閉遠程。注意:Win7以下不支持。Win7以下設備可按下CTRL+ALT+DELETE,選擇任務管理器,這樣可以調出開始菜單,在任務欄中關閉,或者直接在任務管理器中關閉,也是可以的。

更多快捷鍵可以參考微軟官方文檔

另外,如果想全屏時最小化遠程窗口,比較難,在這里有相關討論,目前我還沒有找到比較合適的解決方案。

5 修改端口

遠程桌面連接默認使用3389端口,如果想修改默認的端口,需運行regedit進入注冊表,修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcpHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TcpPortNumber鍵值即可。修改時要注意使用的是十進制還是十六進制方式。

修改端口后,在遠程輸入IP時,就要顯式指定端口號,形如ip:port

若使用IPV6地址進行遠程,IPV6地址必須使用中括號,例如[2001:da8:214:1086:747c:abcd:efgh:1c6a]:22。如果不修改端口,IPV6地址可以不加中括號。

6 WinXP的一些細節

  • 使用WinXP進行遠程時,是進入遠程計算機界面進行登錄操作(類似進入系統前的登錄界面),因此可以看到遠程計算機有哪些用戶,直接選擇並輸入密碼即可,根本不需要我知道遠程計算機用戶名是多少。這也是后來的系統要給出“僅允許運行使用網絡級別身份驗證的遠程桌面的計算機連接”的選項的原因之一。
  • 也正是由於上面這一的原因,使用WinXP遠程要想保存憑據,必須在遠程前在“常規”選項卡中勾選“允許我保存憑據”,點擊連接后,會彈框讓你輸入密碼。為什么要這么做?因為直接遠程過去的話,所有操作就已經在遠程計算機上了,包括輸入密碼,也就沒法保存密碼了。
  • 由於WinXP的特殊性(安全性低),可能會存在其他系統無法遠程某機器,但是WinXP可以的情況。如果出現這種情況,一定是遠程計算機的安全設置出現了問題,可進一步排查。例如我今天遇到一個Win10電腦不能被遠程,提示憑據無法工作的情況,用WinXP可以遠程過去,其他系統都不行,最后發現是組策略某設置的問題,具體解決方法是運行gpedit.msc打開組策略,找到計算機配置->Windows設置->安全設置->本地策略->安全選項->網絡訪問:本地帳戶的共享和安全模型,修改為經典模式即可。

7 Win8以后的Microsoft賬戶問題

由於Win8以后開始使用MS賬戶,由此產生了一些“無法遠程”的問題。究其原因,是MS賬戶的域的問題。

如圖所示,這是一台已登錄MS賬戶的Win10計算機,想遠程某個Win7機器時,域被自動設置成了MicrosoftAccount,此時輸入用戶名密碼后,會提示憑據無法工作。這是因為遠程計算機本地賬戶的域不是MicrosoftAccount,因此需要顯式指定計算機的域。

以遠程我的計算機為例,我的計算機名是fz-DESKTOP,工作組為WORKGROUP,用戶名為fz。在一台登錄了MS賬戶的計算機上遠程我的計算機時,用戶名輸入fz-DESKTOP\fz或者WORKGROUP\fz就可以正常遠程了。

另外,如果遠程一台登錄了MS賬戶的計算機,使用本地賬戶和MS賬戶都可以,只是可能需要使用相應的域。

UPDATE: 似乎新版本的Win10 10586已經解決了此問題,即使使用MicrosoftAccount域也可以登錄本地賬戶。Win8不太清楚。

8 不能用mstsc進行的工作

其實絕大多數情況使用mstsc都沒什么問題,有一種情況肯定是不行的,那就是對顯示要求高的程序,例如看視頻。

其實我們想一想就可以知道,網絡帶寬根本不足以支撐正常的顯示數據傳輸,所以MS做了一些優化,讓我們遠程起來不是那么卡。而看視頻的話,這種優化就沒用了,因為看視頻需要很高的幀數。

另外音頻傳輸會有一定延遲,但是我還沒搞清楚為什么,理論上應該是可以做到無延遲的(或延遲很低)。

9 多用戶遠程

對於MS來說,多用戶同時遠程一台計算機在技術上並不是難事,不過似乎MS只提供給了Server版這樣的功能,普通的系統要手動修改系統文件的。

其實一般是用不到這個功能的,有需要或者有興趣的話可以搜索“Windows 多用戶遠程”。

10 Linux遠程Windows

上面說的都是Win遠程Win的情況,有時候我們也會需要在其他系統上遠程Win。

在Linux中,可以使用rdesktop這個軟件。

以Ubuntu為例,執行sudo apt-get install rdesktop安裝。給出一個常用的命令格式:

rdesktop -a 16 -u [username] -p [password] -f -r disk:name=/home/fz -r clipboard:PRIMARYCLIPBOARD -r sound:local [ipaddress] 
  • -a 16: 使用16位色。
  • -u username: 指定用戶名為username。
  • -p password: 指定密碼為password。
  • -f: 全屏模式。
  • -r disk:name=/home/fz: 將本地路徑/home/fz映射到遠程計算機中,並起名為name,使其可被遠程計算機訪問。
  • -r clipboard:PRIMARYCLIPBOARD: 共享剪貼板,但不支持文件操作。(實際使用中這個共享剪貼板經常出問題)
  • -r sound:local: 映射遠程計算機聲音到本地。

可以按CTRL+ALT+ENTER進行全屏/窗口模式切換。想要退出遠程,也只能先切換到窗口模式再退出。

若需指定分辨率,可以把-f換成-g [resolution],例如-g 1920x1080

若不指定用戶名和密碼,則會進入遠程計算機的登錄界面(類似WinXP),但是不能像WinXP一樣顯示出遠程計算機的用戶名。

想要讓遠程計算機執行CTRL+ALT+DELETE,直接執行即可(它在Linux中不是系統快捷鍵)。

更多設置可以man rdesktop來查看。

另外,Ubuntu自帶一個Remmina的遠程軟件,直接執行即可打開。它支持mstsc的RDP協議,也支持SSH、SFTP等等。

11 Android遠程Windows

下載安裝Microsoft Remote Desktop

用起來很簡單,效果如下:

12 OS X遠程Windows

雖然我並沒有用過OS X,不過風刃同學反映他的遠程軟件想要遠程Win10,必須修改遠程計算機的組策略,我對此表示懷疑,后來發現他用的是2010年的舊版,而新版Microsoft Remote Desktop只在美區的App Store可以找到,國區沒有。所以使用美區賬號下載即可,鏈接在此。這個是一直在更新的,上個月底剛更新過。

另外,OS X用linux的rdesktop也可以的,我讓junshi同學測試了一下,執行brew install rdesktop安裝,中間會提示需要安裝一些庫,按提示裝好即可。

也可以在github,下載release,可參考README安裝。(不過這個我沒測試)

2018-04-04 UPDATE: 風刃同學告訴我App Store的Microsoft Remote Desktop已經不更新了,現在在Mac上使用RDP最好的方法是brew cask install microsoft-remote-desktop-beta,這種方法還不需要appleid。

13 PPPoE用戶獲取IP

如果是想遠程家里的電腦,而家里的電腦使用的是PPPoE撥號的話,每次自動獲取的IP是隨機分配的。想要遠程就必須知道電腦的IP是多少。

獲取IP的訪問有很多,如果你有一個公網服務器的話,這事就簡單了。

我的處理方法是讓該電腦每1小時訪問一次服務器的某個網頁,該網頁用PHP的$_SERVER['REMOTE_ADDR']得到訪問者IP,並記錄下來,通過訪問服務器就可以得到家里電腦的IP了。

14 非公網IP、非固定IP的一些方案

如果你是非固定IP,則情況類似PPPoE,可以用上面的方法解決。但如果你沒有公網IP,更准確地說是你沒有可以直連的IP,那又怎么辦呢?

你可以使用VPN達到這一目的。同樣地,你需要一台可以直連IP的服務器,裝一些VPN軟件,讓兩台機器同時連上VPN,使用你設置好的該VPN分配的內網IP就可以進行遠程了。

**2018-08-09 UPDATE: 也可以使用frp這種內網穿透軟件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM