本机生成多个ssh公钥管理多个GitHub账户

管理多个 GitHub 账户时,可以使用不同的 SSH 公钥来为每个账户提供访问权限。以下是在本机生成多个 SSH 公钥并为每个 GitHub 账户添加相应公钥的步骤:

  1. 生成 SSH 密钥对: 打开终端(在 Linux 或 macOS 上)或 Git Bash(在 Windows 上),使用 ssh-keygen 命令生成新的 SSH 密钥对。对于每个 GitHub 账户,重复以下步骤:

    1
    
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    "your_email@example.com" 替换为你的电子邮件地址。-t rsa 指定密钥类型为 RSA,-b 4096 指定密钥长度为 4096 位。

  2. 命名密钥文件: 在提示保存密钥对时,你可以使用默认文件名(如 ~/.ssh/id_rsa),或者为每个 GitHub 账户指定不同的文件名,例如:

    1
    
    Enter file in which to save the key (/c/Users/YourName/.ssh/id_rsa): /c/Users/YourName/.ssh/id_rsa_work
    

    这样,你就可以区分不同账户的密钥。

  3. 设置密钥访问权限: 为确保安全性,应该只让文件所有者访问私钥:

    1
    
    chmod 600 /c/Users/YourName/.ssh/id_rsa_work
    
  4. 添加 SSH 公钥到 GitHub 账户

    • 打开生成的公钥文件(默认为 .pub 扩展名),例如 id_rsa_work.pub
    • 复制公钥内容。
    • 登录到对应的 GitHub 账户。
    • 访问 Settings > SSH and GPG keys > New SSH key,粘贴你的公钥并命名。
    • 点击“Add SSH key”完成添加。
  5. 配置 SSH 以使用特定密钥: 在 ~/.ssh/config 文件中添加以下内容,以配置 SSH 客户端使用特定密钥:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Host github-work
        HostName github.com
        User your_github_username
        IdentityFile ~/.ssh/id_rsa_work
    
    Host github-personal
        HostName github.com
        User your_github_username
        IdentityFile ~/.ssh/id_rsa_personal
    

    github-workgithub-personal 替换为你的 GitHub 主机别名,your_github_username 替换为你的 GitHub 用户名,id_rsa_workid_rsa_personal 替换为你的密钥文件路径。

  6. 克隆或推送到 GitHub 仓库: 当你需要克隆或推送到 GitHub 仓库时,使用配置的别名来指定使用哪个密钥:

    1
    
    git clone git@github-work:username/repo.git
    

    或者:

    1
    
    git push github-personal master
    

通过这种方式,你可以为每个 GitHub 账户生成和管理不同的 SSH 密钥,从而实现对不同账户的访问控制。记得妥善保管你的私钥文件。

使用 Hugo 构建
主题 StackJimmy 设计