抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)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

参考

ssh-keygen 中文手册

评论