如何在 gitlab 上配置同一台电脑的多个 SSH KEY? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
Phishion
V2EX    git

如何在 gitlab 上配置同一台电脑的多个 SSH KEY?

  •  
  •   Phishion Jul 13, 2018 4036 views
    This topic created in 2850 days ago, the information mentioned may be changed or developed.

    基友有一个项目,我在加入的时候,把 id_rsa.pub 公钥给他,这样我就直接可以 SSH 进去参与项目了。

    然后这里出现一个问题,这时候我自己也搞了一个账户,我在添加 SSH KEY 的时候,网站提示 SSH KEY 已知,无法继续添加。

    这样带来的结果就是,我本机只能二选一登录,研究了一下 SSH config 文件,发现只能按照域名选择相应的 SSH KEY,似乎只能这样了。

    其实如果你有多个 gitlab 账号,也应该有这样的问题,我想知道大伙一般怎么处理这样的问题,谢谢。

    12 replies    2018-07-14 13:46:12 +08:00
    chinvo
        1
    chinvo  
       Jul 13, 2018 via iPhone
    再生成一个
    guyeu
        2
    guyeu  
       Jul 13, 2018
    不大理解这个需求 同一台电脑有多个 sshkey 说明一台电脑上有多个账户,那每个账户对应一个 gitlab 账户不就行了
    momocraft
        3
    momocraft  
       Jul 13, 2018   1
    不应该把一个公钥登录在不同用户名下:一旦出事无法追查

    ssh config 可以一个域名多个 key pair (会按顺序试,第一个成功的未必是有你想要的权限的那个)
    chinvo
        4
    chinvo  
       Jul 13, 2018 via iPhone
    ( 1#错误示例)

    正确做法是用你的 gitlab 账号加入你基友的项目,而非把你的 public key 给他。

    你现在理论上拥有你基友所有项目的最高权限。
    ETiV
        5
    ETiV  
       Jul 13, 2018 via iPhone
    ssh config host alias
    ETiV
        6
    ETiV  
       Jul 13, 2018 via iPhone
    clone 的时候把 gitlab 的域名替换一下,换成 ssh 里配的主机别名
    billchenchina
        7
    billchenchina  
       Jul 13, 2018 via Android
    协作者机制啊...

    让你基友在协作者里加上你的帐号,你自己的 SSH KEY 就有权限操作了啊
    Phishion
        8
    Phishion  
    OP
       Jul 13, 2018
    @momocraft 您好,我方才像下面一样试了一下,不好使,只能识别其中一个,单独写到都是正常的,是不是我格式写的有问题?谢谢帮助


    Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/gitlab_l.pub
    IdentityFile ~/.ssh/gitlab.pub
    momocraft
       
    momocraft  
       Jul 13, 2018
    @Phishion ssh 匹配 key 的标准是连接上主机, 读 repo 的权限验证发生在连接成功后. 这个问题可能无法用一域名多 key 的方式解决.
    lululau
        10
    lululau  
       Jul 13, 2018
    4L 正解

    @Phishion 您都知道 ssh 公钥了,不知道 gitlab 可以在项目设置里管理项目成员?
    metorm
        11
    metorm  
       Jul 13, 2018
    应该是在项目中给你的现有账户授权,而不是把你自己的公钥注册到他名下。

    错误不在于现在,在于之前的做法。
    cz5424
        12
    cz5424  
       Jul 14, 2018 via Android
    @Phishion 不建议你现在用什么特殊手段去解决这个问题,4L 正解
    About     Help     Advertise     Blog     API     FAQ     Solana     2609 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 55ms UTC 14:04 PVG 22:04 LAX 07:04 JFK 10:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86