教學

如何在 iPhone 上建立 SSH 金鑰(免密連線)

在 iPhone 上產生 SSH 金鑰——無需電腦。在 App 裡建立金鑰對、把公鑰裝到伺服器、免密連線,並可選關閉密碼登入。

CC Chen Chen· 創始人·2026 年 6 月 24 日·閱讀 6 分鐘

在 iPhone 上建立 SSH 金鑰

你不需要電腦就能產生 SSH 金鑰——一個好的 iPhone SSH 客戶端能在裝置上建立金鑰對、安全保存私鑰,並把公鑰給你裝到伺服器上。之後連線就無需密碼。本文展示完整流程:產生金鑰、把公鑰加到伺服器、連線。截圖用 TermAI。

為什麼用金鑰而不是密碼?

  • 更強——金鑰對無法像密碼那樣被暴力破解。
  • 更方便——設定好後,每次連線都不用輸密碼。
  • 能安全關閉密碼——金鑰可用後,可以在伺服器上徹底關閉密碼登入。

SSH 金鑰有兩部分:私鑰(留在手機上,永不離開)和公鑰(你複製到每臺伺服器)。伺服器用公鑰來驗證你持有的私鑰。

第 1 步——在 iPhone 上產生金鑰對

在 SSH 客戶端裡打開金鑰管理,產生新金鑰。TermAI 會建立一對 Ed25519 金鑰(現代、短、推薦的預設),並把私鑰存進裝置的安全鑰匙圈——它留在手機上。之後你檢視並複製公鑰,去裝到伺服器上。

TermAI 裡一個連線的 密碼 / 金鑰 認證切換
設定連線時,把認證從密碼切到金鑰。App 管理金鑰對,並把私鑰安全地存在裝置上。

第 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
Try TermAI

Free on iOS and Android. 5 AI requests/day on the free tier, plus unlimited SSH/SFTP and built-in Tailscale.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog