你是不是有過這種經驗:人在外面,突然想用一下家裡那台電腦的檔案?或是公司的伺服器當機了,你不在現場卻得馬上處理?又或者爸媽的電腦中毒了,你想隔空幫他們操作,但你們明明隔了半個城市?
這三個情境,答案都是「遠端連線」。
但你查了一下,跳出來一堆名字:SSH、AnyDesk、Tailscale、RDP、VNC、VPN……每個看起來都在做「連到另一台電腦」這件事,到底差在哪?
這篇文章會帶你從最底層的概念開始建立起來。
我們先搞懂「遠端連線」到底在連什麼、為什麼它沒有你想的那麼簡單,再來看 SSH、AnyDesk、Tailscale 各自解決了哪一塊問題。
讀完你會發現,這三個其實不是在比誰好,而是在解決不同層次的事。
遠端連線是什麼?
遠端連線(remote connection) 指的是:你坐在 A 電腦前面,透過網路去操作或存取 B 電腦,就好像你人坐在 B 電腦前面一樣。
白話講,就是「隔空操控另一台機器」。
這台被連的機器可能在你家、在公司機房、在雲端的某個資料中心,只要它有開機、連著網路,理論上你就能從世界任何角落連過去。
但「操控」可以是很多種程度:
- 我只想在那台機器上打指令、跑程式,完全不需要看到畫面
- 我想看到那台機器的整個桌面,用滑鼠點來點去
- 我只是想讓兩台機器之間能互相傳檔、互相溝通
你會發現,需求的「顆粒度」差很多。
這也是為什麼會有那麼多工具——因為它們瞄準的需求不一樣。
遠端連線就是透過網路操控另一台電腦。
但「操控到什麼程度」有很多種,不同工具解決的是不同程度的需求。
為什麼遠端連線沒那麼簡單?(先補一點網路基礎)
在認識工具之前,你得先知道一個殘酷的事實:兩台不在同一個地方的電腦,預設是「連不到彼此」的。
為什麼?這要從幾個網路概念講起。
IP 位址:每台機器的門牌
網路上每台機器都有一個 IP 位址(IP address),類似門牌號碼,用來標示「資料要送去哪」。
例如 192.168.1.10 或 203.0.113.5。
要連到一台機器,你至少得知道它的 IP。
聽起來很簡單,問題來了——
公有 IP vs 私有 IP:你家的電腦沒有對外門牌
公有 IP(public IP) 是全世界唯一的、能直接從網際網路找到的位址。
私有 IP(private IP) 則是只在你家或公司內部網路有效的位址(像 192.168.x.x、10.x.x.x 這種,看到就知道是私有的)。
你家裡的筆電、手機、電視,拿到的都是私有 IP。
對外的時候,它們全部共用「家裡那台路由器」的一個公有 IP。
NAT:一道單向的牆
這個「對內很多私有 IP、對外只有一個公有 IP」的轉換機制,叫做 NAT(Network Address Translation)。
NAT 的關鍵特性是:它讓你家裡的裝置可以主動連出去(例如開網頁),但外面的人沒辦法主動連進來。
因為外面只看得到你路由器的公有 IP,看不到牆內那一堆私有 IP 到底誰是誰。
這就是遠端連線的核心難題:你想連的那台電腦,通常躲在 NAT 後面,外面根本找不到它。
Port 與防火牆:就算找得到,門也可能是關的
就算解決了「找得到機器」的問題,還有兩關。
Port(連接埠) 是同一台機器上區分不同服務的編號。
一台機器只有一個 IP,但可以同時跑很多服務——網站走 80、加密網站走 443、SSH 走 22。
Port 就像同一棟大樓裡的不同房間號。
防火牆(firewall) 則會擋掉沒被允許的連線。
預設情況下,大部分 port 都是關著的,免得壞人亂連。
遠端連線難,是因為要連的機器常躲在 NAT 後面(外面找不到),就算找得到,還有防火牆和 port 擋著。
接下來要講的三個工具,差別就在於它們各自用什麼方法繞過這些障礙、以及繞過之後讓你做什麼。
SSH:連到那台機器的「終端機」
SSH(Secure Shell) 是一個加密的遠端連線協定,讓你透過網路連到另一台機器,並在上面打指令操作它。
白話講:SSH 給你的是那台遠端機器的「命令列」。
你看不到它的桌面、沒有滑鼠可以點,但你可以打字下指令,叫它做事——跑程式、改檔案、重開服務,全都用指令完成。
伺服器(尤其是 Linux 機器)幾乎都靠 SSH 管理,因為伺服器通常根本沒接螢幕,你也只需要下指令,不需要圖形畫面。
那實際連線的時候到底發生了什麼事?先把機制講清楚,等一下看指令就不會一頭霧水。
SSH 是「主從架構」:你的電腦是 client(用戶端),而你要連的那台機器,背景必須跑著一個 SSH 伺服器程式(sshd),隨時等著別人來連。
所以能不能連得進去,前提是對方那台機器有把 SSH 服務打開。
接著,你要連過去,得先告訴 SSH 兩件事:要登入對方機器上的「哪個使用者帳號」,以及那台機器的「位址」在哪裡。
這裡的「使用者帳號」要特別講清楚:它指的是對方那台機器作業系統裡的帳號,不是你自己電腦的 Windows 或 Mac 登入帳號。
舉例來說,一台 Linux 伺服器上可能開了 alice、root、ubuntu 這幾個帳號,你要用哪一個登入、登入後能做哪些事,都是由對方那台機器決定的。
兩邊接上線之後,會建立一條加密通道,你打的每個字、每個指令都透過這條通道送到遠端機器執行,就算傳輸途中被攔截,看到的也只是一團亂碼。
懂了這個機制,基本用法就很直覺了:
ssh alice@203.0.113.5把這行拆開看,正好對應剛剛說的那兩件事:alice 是你要登入的使用者帳號,@ 後面的 203.0.113.5 則是那台機器的位址(IP)。
連上之後,你打的每個指令都是在那台遠端機器上執行,不是在你自己的電腦上。
SSH 預設走 port 22。
如果對方改了 port,你要自己指定:
ssh -p 2222 alice@203.0.113.5-p 2222 就是告訴 SSH「走 2222 這個房間號,不是預設的 22」。
用密碼登入 vs 用金鑰登入
SSH 怎麼確認「你真的是你」?有兩種方式,這裡很適合用對比來看:
❌ 只用密碼登入:
ssh alice@203.0.113.5
# 接著輸入密碼密碼會被人猜、會被暴力破解。
如果你的伺服器開在公網上,每天都會有機器人不停試密碼,弱密碼很快就被攻破。
✅ 用 SSH 金鑰(key)登入:
# 第一次在自己電腦產生一對金鑰(只要做一次)
ssh-keygen -t ed25519
# 把「公鑰」放到遠端機器上
ssh-copy-id alice@203.0.113.5
# 之後連線就不用打密碼了
ssh alice@203.0.113.5金鑰是一對的:私鑰(private key)留在你自己電腦、絕不外流,公鑰(public key)放到遠端機器。
這比密碼安全得多,因為私鑰幾乎不可能被猜出來。
但注意——SSH 一樣會碰到前面講的 NAT 問題。
如果你要連的機器躲在家裡的路由器後面,你還是連不進去,除非額外做「port forwarding(連接埠轉發)」之類的設定把門打開。
這個痛點,等等 Tailscale 那段會回來解決。
SSH 給你的是遠端機器的「文字終端機」,適合管理伺服器、不需要看畫面的場景。
安全性靠加密和金鑰登入,但它本身不解決「機器躲在 NAT 後面」的問題。
AnyDesk:連到那台機器的「整個桌面」
AnyDesk 是一套遠端桌面(remote desktop)軟體。
它讓你看到遠端電腦的「整個畫面」,並用自己的滑鼠鍵盤直接操作它,就像你坐在它前面一樣。
白話講:SSH 給你的是文字命令列,AnyDesk 給你的是「對方的螢幕」。
你會看到對方的桌布、視窗、滑鼠游標,你動你的滑鼠,對方螢幕上的游標就跟著動。
這就是為什麼遠端技術支援、或是幫不太懂電腦的家人解決問題時,大家用的常常是 AnyDesk(或類似的 TeamViewer)——因為你需要「看到」對方在卡什麼,而不是打指令。
AnyDesk 的使用方式跟 SSH 很不一樣,它不太需要你懂網路:
AnyDesk 怎麼繞過 NAT?
你可能會問:前面不是說 NAT 讓外面連不進來嗎?AnyDesk 怎麼做到的?
關鍵在於——AnyDesk 不是讓你「主動連進去」,而是兩台機器都「主動連出去」到 AnyDesk 自己的中繼伺服器,再由中繼伺服器幫雙方牽線。
還記得 NAT 的特性嗎?對內主動連出去是可以的,只是外面不能主動連進來。
AnyDesk 利用的就是這點:兩邊都往外連到中間人,問題就繞過去了。
這也是為什麼 AnyDesk 幾乎「裝了就能用」,不用你去設定路由器。
代價是:你的連線流量會經過 AnyDesk 這家公司的伺服器(雖然有加密),而且它是商業軟體,商用要付費。
AnyDesk 給你的是遠端機器的「完整桌面畫面」,適合需要看畫面、做技術支援、給非技術使用者用的場景。
它靠「雙方都連到中間伺服器」的方式自動繞過 NAT,所以幾乎免設定。
Tailscale:不是連桌面,而是幫你「鋪一條私有網路通道」
這裡是新手最容易搞混的地方,所以要講清楚:Tailscale 跟 SSH、AnyDesk 不是同一層的東西。
SSH 和 AnyDesk 是「連上去之後讓你做事」的工具(打指令 / 看畫面)。
而 Tailscale 解決的是更底層的問題:它讓散落在世界各地的裝置,彼此之間像在同一個區域網路裡一樣,可以直接互相連線。
白話講:還記得前面那個惡夢——NAT 讓外面連不進你家機器嗎?Tailscale 就是專門來消滅這個惡夢的。
它在你所有裝置之間鋪好一條條加密的私有通道,讓它們互相看得見對方,彷彿全部插在同一台路由器上。
Tailscale 做了什麼
技術上,Tailscale 是一套基於 WireGuard 的 mesh VPN(網狀虛擬私人網路)。
你不用懂這些名詞的細節,只要知道結果:
# 在每一台你想互連的裝置上安裝並登入
tailscale up登入後,每台裝置都會拿到一個專屬的 Tailscale IP(100.x 開頭),不管它實際在哪裡:
一旦裝好,這些 100.x.x.x 的位址,不管裝置實際在哪裡、躲在誰的 NAT 後面,彼此之間都能直接連。
Tailscale 在背後自動處理所有 NAT 穿透的髒活,你完全不用碰路由器設定。
Tailscale 跟 SSH 是怎麼搭配的
最能說明 Tailscale 定位的,就是看它怎麼跟 SSH 一起用。
假設你人在公司,想用 SSH 連回家裡那台電腦抓個檔案。
問題來了:家裡那台電腦只有一個私有 IP,躲在你家路由器(NAT)的後面。
還記得前面 NAT 那張圖嗎?從外面看過去,整個世界只看得到你家路由器的那一個公有 IP,看不到牆內那台電腦到底是誰。
所以你在公司打 ssh 指令過去,根本找不到目標機器,自然就連不進去——這就是 SSH 最常見、也最惱人的痛點。
那要怎麼解決?來對比兩種做法:
❌ 傳統做法:把家裡機器的 SSH port 開到公網
# 在路由器設定 port forwarding,把 22 port 對外開放
# 然後從外面連:
ssh alice@你家的公有IP這做法可行,但你等於在自家牆上開了一個對全世界的洞,全球的機器人會立刻開始狂試你的 SSH。
安全風險很高,設定也麻煩。
✅ 用 Tailscale:讓機器先進到同一個虛擬網路
# 家裡機器和你的筆電都裝好 Tailscale、都登入同一個帳號
# 然後直接用 Tailscale IP 連:
ssh alice@100.64.1.10你的 SSH 流量走在 Tailscale 的加密通道裡,完全不需要對公網開任何 port,外面的機器人根本看不到你的機器。
設定也簡單得多。
看出來了嗎?Tailscale 沒有取代 SSH——它是「鋪路的」,SSH 是「在路上跑的車」。
AnyDesk、RDP、傳檔,一樣都可以跑在 Tailscale 鋪好的路上。
Tailscale 不是讓你連桌面或打指令的工具,而是幫你把分散各地的裝置組成一個安全的虛擬區域網路,解決「NAT 讓裝置互相連不到」這個底層問題。
你在它鋪好的網路上,再去跑 SSH 或其他連線。
什麼時候該用哪個?
把三個工具放在一起看,定位就很清楚了:
具體選擇可以這樣想:
- 你想用指令管理一台伺服器,而且通常你連得到它 → 直接用 SSH。
- 你需要看到對方的螢幕、用滑鼠操作,或對方完全不懂電腦 → 用 AnyDesk(或 TeamViewer)。
- 你有好幾台散在不同地點的機器,想讓它們安全地互相連線,不想對公網開洞 → 用 Tailscale 鋪好網路,再在上面跑 SSH / 傳檔 / 桌面連線。
它們也常常一起用。
一個很常見的組合是:用 Tailscale 把家裡的伺服器和你的筆電連成同一個虛擬網路,然後透過 SSH 進去管理,全程不對外開任何 port。
各司其職。
重點整理
- 遠端連線就是透過網路操控另一台電腦,但「操控到什麼程度」有很多種,工具因此分很多種。
- 遠端連線之所以難,是因為要連的機器常躲在 NAT 後面,外面主動連不進去;就算連得到,還有防火牆和 port 擋著。
- SSH 給你的是遠端機器的「文字終端機」,適合管理伺服器;用金鑰登入比用密碼安全。
- AnyDesk 給你的是遠端機器的「整個桌面畫面」,適合看畫面、做技術支援;它靠雙方都連到中間伺服器來自動繞過 NAT。
- Tailscale 跟另外兩個不同層——它不讓你連桌面或打指令,而是幫裝置之間鋪一條安全的私有網路通道,專門解決 NAT 連不到的問題。
- 記住一句話:Tailscale 是「鋪路的」,SSH 和 AnyDesk 是「在路上跑的車」,它們常常一起用,不是互相取代。