一台电脑使用多个 SSH 授权

一.新建SSH key:

先进到对应目录

$cd~/.ssh
$ssh-keygen -t rsa -C”your@email.com”

需要分别生成3对私钥&公钥,而且分别命名好

  1. github
  2. 公司的
  3. oschina

注意名字

Enter fileinwhichto save the key (/c/Users/Administrator/.ssh/id_rsa):id_rsa_XXX

二.生成 config 文件

$touch config

然后将下列内容拷贝进去(注意如果有红色下划线表示拷贝有问题,自己要重新输入下)

1
2
3
4
5
6
7
8
9
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_rsa
Host oschina.net
HostName git.oschina.net
User git
IdentityFile ~/.ssh/id_rsa_oschina

此处我省略了公司的,是因为公司的名字为 id_rsa,即是默认的那个

三.将pub 的公钥复制到对应网站里的 SSH 处黏贴

四.在命令行测试连接

1
2
3
4
5
$ ssh -T git@github.com
回应 : Hi XXX!
$ ssh -T git@git.oschina.net
回应 :Welcome to Git@OSC, XXX!

等到上面的回应,则表示成功

五.如果还是报错Permission denied (publickey).

则在命令行瞅瞅目前都有哪些 key 被添加进去了

1
2
3
4
5
$ssh-add -l
$2048 SHA256:XXX /Users/XXX/.ssh/id_rsa (RSA)
$2048 SHA256:XXX /Users/XXX/.ssh/github_rsa (RSA)
$2048 SHA256:XXX /Users/XXX/.ssh/id_rsa_gitoschina (RSA)

如果没有在里面发现最新创建的 id_rsa 文件,则主动添加进去

1
$ssh-add /Users/XXX/.ssh/id_rsa_gitoschina

并且和上面写的 config 里的文件名对应好

再重复步骤四测试连接


原创文章,转载请注明地址: https://kevinmky.github.io