Jetson Orin Nano 開發環境:用 VS Code Remote-SSH 從 Windows 遠端寫程式
拿到 Jetson Orin Nano 之後,第一個問題通常不是 AI 模型,而是「程式要在哪裡寫?」直接在 Jetson 上接螢幕、鍵盤,桌面環境會吃掉不少記憶體,操作也不順;在 Windows 寫好再複製過去,來回傳檔又很麻煩,長程式碼貼進終端機還常被截斷。
比較好的做法是 VS Code Remote-SSH:程式碼和執行環境都留在 Jetson 上,你在 Windows 的 VS Code 裡編輯、開終端機、跑程式,用起來跟開本機資料夾幾乎一樣。Jetson 本身不用接螢幕,只要接上網路就好。
這篇從頭到尾走一次,做到用 VS Code 透過 SSH 連上 Jetson、打開專案資料夾為止。
本文環境
| 項目 | 內容 |
|---|---|
| 開發板 | Jetson Orin Nano 8GB(官方 devkit 載板) |
| Jetson 系統 | JetPack 6.2(Ubuntu 22.04) |
| 主控端 | Windows 10/11,Visual Studio Code |
| 網路 | Jetson 與 Windows 電腦在同一個區域網路 |
文中的 IP、使用者名稱都是範例,請換成你自己的:
| 範例 | 代表 |
|---|---|
192.168.1.50 |
Jetson 的 IP 位址 |
jetson-user |
Jetson 的登入帳號 |
my_project |
你的專案資料夾 |
運作方式
[ Windows 電腦 ]
└── VS Code + Remote-SSH 擴充功能
│ 畫面、按鍵在本機
│
│ 區域網路(SSH,22 埠)
▼
[ Jetson Orin Nano ]
└── VS Code Server(第一次連線時自動安裝)
├── 讀寫檔案
├── 終端機
└── 執行、除錯程式
VS Code 第一次連線時,會自動在 Jetson 的家目錄裝一個小型伺服器(~/.vscode-server)。之後你在 VS Code 開的檔案、終端機、執行的 Python,全部都在 Jetson 上,所以會直接用到 Jetson 的 GPU、相機與系統套件。
步驟 1:Jetson 端準備
這一步需要暫時接上螢幕和鍵盤,或用 USB 序列埠登入。設定好之後就不必再接。
1-1 接上網路,查詢 IP
把 Jetson 接上有線網路或 Wi-Fi,確認它和 Windows 電腦在同一個區域網路。接著在 Jetson 的終端機執行:
hostname -I
記下第一組 IP(例如 192.168.1.50),也記下你登入 Jetson 用的帳號名稱。
建議固定 IP:如果 Jetson 的 IP 是路由器動態分配的,重開機後可能會變,VS Code 就會連不上。可以在路由器替 Jetson 的 MAC 位址保留固定 IP,或在 Jetson 的網路設定裡改成手動 IP。
1-2 確認 SSH 服務有開
JetPack 預設已經啟用 SSH。保險起見可以再確認一次:
sudo systemctl enable --now ssh
systemctl status ssh --no-pager
狀態顯示 active (running) 就可以了。
步驟 2:Windows 端先用終端機測試 SSH
先別急著開 VS Code。 先用 Windows 內建的 SSH 指令連一次,確認網路和帳號密碼都沒問題。這樣如果之後 VS Code 連不上,就知道問題出在 VS Code,不是網路。
Windows 10/11 已經內建 OpenSSH 用戶端。打開 PowerShell:
ssh jetson-user@192.168.1.50
第一次連線會出現主機指紋確認:
Are you sure you want to continue connecting (yes/no/[fingerprint])?
輸入 yes,再輸入 Jetson 的登入密碼。看到 Jetson 的命令提示字元就代表成功,輸入 exit 離開。
如果出現
ssh不是可辨識的指令,請到 Windows「設定 → 系統 → 選用功能」安裝 OpenSSH 用戶端。
步驟 3:安裝 VS Code 與 Remote-SSH 擴充功能
- 到 VS Code 官網(code.visualstudio.com)下載並安裝 Visual Studio Code。
- 開啟 VS Code,點左側的 Extensions 圖示(
Ctrl + Shift + X)。 - 搜尋 Remote - SSH,安裝 Microsoft 發行的官方版本。
安裝完成後,VS Code 左下角會多一個綠色(或藍色)的 >< 遠端連線按鈕。
步驟 4:用 VS Code 連上 Jetson
4-1 新增 SSH 主機
- 按
F1(或Ctrl + Shift + P),輸入並選擇 Remote-SSH: Add New SSH Host... - 輸入步驟 2 測試成功的那行指令:
text
ssh jetson-user@192.168.1.50
- 詢問要存到哪個設定檔時,選第一個,也就是你自己使用者目錄下的
.ssh\config。
建議接著用 Remote-SSH: Open SSH Configuration File... 打開這個檔案,替主機取個好記的名字:
Host jetson
HostName 192.168.1.50
User jetson-user
之後在清單裡只要選 jetson 就好。IP 換了也只需要改這裡。
4-2 發起連線
- 按
F1→ Remote-SSH: Connect to Host... → 選擇jetson。 - VS Code 會開一個新視窗。如果詢問遠端平台,選 Linux。
- 輸入 Jetson 的登入密碼。
第一次連線需要等一兩分鐘,因為 VS Code 正在 Jetson 上下載、安裝 VS Code Server。這段時間 Jetson 需要能連上網際網路。 完成後,左下角狀態列會顯示 SSH: jetson。
4-3 開啟專案資料夾、使用終端機
- 點左側 Explorer → Open Folder,選擇 Jetson 上的資料夾,例如
/home/jetson-user/my_project。如果還沒有資料夾,可以先在終端機執行mkdir ~/my_project。 - 按
Ctrl + `開啟終端機。這個終端機直接跑在 Jetson 上,可以輸入cat /etc/nv_tegra_release確認看看,會顯示 Jetson 的 L4T 版本。
到這裡,你已經可以在 Windows 上編輯 Jetson 的檔案,並在 Jetson 上執行程式。
步驟 5(建議):改用 SSH 金鑰,免輸入密碼
每次連線都要輸入密碼很煩,而且 VS Code 重新連線時可能會跳出好幾次密碼提示。改用金鑰登入可以一次解決。
5-1 在 Windows 產生金鑰
在 PowerShell 執行,過程中全部按 Enter 使用預設值:
ssh-keygen -t ed25519
這會在 %USERPROFILE%\.ssh\ 產生兩個檔案:id_ed25519(私鑰,絕對不要外流)和 id_ed25519.pub(公鑰,可以放到 Jetson 上)。
5-2 把公鑰放到 Jetson
Windows 沒有 ssh-copy-id 指令,改用下面這行。這是最後一次需要輸入密碼:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh jetson-user@192.168.1.50 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
5-3 驗證
直接用步驟 4-1 在設定檔裡取的主機名稱連線:
ssh jetson
如果沒有詢問密碼就直接登入,代表金鑰設定成功。之後 VS Code 連線、scp 傳檔都不需要再輸入密碼。
常見問題
| 狀況 | 原因與處理 |
|---|---|
PowerShell 的 ssh 也連不上(逾時) |
網路問題。確認兩台在同一個網段、IP 沒變,並在 Jetson 上確認 ssh 服務正在執行。 |
出現 REMOTE HOST IDENTIFICATION HAS CHANGED! |
通常是 Jetson 重灌系統後主機金鑰換了。在 Windows 執行 ssh-keygen -R 192.168.1.50 清掉舊紀錄,再重新連線。 |
| VS Code 一直卡在 Setting up SSH Host | 第一次安裝 VS Code Server 時,Jetson 需要能連上網際網路。也可以在 Jetson 上刪除 ~/.vscode-server,再重連一次。 |
| 一直跳出密碼提示,或要求選平台 | 照步驟 5 改用金鑰登入;在 VS Code 設定搜尋 remote.SSH.remotePlatform,把 jetson 設為 linux。 |
| 連上後 Jetson 變慢 | 遠端擴充功能也在 Jetson 上執行。只在遠端安裝必要的擴充功能(例如 Python),用不到的就不要裝。 |
小結
- Jetson:查 IP、確認 SSH 服務開著,最好固定 IP。
- Windows:先用 PowerShell
ssh測試連線。 - VS Code:安裝 Remote-SSH,新增主機,連線後開啟專案資料夾。
- 改用 SSH 金鑰登入,之後連線不用再輸入密碼。
環境建好之後,就可以在熟悉的編輯器裡開發 Jetson 上的 AI 程式了。下一篇〈實戰(一)〉會用這套環境,把 CSI 相機加上 YOLOv8,做成即時物件偵測串流。
留言