查看本機是否已經生成ssh key, 如果已存在,先移除。
使用ssh-keygen生成github的sshkey,並且重命名爲id_rsa_github(一直回車,不要輸入密碼。如果輸入密碼,每次提交都需要輸入密碼)
$ ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_github
生成gitlab的sshkey,並且重命名爲id_rsa_gitlab
$ ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/id_rsa_gitlab
配置ssh代理
// 查看系統ssh-key代理
$ ssh-add -l
// 如果系統已經有ssh-key 代理 ,執行下面的命令可以刪除
$ ssh-add -D
添加ssh agent
// 把 ~/.ssh 目錄下的2個私鑰添加的 ssh-agent
$ ssh-add ~/.ssh/id_rsa_github
$ ssh-add ~/.ssh/id_rsa_gitlab
// 在 .ssh 目錄創建 config 配置文件
$ vim ~/.ssh/config
如果提示權限問題, 先運行ssh-agent bash 命令後再執行 ssh-add;或者直接修改權限
$ chmod 700 ~/.ssh/id_rsa_github
$ chmod 700 ~/.ssh/id_rsa_gitlab
配置文件config添加以下內容
# github 配置
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
# gitlab配置(HostName爲公司的git網址,User爲用戶名)
Host gitlab
HostName gitlab.xxx.com
User git
IdentityFile ~/.ssh/id_rsa_gitlab
配置git倉庫用戶名和郵箱
$ git config –global user.name “global_username”
$ git config –global user.email “global_email.com”
可以爲每個git倉庫配置單獨的用戶名和郵箱,沒有配置的則使用全局的用戶名和郵箱
//轉到git倉庫
$ cd /User/Sooo/sooo-git
//配置用戶名和郵箱
$ git config user.name "username"
$ git config user.email "[email protected]"
//查看git配置
$ git config --list
配置ssh key到github和gitlab上(略)