Git如何在一个机器上创建多个SSH KEY并且在使用的时候可以指定使用某个KEY

clipboard.png

具体的问题是我现在在git上面可能会有这些项目,然后我想通过不同的ssh key去使用这些项目,
这就要在一台机器上生成多个sshkey,然后还要在push的时候不同的项目使用不同的key,有这样使用过的么?
求教

阅读 4.1k
3 个回答

没有,一般使用多个ssh key是对应多个github账号来管理的

生成指定密钥 ssh-keygen -t rsa -C "邮箱地址" -f ~/.ssh/youname

修改不同的host

vim ~/.ssh/config

我觉得也没有这样的用法,我觉得楼主的这种需求很奇怪。但是github上有一些很实用的功能可能对楼主有点用处,这些功能你可以在github的“设置”菜单中找到:

  • SSH and GPG keys

github上可以使用多个ssh-key或者gpg-key来关联你的账户,但是不能满足楼主那样的要求。

图片描述

  • Personal access tokens

图片描述

这是一个类似于令牌的功能,有点像Oauth的访问token。我是这样理解它的,就是当我们希望临时给一个用户推送到仓库的权限时,我们就可以生成一个Personal access token,赋予相应的权限,然后将这个权限发给那个用户,那个用户就可以具有推送权限了。是不是有点像令牌呢?

同一个机器,同一个网站多个key的话,可以:

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no

参考https://serverfault.com/quest...

不过最简单还是写个全局shell命令按需切换吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进