教程

如何在 iPhone 上创建 SSH 密钥(免密连接)

在 iPhone 上生成 SSH 密钥——无需电脑。在 App 里创建密钥对、把公钥装到服务器、免密连接,并可选关闭密码登录。

CC Chen Chen· 创始人·2026 年 6 月 10 日·阅读 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