Git多个SSH Key共存解决方案
本文最后更新于 1365 天前,其中的信息可能已经有所发展或是发生改变。

目前手上不止一个git账号,平台也不一致,这就比较尴尬了:

  1. 同一个SSH Key中不允许两个账号
  2. 再次生成新的SSH Key会将上次的覆盖

目前的解决办法是,生成多个SSH Key并命别名,通过配置文件指定域

用ssh-keygen生成多个key

$ ssh-keygen -t rsa -C "wuwz@live.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/wuwenze/.ssh/id_rsa): /Users/wuwenze/.ssh/github
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ubuntu/.ssh/id_rsa_github.
Your public key has been saved in /home/ubuntu/.ssh/id_rsa_github.pub.
The key fingerprint is:
SHA256:T4s5hxOOX3ABGNHZNMPX6v7J1rgYxfzXMCuCipIh5Ng wuwz@live.com
The key's randomart image is:
+---[RSA 2048]----+
|      o=.=+  .   |
|      . o.oo. .  |
|          .. .   |
| .         ..o   |
|+.      S o.  *  |
|o.E    o @ ... =.|
| . o  . O *.o .o+|
|  o  . o = ..=o.o|
|   .. . .   .o=. |
+----[SHA256]-----+

根据提示,重新指定文件名,假设我有三个平台需要同时管理,即

/Users/wuwenze/.ssh/github
/Users/wuwenze/.ssh/gitee
/Users/wuwenze/.ssh/coding

依次按照上述操作,添加3个ssh-key,生成后的文件位于~/.ssh

添加私钥

git自动把新生成的私钥写到known_hosts中

$ ssh-add ~/.ssh/github
$ ssh-add ~/.ssh/gitee
$ ssh-add ~/.ssh/coding

如果执行ssh-add时提示”Could not open a connection to your authentication agent“,可以执行命令:

$ ssh-agent bash

然后再运行ssh-add命令,添加完成后,通过以下命令来验证:

# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l

# 可以通过 ssh-add -D 来清空私钥列表,清空后重复上一步操作
$ ssh-add -D

配置文件

$ vi ~/.ssh/config

# coding
Host coding.net
    HostName coding.net
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_coding

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

# github
Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_gitee

配置公钥并验证

依次登录对应的平台,配置SSH公钥,如:github

依次验证:

$ ssh -T git@github.com
$ ssh -T git@gitee.com
$ ssh -T git@git.coding.net
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇