MAC配置SSH密鑰
眾所周知,我們可以將代碼托管到線上很多平台,gitee / github / gitlab 等等。
在企業中我們可能會遇到這種情況:
企業的項目是放在gitlab上托管的,我需要為gitlab配置一個SSH密鑰,但是我自己的項目是放到github上的,我需要為github也配置一個SSH密鑰,這就涉及到了管理多個SSH密鑰的問題,下面我分別介紹了配置單個和多個SSH密鑰的方式。
配置單個SSH密鑰
例如:為企業gitlab配置SSH密鑰
在終端中依次輸入如下命令:
- 注意這里郵箱是你公司的地址,敲完一路回車就好
ssh-keygen -t rsa -C "yourmail@gmail.com"
- 切換到.ssh目錄下,查看一下目錄下的文件
cd .ssh
ls
- 查看公鑰(id_rsa.pub),復制下來,打開gitlab的Settings里的SSH Keys將復制的添加進去,會自動生成Title為你的郵箱。
cat id_rsa.pub
- 將私鑰(id_rsa)添加到SSH-agent
SSH-add ~/.ssh/id_rsa
配置多個SSH密鑰
在這里我需要再為github配置一下SSH,如果重復上面的步驟,會出現密鑰覆蓋的情況,所以我們需要為新的密鑰文件設置新的名字,步驟如下:
- 這里郵箱是你注冊github的郵箱,注意第一次回車之后需要為生成的密鑰自定義名字,輸入一個id_rsa_github,輸入完之后一路回車
ssh-keygen -t rsa -C "yourmail@gmail.com"
- 查看一下自己生成的SSH
cd .ssh
ls
目錄下的文件應該有這些:id_rsa.pub id_rsa_github.pub id_rsa id_rsa_github known_hosts
這里id_rsa和id_rsa.pub是我的gitlab的私鑰和公鑰,id_rsa_github和id_rsa_github.pub是我的github的私鑰和公鑰。
3. 查看公鑰(id_rsa_github.pub),打開github的Settings里的SSH and GPG keys,New SSH key,將公鑰復制進去,設置Title為你的郵箱名。
cat id_rsa_github.pub
- 添加私鑰
ssh-add ~/.ssh/id_rsa_github
- 添加配置文件
- 在.ssh/下創建config文件
touch config
- 用vim編輯器打開config,輸入i切換到插入模式進行修改
vim config
在config中輸入一下內容
注意:如果Gitlab是用的公司的服務器,需要在HostName中指定公司的域名。
#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