在 iPhone 上建立 SSH 金鑰
你不需要電腦就能產生 SSH 金鑰——一個好的 iPhone SSH 客戶端能在裝置上建立金鑰對、安全保存私鑰,並把公鑰給你裝到伺服器上。之後連線就無需密碼。本文展示完整流程:產生金鑰、把公鑰加到伺服器、連線。截圖用 TermAI。
為什麼用金鑰而不是密碼?
- 更強——金鑰對無法像密碼那樣被暴力破解。
- 更方便——設定好後,每次連線都不用輸密碼。
- 能安全關閉密碼——金鑰可用後,可以在伺服器上徹底關閉密碼登入。
SSH 金鑰有兩部分:私鑰(留在手機上,永不離開)和公鑰(你複製到每臺伺服器)。伺服器用公鑰來驗證你持有的私鑰。
第 1 步——在 iPhone 上產生金鑰對
在 SSH 客戶端裡打開金鑰管理,產生新金鑰。TermAI 會建立一對 Ed25519 金鑰(現代、短、推薦的預設),並把私鑰存進裝置的安全鑰匙圈——它留在手機上。之後你檢視並複製公鑰,去裝到伺服器上。
第 2 步——把公鑰裝到伺服器
公鑰(一行,以 ssh-ed25519 開頭)要進伺服器的 ~/.ssh/authorized_keys。三種方式:
- 一鍵,如果你已經連上:TermAI 能替你把金鑰部署到伺服器——它自動把公鑰寫進當前已連線主機的
authorized_keys,無需手動編輯。 - 手動,如果你還能用密碼登入:先連上一次,然後執行:
mkdir -p ~/.ssh && echo "粘貼公鑰" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys - 新的樹莓派 / 雲 VM:很多場景允許在初始化時粘貼公鑰(cloud-init、主機的網頁控制臺,或 Raspberry Pi Imager)。
第 3 步——用金鑰連線
把連線的認證設為金鑰,選你產生的那把。連線——沒有密碼提示。如果還在問密碼,說明公鑰還沒進 authorized_keys,或檔案權限不對(必須是 600,~/.ssh 必須是 700)。
第 4 步(可選)——關閉密碼登入
金鑰登入可用後,你可以徹底關閉密碼。在伺服器的 /etc/ssh/sshd_config 裡設 PasswordAuthentication no,重啟 SSH。這樣就只有你的金鑰能進。做這步前先在另一個工作階段裡測試金鑰登入,以免把自己鎖在外面。
常見問題
私鑰存在 iPhone 哪裡?
在 App 的安全儲存 / 裝置鑰匙圈裡。它永不離開手機——你只把公鑰複製到伺服器。
Ed25519 還是 RSA?
用 Ed25519,除非伺服器老到只支援 RSA。Ed25519 金鑰更短,同等強度下被認為更安全。
同一把金鑰能用於多臺伺服器嗎?
能——把這一把公鑰裝到任意多臺伺服器。很多人每臺裝置用一把金鑰。
怎麼把金鑰遷到新手機?
在新手機上產生一把新金鑰,把它的公鑰加到伺服器,而不是匯出私鑰。如果客戶端支援加密同步,也可以用同步。
快速事實
- 任務:在 iPhone 上建立並使用 SSH 金鑰——無需電腦
- 產生:在 App 的金鑰管理裡;選 Ed25519
- 私鑰:留在手機上(鑰匙圈);只有公鑰發到伺服器
- 安裝:把公鑰加到
~/.ssh/authorized_keys(權限 600) - 加固:金鑰可用後,設
PasswordAuthentication no
Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.