使用 SSH
方式拉取代码
大家在使用 git 拉取代码时,是否曾遇到过类似 OpenSSL SSL_read: Connection was reset, errno 10054 的报错信息,解决方案参考
大概率原因出在网络身上,为避免各种修改代理,本机 host 等繁琐操作,推荐大家使用SSH方式拉取代码。那么首先需要先完成SSH基本配置,下面是详细配置过程
通过SSH方式拉取代码
如果你还不了解 git 中的一些基本知识,请参考这里
1.配置用户名和邮箱
$ git config --global user.name "用户名" $ git config --global user.email "用户邮箱"
2.生成密钥对
首先查看设备上是否已生成过秘钥对
$ cd ~/.ssh //进入指定路径文件夹 $ ls //查看文件夹下内容
看一下有没有 id\_rsa
和 id_rsa.pub
等文件,.pub
文件是公钥,另一个文件是密钥
若没有这些文件,或没有 .ssh
目录,则使用 ssh-keygen
命令来创建
$ ssh-keygen -t rsa -C "你的邮箱"
如有提示信息,点击 enter
即可,不需要设置密码! 难道你想在每次提交代码前输入一遍密码吗?
成功后会提示
Your public key has been saved in /home/you/.ssh/id_rsa.pub. The key fingerprint is:
3.进入 .ssh 文件夹,查找公钥
进入指定路径 .ssh
文件夹中,用记事本打开 id_rsa.pub
,全选复制内容
也可通过指令查看
$ cat ~/.ssh/id_rsa.pub
例如:
ssh-rsa your secret email@email.com
4.进入代码托管平台,上传密钥
下面以 GitHub 为例,演示相关操作过程
1.登陆 github 帐户,点击你的头像,然后 Settings -> SSH and GPG keys -> New SSH key
2、然后你复制上面的公钥内容,粘贴进 key
文本域内。 title
域,自己随便起个名字
3、点击 add key
完成以后,验证下这个key是不是正常工作:
$ ssh -T git@github.com Attempts to ssh to github
如果,看到如下信息提示
Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.
恭喜,配置成功!
5.找到项目仓库 SSH 地址
使用命令 git remote \-v
查看你当前的 remote url
$ git remote -v origin https://github.com/username/project.git (fetch) origin https://github.com/username/project.git (push)
如果是以上的结果那么说明此项目是使用 https
协议进行访问的;如果地址是 git
开头则表示是 git
协议
登陆你的 github
账户,查看项目仓库 ssh
协议的 URL
复制 ssh
链接,使用命令 git remote set-url
修改 remote-url
,例如:
git remote set-url origin git@github.com:username/project.git
最后使用命令
git remote -v
检测 URL
是否已修改为 SSH
地址
6.日后使用此地址提交/拉取代码即可