基友有一个项目,我在加入的时候,把 id_rsa.pub 公钥给他,这样我就直接可以 SSH 进去参与项目了。
然后这里出现一个问题,这时候我自己也搞了一个账户,我在添加 SSH KEY 的时候,网站提示 SSH KEY 已知,无法继续添加。
这样带来的结果就是,我本机只能二选一登录,研究了一下 SSH config 文件,发现只能按照域名选择相应的 SSH KEY,似乎只能这样了。
其实如果你有多个 gitlab 账号,也应该有这样的问题,我想知道大伙一般怎么处理这样的问题,谢谢。
1
chinvo 2018-07-13 19:23:30 +08:00 via iPhone
再生成一个
|
2
guyeu 2018-07-13 19:23:59 +08:00
不大理解这个需求 同一台电脑有多个 sshkey 说明一台电脑上有多个账户,那每个账户对应一个 gitlab 账户不就行了
|
3
momocraft 2018-07-13 19:24:14 +08:00 1
不应该把一个公钥登录在不同用户名下:一旦出事无法追查
ssh config 可以一个域名多个 key pair (会按顺序试,第一个成功的未必是有你想要的权限的那个) |
4
chinvo 2018-07-13 19:25:01 +08:00 via iPhone
( 1#错误示例)
正确做法是用你的 gitlab 账号加入你基友的项目,而非把你的 public key 给他。 你现在理论上拥有你基友所有项目的最高权限。 |
5
ETiV 2018-07-13 19:30:54 +08:00 via iPhone
ssh config host alias
|
6
ETiV 2018-07-13 19:31:56 +08:00 via iPhone
clone 的时候把 gitlab 的域名替换一下,换成 ssh 里配的主机别名
|
7
billchenchina 2018-07-13 19:38:08 +08:00 via Android
协作者机制啊...
让你基友在协作者里加上你的帐号,你自己的 SSH KEY 就有权限操作了啊 |
8
Phishion OP @momocraft 您好,我方才像下面一样试了一下,不好使,只能识别其中一个,单独写到都是正常的,是不是我格式写的有问题?谢谢帮助
Host gitlab.com HostName gitlab.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitlab_l.pub IdentityFile ~/.ssh/gitlab.pub |
9
momocraft 2018-07-13 21:11:37 +08:00
@Phishion ssh 匹配 key 的标准是连接上主机, 读 repo 的权限验证发生在连接成功后. 这个问题可能无法用一域名多 key 的方式解决.
|
11
metorm 2018-07-13 21:25:03 +08:00
应该是在项目中给你的现有账户授权,而不是把你自己的公钥注册到他名下。
错误不在于现在,在于之前的做法。 |