github/gitlab 管理多個ssh key

之前只使用一個 ssh key 在github上提交代碼,因爲工做緣由,須要再添加一個ssh key在公司的 gitlab上提交代碼,下面記錄下配置過程,防止遺忘。
說明下個人環境是 Win7 + msysgit + GitBash, 相信 *nux + bash 也是一樣的道理。git

生成並添加第一個ssh key

第一次使用ssh生成key,默認會在用戶~(根目錄)下生成 id_rsa, id_rsa.pub 2個文件;因此須要添加多個ssh key時也會生成對應的私鑰和公鑰。github

$ ssh-keygen -t rsa -C "youremail@yourcompany.com"

在Git Bash中執行這條命令一路回車,會在 ~/.ssh/ 目錄下生成 id_rsa 和 id_rsa.pub 兩個文件,用文本編輯器將 id_rsa_pub 中的內容複製一下粘貼到github(gitlab)上。shell

生成並添加第二個ssh key

$ ssh-keygen -t rsa -C "youremail@gmail.com"

注意不要一路回車,要給這個文件起一個名字, 好比叫 id_rsa_github, 因此相應的也會生成一個 id_rsa_github.pub 文件。bash

目錄結構以下:
ssh

添加私鑰

$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_github

若是執行ssh-add時提示"Could not open a connection to your authentication agent",能夠現執行命令:編輯器

$ ssh-agent bash

而後再運行ssh-add命令。ide

# 能夠經過 ssh-add -l 來確私鑰列表
$ ssh-add -l

# 能夠經過 ssh-add -D 來清空私鑰列表
$ ssh-add -D

修改配置文件

在 ~/.ssh 目錄下新建一個config文件gitlab

touch config

添加內容:測試

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

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

測試

$ ssh -T git@github.com

輸出
Hi user! You've successfully authenticated, but GitHub does not provide shell access. 就表示成功的連上github了code

相關文章
相關標籤/搜索