檢視本機是否已經生成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 githubHostName github.comUser gitIdentityFile ~/.ssh/id_rsa_github# gitlab配置(HostName為公司的git網址,User為使用者名)Host gitlabHostName gitlab.xxx.comUser gitIdentityFile ~/.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上(略)
#lsauthorized_keys config gitlab gitlab.pub id_rsa id_rsa.pub known_hosts]#cat config Host gitlab.ethnicity.cn HostName gitlab.ethnicity.cn PreferredAuthentications publickey IdentityFile /root/.ssh/gitlab#cat gitlab.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXG39SRe85YwSqwZS/+H4i7t5Oh7tjkho6l9CKz2jLfF1IUcyT+RjZ9UO0sLVj4iJAs54tGgLJGvVhd70dfcGejK8slA/6GyINSsybLse/gsM41T5R4EW1+MB722PlZ34HUt7+91tHpbrxnTtPOBHAm16UV2Iz2D1vnvCPJfbGT5DFW34ENXvQqRwLO2sIG1gHTJ+4S2//2PpyV9a/ije5cZYD+LsubNpKgVJkaW4+vlQRF19A3wtfUyp1WDyJllp851vMUgtlaWZae2SyAO0vQzmCtQkRIQhMBVjXhmpaPNmDlICczyBtPJ/7KbxK6ujXP+Dbqq34Jz2lTRzKSN7 [email protected]
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iYxEmM4YGM1UWO5YWNlZGNiZTY2kTYyYTZ0kTMjlTN18CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)