1 Github配置
github是一个git项目托管网站,主要提供基于git的版本托管服务。
github是一个基于git的代码托管平台,Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。
1、注册+检查.ssh秘钥
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息(No such file or directory表示第一次)。
执行下面的命令,可以查看有无创建ssh连接文件:
$ cd ~/.ssh
2、创建ssh key
ssh-keygen -t rsa -C xxx@qq.com
成功的话会在~/下生成.ssh文件夹,进去后打开id_rsa.pub文件,复制里面的内容key。
3、粘贴id_rsa.pub内容到Github
4、测试连通性
ssh -T git@github.com
#注意:前面有多余的空格时,会曝出下面的错误:
bash: $'\302\226ssh': command not found
下面是一个新建空白仓库的显示界面:
2 Gitee配置
配置过程和Github相同,也是在cd ~/.ssh中执行相应的操作。
3 同时配置Gitee和GitHub
1、查看.ssh安装路径
# 我的路径为:/c/Users/34938/.ssh
cd ~/.ssh
上一次执行cd ~配置的时候,并没有返回到当前用户34938的目录,而是跑到了下面的目录:
C:\Windows\System32\config\systemprofile\.ssh
我只能在当前路径下配置Github的ssh key了,但是有时候ssh key会失效,报出下面的错误:
# 测试连接
ssh -T git@github.com
# 报错
git@github.com: Permission denied (publickey)
我只能重新生成ssh key,有点麻烦。今天在上面的报错后,我发现cd ~命令执行后确实回到了真实的用户路径下,然后我就将C:\Windows\System32\config\systemprofile
路径下配置的文件放到了用户路径下:
进去后,看到下面的文件目录:
然后,神奇的是,执行下面的命令就可以连接成功了:
ssh -T git@github.com
下面,我们抛开我的配置,重新配置一下:
2、在cd ~/.ssh路径下执行下面的命令
# xxxx@qq.com自己在github中配置的用户名
ssh-keygen -t rsa -C "xxx@qq.com" -f "github_id_rsa"
ssh-keygen -t rsa -C "xxx@qq.com" -f "gitee_id_rsa"
这样做的目的,是为了产生公钥github_id_rsa.pub和gitee_id_rsa.pub这两个文件,以示区分,不然,执行下面的命令,只会产生一个默认的文件夹id_rsa.pub:
ssh-keygen -t rsa -C xxx@qq.com
3、把公钥(gitee_id_rsa.pub,github_id_rsa.pub)中的内容分别复制到gitee和github的ssh keys中,以便进程远程连接。
4、创建config文件解决ssh冲突
在.ssh文件夹下执行命令vi config
,并在文件中添加如下内容:
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
5、测试
执行下面的连接操作:
ssh -T git@github.com
ssh -T git@gitee.com
如果返回下面的语句,表示配置成功:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
参考博客:
https://www.bbsmax.com/A/pRdBOW17zn/