写点什么

使用 SSH 方式拉取代码

作者:攻城狮杰森
  • 2022 年 7 月 15 日
  • 本文字数:1058 字

    阅读完需:约 3 分钟

使用 SSH 方式拉取代码

使用 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\_rsaid_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.comAttempts 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 -vorigin 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.日后使用此地址提交/拉取代码即可


发布于: 2022 年 07 月 15 日阅读数: 28
用户头像

#以梦为码,不负年华 2022.07.02 加入

目前计算机专业在读,阿里云专家博主,华为云云享专家,51CTO 博客专家,喜欢各类竞赛,熟悉 c/c++,java,html,css,javascript,python...竭力成为一名 Full Stack Developer. 关注杰森,与你同行,共同进步!

评论

发布
暂无评论
使用 SSH 方式拉取代码_git_攻城狮杰森_InfoQ写作社区