赞
踩
事情是这样,公司的电脑本来更新代码,拉取代码是没有任何问题的,昨天下班回家后想着把代码拉下来看看,然后在云效上面看到之前生成的秘钥,有好几个之前设置的秘钥,感觉好像没有用手贱给删掉了,早上来公司想着拉一下代码,结果报错了。
error: git@github.com: Permission denied (publickey). Could not read from remote repositor
其实就是因为之前设置好的已经在使用的秘钥被我删掉了,所以如果诸如此类的报错基本就是因为秘钥失效的问题造成。
或者说你是第一次使用git,或者云效,等等此类的代码管理工具。
第一次配置生成秘钥:
在你拉取代码的时候可以选择使用SSH方式或者HTTPS的方式,暂只讨论SSH方式,你可以管理你的SSH秘钥,点击立即查看它:
在添加SSH秘钥之前,你可以先生成它
目前平台仅支持 RSA 算法生成的 SSH 密钥,在你的计算机命令行中首先执行以下语句,判断是否已经存在本地公钥:
cat ~/.ssh/id_rsa.pub
如果你的电脑是window系统,执行以上命令,通常会报如下的错误:
'cat' 不是内部或外部命令,也不是可运行的程序或批处理文件。
这是因为cat是Linux系统专有的命令,那么可以跳过这个步骤,直接生成秘钥,执行如下命令:
ssh-keygen -t rsa -C "<您的邮箱>"
将双引号中的内容更换为你自己的注册Git使用的邮箱地址即可,回车:
那么,如果这个时候又报错了呢,如下:
ssh-keygen 不是内部或外部命令,也不是可运行程序或者批处理文件。
这是因为Git环境变量相关的配置没有完善,解决如下:
第一,首先确保你已经正确安装Git,如果没有,请先安装再执行以下操作。
第二,找到Git(安装目录)/usr/bin目录下的ssh-keygen.exe (如果找不到,可以在计算机全局搜索),复制ssh-keygen.exe文件的系统路径。如下:
第三,在 “我的电脑(或计算机)”右键 属性-->高级系统设置-->环境变量-->系统变量,找到Path变量,点击编辑,然后光标移动到最后(一行),输入英文状态下的分号,将第二步复制的路径粘贴到最后面,确定,保存。
完成以上三部便可以了,接下来打开终端窗口(快捷键win+R,输入cmd),然后输入之前生成秘钥的命令 ssh-keygen -t rsa -C "<您的邮箱>",回车(记得替换邮箱),如下:
这是要求你提供一个位置去存放公钥、私钥文件,你可以选择使用默认位置保存公钥、私钥文件(直接回车)。
当然你应该记住这个默认的地址,以方便你寻找秘钥的存储位置,如C:\Users\PC500/.ssh/id_rsa。
一路回车之后,你所需要的秘钥就生成了,你可以去粘贴它了,找到相应位置,选择记事本方式打开id_rsa.pub文件,复制全部内容,到之前打开的添加SSH秘钥的地方,粘贴进去:
标题可以随便起,为了方便记忆,可以按照项目名称的形式定义标题名称,完成后,点击添加,至此SSH秘钥边已经生成可以使用了,快去拉取你得代码吧。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。