Git高級之配置多個SSH key

最近咱們在代碼託管平臺上使用SSH的方式下拉代碼,一般是用一個ssh key來拉取全部託管平臺的代碼,如碼雲,GitHub、GitLab等,可是總用一個不是太好。會有安全風險,這就須要爲每一個託管平臺設置單獨的SSH-keypython

下面咱們下簡單介紹一下如何建立多個SSH Key而且使用下拉代碼。git

第一步、生成SSH-Key

Windows建議使用Git bash操做github

Linux、mac用戶使用默認終端便可安全

  1. 生成第一個SSH-Key
$ ssh-keygen -t rsa -C "你的郵箱」 -f ~/.ssh/id_rsa_one
  1. 生成第二個SSH-Key
$ ssh-keygen -t rsa -C ""你的郵箱」」 -f ~/.ssh/id_rsa_two

建立完成以後 咱們在.ssh的根目錄下能夠看到文件bash

  • WindowsSSH 目錄
C:\Users\Administrator\.ssh
  • Linux、macSSH 目錄
直接 cd ~/.ssh 便可進入

此時,.ssh目錄下應該有4個文件:id_rsa_one和id_rsa_one.pub,id_rsa_two和id_rsa_two.pubssh

第二步、添加私鑰

在終端中執行測試

ssh-add ~/.ssh/id_rsa_one 
ssh-add ~/.ssh/id_rsa_two

若是執行ssh-add時提示 Could not open a connection to your authentication agentcode

能夠先執行命令:get

ssh-agent bash

而後再從新運行ssh-add命令便可it

添加成功會出現提示:

Identity added 等字樣

第三步、查看私鑰列表是否存在

ssh-add -l

當咱們能夠看到2條私鑰的時候就證實安裝成功了,別急尚未完

第四步 修改配置文件config

若.ssh目錄(就是私鑰所在的文件夾)下無config文件,那麼建立

touch config
打開 config 文件 配置以下格式 這裏要注意 IdentityFile 後面對應的是 本地ssh key文件路徑
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_one
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_two

第五步 用ssh命令測試驗證

ssh -T git@gitee.com
ssh -T git@github.com

驗證經過後便可愉快的clone代碼了

附:

清空私鑰列表

$ ssh-add -D

有問題請在下方留言或者加入星球

相關文章
相關標籤/搜索