macos终端ssh免密登录需三步:开启远程主机ssh服务、生成ed25519密钥对、手动部署公钥并严格设权;全程用系统自带工具,无需额外安装。
在 macos 终端中实现 ssh 密钥免密登录,核心是三步:开启远程主机的 ssh 服务、生成本地 ed25519 密钥对、手动部署公钥并严格设置权限。全程使用系统自带工具,无需安装额外软件。
开启远程主机的 SSH 服务
macOS 默认不运行 sshd,必须手动启用,否则密钥无法生效。
- 打开「系统设置」→「通用」→「共享」,勾选「远程登录」
- 右侧会显示类似 ssh user@192.168.x.x 的提示,说明服务已启动
- 点击右侧「信息」图标 → 选择「仅这些用户」,勾选你要登录的账户(不建议选“所有用户”)
- 若防火墙开启,进入「防火墙」→「防火墙选项」,确认未阻止 sshd(端口 22)
生成本地 Ed25519 密钥对
Ed25519 比 RSA 更快更安全,macOS 12+ 原生支持,推荐作为默认选择。
macOS 微信消息自动化工具。通过 GUI 自动化实现:发送消息给指定联系人、读取聊天内容、监控新消息。适用于需要自动化微信操作的场景,如定时发送、批量回复、消息备份等。依赖 peekaboo 进行屏幕截图和 UI 交互。仅支持 macOS。开源地址:https://github.com/chairmanmia...
- 打开终端,执行:ssh-keygen -t ed25519 -C "me@mac.local"
- 路径直接回车,默认保存为 ~/.ssh/id_ed25519(私钥)和 ~/.ssh/id_ed25519.pub(公钥)
- 建议输入 passphrase(密码短语),防止私钥泄露后被滥用
- 如需后续自动填充 passphrase,运行:ssh-add --apple-use-keychain ~/.ssh/id_ed25519,首次会提示存入钥匙串
手动部署公钥到远程主机
避免 ssh-copy-id 在 Sonoma 及更新系统中因 shell 或权限问题失败,手动操作更可靠。
- 查看并复制公钥:cat ~/.ssh/id_ed25519.pub,全选整行内容
- 用密码方式登录一次远程主机:ssh user@192.168.x.x
- 在远程终端依次执行(顺序不能错):
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys - 注意:~/.ssh 权限不能高于 700,authorized_keys 不能高于 600,否则 sshd 会静默拒绝
测试与可选加固
退出当前会话,在本地终端运行:
- 测试连接:ssh -o LogLevel=INFO user@192.168.x.x,日志能清晰指出卡在哪一步
- 成功免密登录后,如需禁用密码登录(提升安全性),编辑 /etc/ssh/sshd_config,确保:
PubkeyAuthentication yes
PasswordAuthentication no - 然后执行:
sudo sshd -t(验证语法)
sudo launchctl kickstart -k system/com.openssh.sshd(重启服务)










