查看本机是否已经生成ssh key, 如果已存在,先移除。
使用ssh-keygen生成github的sshkey,并且重命名为id_rsa_github(一直回车,不要输入密码。如果输入密码,每次提交都需要输入密码)
$ ssh-keygen -t rsa -C "your_email@email.com" -f ~/.ssh/id_rsa_github
生成gitlab的sshkey,并且重命名为id_rsa_gitlab
$ ssh-keygen -t rsa -C "your_email@email.com" -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@email.com"
//查看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 lijiangbo@ethnicity.cn