1.首先,要找到位于用户下的.ssh文件
cd ~/.ssh
2.然后, 需要设置全局的name和email(这里注意,哪个常用设置哪个,我是公司常用,就设置的公司的)
git config --global user.name 'xxx'
git config --global user.email 'xxx@curefun.com'
3.接下来, 开始生成秘钥文件. 这里直接两个都生成一下
ssh-keygen -t rsa -C 'xxx@curefun.com' // GitLab
// Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): id_rsa_gitlab
ssh-keygen -t rsa -C 'tomatoro@163.com' // GitHub
// Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): id_rsa_github
4.进入到.ssh文件下,找到id_rsa_gitlab.pub和id_rsa_github.pub 将里面的内容全部复制粘贴到github 和 gitlab 的SSHKEY上, 也可以使用命令查看
cat ~/.ssh/id_rsa_github.pub
cat ~/.ssh/id_rsa_gitlab.pub
5.接下来就要将两个key在本地存储起来, 打开agent
ssh-agent -s
ssh-add ~/.ssh/id_rsa_github // 输入生成秘钥时设置的密码
ssh-add ~/.ssh/id_rsa_gitlab // 输入生成秘钥时设置的密码
6.然后需要一个config文件来管理这两个key,以让git知道分配给谁, 在.ssh目录下创建config文件
touch ~/.ssh/config
7.打开config编辑如下内容
Host github.com // 不动
HostName ssh.github.com // 不动
User tomatoro@163.com // 你自己的github邮箱
PreferredAuthentications publickey // 不动
IdentityFile ~/.ssh/id_rsa_github // 不动
Port 443
// 如果ssh -T git@github.com的时候报 ssh: connect to host github.com port 22: Operation timed out就把Port这条加上吧,这个坑坑了我好久!!
Host 192.168.0.231 // 你们公司gitlab的ip地址
HostName 192.168.0.231 //与Host保持一致
User xxx@curefun.com // 你gitlab的邮箱
IdentityFile ~/.ssh/id_rsa_gitlab // 不动
Port 64222 // 你们公司gitlab的ip端口
8.好了,到了这一步,设置就基本全部完成了,接下来只需要跟远端的SSH同步一下就OK了
公司仓库(gitlab)
ssh -T git@192.168.0.231
输入密码
git clone ssh://git@192.168.0.231:64222/MLE/skillCenter.git
个人仓库(github)
git init // --local需要在有git仓库的情况下才可以执行
git config —local user.name 'tomatoro'
git config —local user.email 'tomatoro@163.com'
ssh -T git@github.com
输入密码
git clone ssh://git@github.com:443/Tomatoro/TypeScript-study.git