Git高階之配置多個SSH key
阿新 • • 發佈:2020-01-19
最近我們在程式碼託管平臺上使用SSH的方式下拉程式碼,通常是用一個ssh key來拉取所有託管平臺的程式碼,如碼雲,GitHub、GitLab等,但是總用一個不是太好。會有安全風險,這就需要為每個託管平臺設定單獨的SSH-key
下面我們下簡單介紹一下如何建立多個SSH Key並且使用下拉程式碼。
第一步、生成SSH-Key
Windows建議使用Git bash操作
Linux、mac使用者使用預設終端即可
- 生成第一個SSH-Key
$ ssh-keygen -t rsa -C "你的郵箱” -f ~/.ssh/id_rsa_one
- 生成第二個SSH-Key
$ ssh-keygen -t rsa -C ""你的郵箱”” -f ~/.ssh/id_rsa_two
建立完成之後 我們在.ssh的根目錄下可以看到檔案
- WindowsSSH 目錄
C:\Users\Administrator\.ssh
- Linux、macSSH 目錄
直接 cd ~/.ssh 即可進入
此時,.ssh目錄下應該有4個檔案:id_rsa_one和
id_rsa_one.pub,id_rsa_two和id_rsa_two
.pub
第二步、新增私鑰
在終端中執行
ssh-add ~/.ssh/id_rsa_one
ssh-add ~/.ssh/id_rsa_two
如果執行ssh-add時提示 Could not open a connection to your authentication agent
可以先執行命令:
ssh-agent bash
然後再重新執行ssh-add命令即可
新增成功會出現提示:
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 [email protected]
ssh -T [email protected]
驗證通過後即可愉快的clone程式碼了
附:
清空私鑰列表
$ ssh-add -D
有問題請在下方留言或者加入星