Skip to content

macOS SSH Ed25519

在 macOS 上配置 SSH 密钥时,推荐优先使用 Ed25519,相比传统 RSA 更现代,默认也更简洁。

生成 Ed25519 密钥

打开终端,执行:

bash
ssh-keygen -t ed25519 -C "edwin@macmini"

参数说明:

  • -t ed25519:指定使用 Ed25519 算法
  • -C:添加注释,通常写成邮箱或“用户名@设备名”

交互过程

执行后,系统会提示:

text
Enter file in which to save the key (/Users/xxx/.ssh/id_ed25519):

如果没有特殊需求,直接回车即可,使用默认路径:

text
~/.ssh/id_ed25519

接着会提示输入密钥密码:

text
Enter passphrase (empty for no passphrase):

建议设置一个密码,这样即使私钥文件泄露,也能多一层保护。

生成结果

默认会生成两个文件:

text
~/.ssh/id_ed25519      # 私钥,不要泄露
~/.ssh/id_ed25519.pub  # 公钥,可分发到服务器或代码托管平台

查看公钥

把公钥添加到服务器、GitHub 或其他平台时,可以执行:

bash
cat ~/.ssh/id_ed25519.pub

复制输出内容即可。

可选:加入 ssh-agent

如果希望系统帮你记住私钥密码,可以把密钥加入 ssh-agent

bash
ssh-add --apple-use-keychain ~/.ssh/id_ed25519

有些较新的 macOS 环境中,也可以直接使用:

bash
ssh-add ~/.ssh/id_ed25519

可选:配置 SSH

如果你希望 macOS 自动加载该密钥,可以在 ~/.ssh/config 中加入:

sshconfig
Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

这样以后连接 SSH 时,会默认使用这把密钥。

验证

可以先查看本地公钥是否存在:

bash
ls -l ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub

如果已经把公钥写入远程服务器,也可以直接测试连接:

bash
ssh user@your-server

如果能正常登录,说明这套 Ed25519 密钥已经配置成功。