一條通往另一台電腦的加密隧道
上一篇說到,agent 能在終端機裡自由執行指令。前提是得有一個終端機讓它跑。
那個終端機不必在你手機上。它可以在家裡那台一直開著的 Mac mini、公司那台工作站,只要你連得過去。SSH 做的就是這件事:在你的裝置和另一台機器之間開一條加密隧道,把你打的文字送過去,把對方印出來的文字帶回來。中間經過的每一個節點都看不懂內容。
為什麼是「另一台機器」,不是雲端服務
網頁版 agent 或雲端 IDE 也能讓你連上一台機器。差別在那台機器是誰的。
SSH 連的是你自己的。你的檔案在那裡,你的 API key 在那裡,你裝過的套件、設好的環境變數,全部都在。不用把任何東西搬到別人的伺服器上。agent 動的每一個位元組都還是你那份,改完留在原地,事後不必再同步回來。
金鑰不是比較安全的那個選項,是比較省事的那個
SSH 收密碼,也收金鑰。這常被講成安全跟方便之間的取捨。它不是取捨,金鑰兩邊都贏。
一把私鑰留在你的裝置上,一把公鑰放到對方機器。登入時兩把鑰匙互相驗證,你一個字都不用打。密碼可以被暴力猜測;金鑰的長度讓那條路實務上走不通。設定一次,之後每次連線都走同一套流程。
不需要把電腦「架成伺服器」
很多人聽到 SSH 就想到機房和機櫃。你要做的只是打開一個開關。Mac 上是「系統設定 → 一般 → 共享 → 遠端登入」,Linux 上通常是啟動一個叫 sshd 的服務,多數發行版預設就裝好了。
開關打開之後,那台機器什麼都沒變。還是你平常那台電腦,只是多了一扇你可以從外面敲的門。
然後你關掉手機,隧道斷了,agent 跟著死。除非……