当前位置: 首页 > news >正文

macOS生成密钥对教程

在 macOS 下生成密钥对(如 SSH 密钥)可通过终端命令完成,以下是详细步骤:


方法 1:使用 ssh-keygen 生成 SSH 密钥对(推荐)

  1. 打开终端
    通过 Spotlight 搜索(Command + 空格)输入 Terminal 并打开。

  2. 生成密钥对
    输入以下命令(推荐使用更安全的 ed25519 算法,或兼容性更好的 RSA):

    # 使用 ed25519 算法(更安全高效)
    ssh-keygen -t ed25519 -C "your_email@example.com"# 或使用 RSA 算法(兼容旧系统)
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    • -C 后可替换为你的邮箱或注释(非必需)。
    • -b 4096 指定 RSA 密钥长度(默认为 3072 位)。
  3. 指定保存路径
    按提示输入密钥保存路径(默认 ~/.ssh/id_ed25519~/.ssh/id_rsa),直接回车使用默认路径

  4. 设置密钥密码(可选)
    输入一个密码(passphrase)增强安全性(可留空直接回车跳过)。

  5. 生成成功
    终端显示:

    Your identification has been saved in /Users/you/.ssh/id_ed25519
    Your public key has been saved in /Users/you/.ssh/id_ed25519.pub
    

方法 2:生成 GPG 密钥对

若需 GPG 密钥(用于加密/签名),使用 gpg 命令:

# 安装 GPG(如未安装)
brew install gnupg# 生成 GPG 密钥
gpg --full-generate-key

按提示选择:

  1. 密钥类型:RSA and RSA(默认)。
  2. 密钥长度:4096
  3. 设置有效期(建议 0 = 永不过期)。
  4. 输入姓名、邮箱。
  5. 设置保护密码(可选)。

密钥位置与管理

  • SSH 密钥
    • 私钥:~/.ssh/id_ed25519~/.ssh/id_rsa
    • 公钥:~/.ssh/id_ed25519.pub~/.ssh/id_rsa.pub
  • GPG 密钥
    查看公钥:gpg --armor --export your_email@example.com
    查看私钥:gpg --list-secret-keys

常用操作

  1. 复制 SSH 公钥

    pbcopy < ~/.ssh/id_ed25519.pub  # 公钥内容存入剪贴板
    

    粘贴到 GitHub/GitLab 等服务的 SSH Keys 设置中。

  2. 启动 ssh-agent(避免重复输入密码)

    eval "$(ssh-agent -s)"
    ssh-add --apple-use-keychain ~/.ssh/id_ed25519  # 存储密码到钥匙串
    
  3. 验证 SSH 连接

    ssh -T git@github.com  # 测试 GitHub
    

安全提示

  • 🔒 私钥永不分享!仅公钥(.pub 文件)可公开。
  • 使用密码保护密钥(即使泄露也多一层防御)。
  • 定期备份 ~/.ssh/ 目录。

完成后即可将公钥用于 SSH 登录、Git 操作或加密通信。

http://www.lqws.cn/news/556129.html

相关文章:

  • 网络攻防技术
  • WOE值:风险建模中的“证据权重”量化术——从似然比理论到FICO评分卡实践
  • 最后的生还者2:重制版 免安 中文离线运行版+整合包
  • Flutter 使用flutter_inappwebview加载H5 在Windows 11 上应用闪退问题排查与解决方案
  • [幻灯片]分析设计高阶-03行为01-202506更新-GJ-002
  • 系统架构设计师备考之架构设计基础
  • docker安装elasticsearch和kibana
  • bboss jobflow使用介绍
  • Java--面向对象基础--类与方法
  • GitHub 趋势日报(2025年06月27日)
  • spring spi源码
  • 恐怖黎明 决定版 中文 免安 离线运行版
  • 《卷积神经网络到Vision Transformer:计算机视觉的十年架构革命》
  • 【SpringBoot高级】SpringBoot与Kafka深度整合:从入门到企业级实战
  • zookeeper Curator(3):Watch事件监听
  • 使用 Socket.IO 和 TypeScript 由 WebSockets 驱动的聊天应用程序
  • JavaScript中的显式原型与隐式原型:深入理解原型链
  • 车辆车五项查询API: Python 示例
  • Stewart并联结构两自由度正逆解计算和工作空间仿真
  • Word之电子章制作——1
  • 探索钉钉生态中的宜搭:创建与分享应用的新视界
  • 服务器的维护技术都有哪些?
  • docker+n8n的工作流中无法使用本地ollama服务的问题
  • InnoDB的undo日志涉及的页结构
  • mmap映射物理内存之一cache与lock
  • GeoTools 结合 OpenLayers 实现属性查询
  • Stable Diffusion入门-ControlNet 深入理解 第四课:风格迁移与重绘控制模型——让AI也有“艺术天赋”!
  • Git安装避坑指南
  • 【编程实践】利用python在Blender生成三维模型
  • Kafka 消费者重平衡问题排查与优化实践