抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

配置密钥

假如需要在本机配置多个 Git 账户(比如 GitHub 和 CODING等等 ),那么在 C:\Users\用户名\.ssh 目录下将要生成多份密钥文件。

生成 GitHub 密钥

  1. 打开 git bash,生成 SSH Key

    1
    ssh-keygen -t rsa -C 邮箱地址 -f id_rsa.github

    执行命令后会两次提示输入密码,可直接回车即可。生成成功会提示:“Your identification has been saved in id_rsa.github.”,在当前目录会出现两个文件:id_rsa.githubid_rsa.github.pub,前面是私钥,后面是公钥。

    -C: 填写GitHub邮箱或者用户名

    -f:可以随意设置文件名,自己能区分就行

  2. 将生成的两个文件移动到 C:\Users\用户名\.ssh 目录。如果没有 .ssh 目录,则新建一个。

  3. 将本机生成的公钥添加到 GitHub 账号

    登录 GitHub 网站,进入Settings*>SSH and GPG keys*,点击 New SSH key,Title随便写,Key 里面将以上生成的 id_rsa.github.pub 内容全部复制粘贴过来,点击 Add SSH key 即可。

  4. 测试本机和 GitHub 是否连接成功,执行命令:

    1
    ssh -T git@github.com -i ~/.ssh/id_rsa_github

    连接成功则提示:

    Hi 用户名! You’ve successfully authenticated, but GitHub does not provide shell access.

生成 CODING 密钥

  1. 打开 git bash,生成 SSH Key

    1
    ssh-keygen -t rsa -C 邮箱地址 -f id_rsa.coding

    这里的邮箱地址填写 CODING 账号邮箱,文件名需要更改为不同于上面的 GitHub 的用户名,其它事项同上。

  2. 将本机生成的公钥添加到 CODING 账号

    登录 CODING网站,进入个人账户设置->SSH公钥,点击新增公钥,公钥名称随便,公钥内容将以上生成的 id_rsa.coding.pub 内容全部复制粘贴过来,点击 确认即可。

  3. 测试本机 CODING 是否连接成功,执行命令:

    ssh -T git@e.coding.net -i ~/.ssh/id_rsa_coding

如果需要配置更多的 Git 账号,步骤同上。

配置 CONFIG 文件

C:\Users\用户名\.ssh 目录新建一个 config 文件,两种方法:

  • 在Windows资源管理器中新建一个 txt 文本,然后将名字改成 config(去掉 .txt 后缀)

  • 在 git bash 下,执行命令:touch config 即可创建一个 config 文件

    config 文件内容:

    1
    2
    3
    4
    5
    Host         # 主机别名,随意取
    HostName  # 服务器真实地址
    IdentityFile # 私钥文件路径
    PreferredAuthentications # 认证方式,可设置publickey,password publickey,keyboard-interactive等
    User  # 使用用户名

    比如以上添加的 SSH key 配置

    1
    2
    3
    4
    5
    6
    7
    8
    Host github.com  
    HostName github.com
    IdentityFile ~/.ssh/id_rsa.github
    User MyUserName

    Host e.coding.net
    IdentityFile ~/.ssh/id_rsa.coding
    User myName@gmail.com
  • 每个 git 账号单独配置一个 Host,比如 Host 名字配置为 MyGit,执行 git clone 命令操作:

    git clone git@MyGit:用户名/repo.git

  • 配置好 Host 别名后如果要测试连接是否成功,可执行:

    ssh -T git@MyGit

本机配置多个 Github 账号

  1. 生成密钥方式同上

    1
    ssh-keygen -t rsa -C 邮箱地址 -f id_rsa_work.github
  2. 公钥添加到 Github 账号

  3. config文件配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    Host github.com  
    HostName github.com
    IdentityFile ~/.ssh/id_rsa.github
    User zerow

    Host github.com-work
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_work.github
    User githubworkname
  4. 测试

    1
    2
    ssh -T git@github.com-work
    # 成功会看到: Hi your_work_username! You've successfully authenticated...
  5. 使用

    • 克隆仓库:从GitHub复制SSH地址(如 git@github.com:company/project.git),你需要将地址中的 github.com 替换为你在 config 文件中定义的 Host 别名。例如,工作项目应改为 git clone git@github.com-work:company/project.git

    • 已有本地仓库:在项目目录下,修改远程仓库地址 :

      1
      git remote set-url origin git@github.com-work:company/project.git
    • 设置提交信息:进入项目目录,为这个仓库单独设置用户名和邮箱,确保提交记录对应的是正确的账号 。

      1
      2
      3
      cd your-project
      git config user.name "Your Work Name"
      git config user.email "work@company.com"

参考

ssh-keygen 中文手册

评论