27

使用ssh拉取github代码

 3 years ago
source link: https://www.daozhao.com/9907.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

常规的下载github代码的方式有如下几种

  1. 直接以zip形式下载源码
  2. 以http(https)方式下载
  3. 以ssh方式下载
  4. github-cli下载

这里主要讲的是第三种,怎么用ssh方式下载? MJ3YvyI.png!mobile 使用主要好处是不用每次输入密码,及时github账号的账号密码变更了没事,当然前提是配置的公钥没有被删除。在公司上班的员工这一优势更加明显,因为一般公司都会强制要求三个月或者六个月换一次密码,密码换多了自己记着都费劲,用ssh就无此烦恼,一次配置终身受益。

一、怎么生成ssh的公钥私钥?

ed25519算法生成密钥

ssh-keygen -t ed25519 -C "[email protected]"

RSA算法生成密钥

ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

目前应该还是用rsa的居多吧。 IRRjEb.png!mobile

默认密钥是保存在用户目录的.ssh目录下 私钥 ~/.ssh/id_rsa 公钥 ~/.ssh/id_rsa.pub

我习惯根据不同的用途来存储 我的github相关的是这样存储 私钥 ~/.ssh/github_rsa 公钥 ~/.ssh/github_rsa.pub

二、怎么配置github上的ssh

将我们的公钥,也就是 ~/.ssh/id_rsa.pub里面的内容复制存储在github上面 7r2Y7r2.png!mobile 将ssh key交由ssh agent管理

ssh-add ~/.ssh/github_rsa

怎么查看ssh agent已经管理的ssh key了呢

ssh -l

BFbq2u.png!mobile

后面我们就可以用ssh方式下载了

我们还可在配置文件中配置下信息 配置文件地址 ~/.ssh/config (如果没有的自行新建一个)

大致内容如下 yQBFBvZ.png!mobile 上面我配置了公司内容的gitlab和github,分别用不同的密钥

三、测试ssh方式下载

最直接的当然是git clone了。

我们还可以用

ssh -t github

想知道更多细节的话,使用

ssh -t -v github

EZNfAju.png!mobile

四、可能出现的问题

git clone Permission Denied (publickey)问题

解决方案,首先确认自己是否已经生成和配置好ssh key了,如果这些都没问题,则执行指令 ssh-add ~/.ssh/github_rsa 添加ssh key至ssh agent。

查看某个ssh的指纹

ssh-keygen -lf ~/.ssh/github_rsa

fEV3eyA.png!mobile

今天就讲到这里了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK