配置码云和github公钥SSH

ssh生成以及一台电脑多平台公钥多用户冲突处理

生成本地ssh

  • 打开Git Bash

    1
    cd ~/.ssh
  • 生成ssh

    1
    2
    ssh-keygen -t rsa -C 'github的用户名邮箱' -f '自定义的公钥名例如:github_id_rsa'
    ssh-keygen -t rsa -C '码云的用户名邮箱' -f '自定义的公钥名例如:id_rsa'

    一路回车就好,生成免密公钥

    • -t : 指定密钥类型 (不指定默认SSH-2的RSA密钥)
    • rsa: 密钥类型
    • -C: 用于识别这个密钥的注释(可以输入任何内容,很多网站和软件用这个注释作为密钥的名字)
    • -f: 指定文件名
  • 生成的文件

    C:\Users\Administrator\.ssh下可以看到新增的

将公钥配置到github和gitee

将对应的pub文件内容粘贴到对应的网站就可以了

github: settings => SSH and GPG keys => new ssh key

gitee: 设置 => SSH公钥 => 添加公钥即可

避免多用户多ssh-key冲突创建config文件

同时一台电脑同时链接github、conding、码云时会用冲突 此时可创建config文件进行配置

1
2
3
4
cd ~/.ssh
vi config
// 输入:w 回车
// 输入:q! 回车

文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 没有多用户可不指定user
# gitee
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_rsa(对应文件名)
User 用户名

# github
Host github.com
HostName github.com
IdentityFile ~/.ssh/github_id_rsa(对应文件名)
User 用户名

# conding
Host conding.com
HostName git.coding.net
IdentityFile ~/.ssh/conding_rsa(对应文件名)
User 用户名

保存搞定~~✿✿ヽ(°▽°)ノ✿

可能出现的问题

例如报错:

`git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.`

这可能是你本机的这个git仓库并没有和这个SSH key 关联上

输入如下命令

1
2
3
ssh-add '你对应的 id-rsa 的文件地址'
// 例如我的就是
ssh-add 'C:\users\holly\.ssh\github_id_rsa'

如果显示Identity added: 本地id-rsa地址 (邮箱)就OK了

但有可能还会报错如下:

Could not open a connection to your authentication agent.

输入命令

1
ssh-agent bash

再重复上一步操作即可

------ 本文结束------
0%