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

SSH秘钥配置介绍

在 SSH 和 Git 场景下,密钥文件的正确格式命名规则如下:


1. 密钥文件的默认命名与后缀

SSH 密钥通常由一对文件组成(无严格后缀要求,但约定俗成):

  • 私钥文件(必须严格保密):

    • 默认名称:id_rsaid_ed25519

    • 自定义名称示例:my_private_keykey.txt

    • 无强制后缀,但内容必须是有效的 PEM 格式或 OpenSSH 私钥格式。

  • 公钥文件(可公开):

    • 默认名称:id_rsa.pubid_ed25519.pub

    • 自定义名称示例:my_public_key.pubkey.txt.pub

    • 通常以 .pub 结尾,内容必须以 ssh-rsa 或 ssh-ed25519 开头。


2. 密钥文件的正确格式

(1)公钥文件内容格式
  • 必须包含三部分(示例):

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC... your_email@example.com

    或 Ed25519 密钥:

    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... your_email@example.com
    • 开头:密钥类型(ssh-rsa/ssh-ed25519)。

    • 中间:Base64 编码的密钥内容。

    • 结尾:注释(通常为邮箱,可选)。

  • 验证公钥格式

    cat ~/.ssh/id_rsa.pub | ssh-keygen -l -f -  # 检查指纹
(2)私钥文件内容格式
  • RSA 私钥(示例):

    -----BEGIN OPENSSH PRIVATE KEY-----
    b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
    ...
    -----END OPENSSH PRIVATE KEY-----
  • Ed25519 私钥

    -----BEGIN OPENSSH PRIVATE KEY-----
    b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABBQbZzWrP
    ...
    -----END OPENSSH PRIVATE KEY-----
  • 验证私钥格式

    ssh-keygen -p -f ~/.ssh/id_rsa  # 检查或修改密码(无报错则格式正确)

4. 密钥文件权限要求

文件类型所需权限命令示例
私钥600(仅用户可读写)chmod 600 ~/rsa_key_pair/key.txt
公钥644(用户可读写,其他可读)chmod 644 ~/rsa_key_pair/key.txt.pub
.ssh 目录700(仅用户可读写执行)chmod 700 ~/.ssh

5. 常见错误案例

问题错误示例修复方法
私钥权限过宽-rw-r--r--chmod 600 key.txt
公钥内容缺失注释ssh-rsa AAAAB3Nza...(无邮箱)无需修复,但建议添加注释
私钥格式损坏文件内容被截断或修改重新生成密钥

总结

  • 文件名:可自定义(如 key.txt),但建议遵循默认命名(id_算法)避免混淆。

  • 文件内容:必须符合 SSH 标准格式(通过 ssh-keygen 生成的最安全)。

  • 权限:私钥必须严格限制为 600

相关文章:

  • 44、私有程序集与共享程序集有什么区别?
  • 怎么实现Redis的高可用?
  • GraphPad Prism简介、安装与工作界面
  • 【CUDA】Sgemm单精度矩阵乘法(下)
  • 使用mermaid 语言绘画时序图和链路图
  • 编程日志5.5
  • 计算机网络:怎么理解调制解调器的数字调制技术?
  • SDIO EMMC中ADMA和SDMA简介
  • Ansible Roles 是一种用于层次化和结构化组织 Ansible Playbook 的机制。
  • [已解决] VS Code / Cursor / Trae 的 PowerShell 终端 conda activate 进不去环境的常见问题
  • Windows 环境下安装 Node 和 npm
  • 【Pandas】pandas DataFrame describe
  • Java 大视界 -- 基于 Java 的大数据分布式存储在工业互联网海量设备数据长期存储中的应用优化(248)
  • vscode - 笔记
  • 采用均线策略来跟踪和投资基金
  • x-IMU matlab zupt惯性室内定位算法
  • 南审计院考研分享会 经验总结
  • springboot踩坑记录
  • spring中的@MapperScan注解详解
  • Java 集合框架对比全解析:单列集合 vs 双列集合
  • 万科再获深铁集团借款,今年已累计获股东借款近120亿元
  • 孙卫东会见巴基斯坦驻华大使:支持巴印两国实现全面持久停火
  • 加拿大总理宣布新内阁名单
  • 经济日报整版聚焦:上海构建法治化营商环境,交出高分答卷
  • 杭州钱塘区3宗涉宅用地均以底价成交,共计成交金额25.73亿元
  • 四部门:到2025年底,全国行政村5G通达率超过90%