使用ssh拉取github代码
使用ssh拉取github代码
常规的下载github代码的方式有如下几种
- 直接以zip形式下载源码
- 以http(https)方式下载
- 以ssh方式下载
- github-cli下载
这里主要讲的是第三种,怎么用ssh方式下载?
使用主要好处是不用每次输入密码,及时github账号的账号密码变更了没事,当然前提是配置的公钥没有被删除。在公司上班的员工这一优势更加明显,因为一般公司都会强制要求三个月或者六个月换一次密码,密码换多了自己记着都费劲,用ssh就无此烦恼,一次配置终身受益。
一、怎么生成ssh的公钥私钥?
ed25519算法生成密钥
ssh-keygen -t ed25519 -C "email@example.com"
RSA算法生成密钥
ssh-keygen -o -t rsa -b 4096 -C "email@example.com"
目前应该还是用rsa的居多吧。
默认密钥是保存在用户目录的.ssh目录下 私钥 ~/.ssh/id_rsa 公钥 ~/.ssh/id_rsa.pub
我习惯根据不同的用途来存储 我的github相关的是这样存储 私钥 ~/.ssh/github_rsa 公钥 ~/.ssh/github_rsa.pub
二、怎么配置github上的ssh
将我们的公钥,也就是 ~/.ssh/id_rsa.pub里面的内容复制存储在github上面
将ssh key交由ssh agent管理
ssh-add ~/.ssh/github_rsa
怎么查看ssh agent已经管理的ssh key了呢
ssh -l
后面我们就可以用ssh方式下载了
我们还可在配置文件中配置下信息 配置文件地址 ~/.ssh/config (如果没有的自行新建一个)
大致内容如下
上面我配置了公司内容的gitlab和github,分别用不同的密钥
三、测试ssh方式下载
最直接的当然是git clone了。
我们还可以用
ssh -t github
想知道更多细节的话,使用
ssh -t -v github
四、可能出现的问题
git clone Permission Denied (publickey)问题
解决方案,首先确认自己是否已经生成和配置好ssh key了,如果这些都没问题,则执行指令ssh-add ~/.ssh/github_rsa
添加ssh key至ssh agent。
查看某个ssh的指纹
ssh-keygen -lf ~/.ssh/github_rsa
今天就讲到这里了。
- 分类:
- Devops
相关文章
《 AngularJS深度剖析与最佳实践》安装front-jet失败
作者雪狼已经给出了解决方案,地址 估计学习这个的读者应该都能翻过去吧。 本人在此也写一下自己的安装经历吧。 我一开始买到书后就想安装front-jet,始终没有成功,之后再github上找源码无 阅读更多…
使用ssh访问远程代码仓库
背景知识 公司一般要求多久就必须修改密码,此时使用ssh的优势就出来了。只要不删除ssh的密钥,修改账号的密码不受影响的。 ssh的公钥太长了,我们一般使用它的指纹来验证更加方便点 公钥 阅读更多…
Windows环境下使用git
msysgit是在Windows环境下使用git的工具。从 http://code.google.com/p/msysgit/ 下载最新的版本 msysGit-fullinstall-1.7.1-pr 阅读更多…
使用ssh访问远程代码仓库
背景知识 公司一般要求多久就必须修改密码,此时使用ssh的优势就出来了。只要不删除ssh的密钥,修改账号的密码不受影响的。 ssh的公钥太长了,我们一般使用它的指纹来验证更加方便点 公钥 阅读更多…