放弃SSH keys,拥抱Personal Access Tokens

941 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

在过往中,如果我们想要把本地仓库代码提交到github上,我们都是本地配置ssh生成key,然后在githubssh中粘贴本地生成的key,这样我们本地提交代码就不用输入用户名以及密码验证了,这种方式其实挺繁琐的,如果我换一台电脑,貌似又需要重复一遍这样的操作,但是从2021.8.13号这天,也就是七夕节的前一天,github禁止了这种密码凭证的方式,所以有了personal access token这种方式

personal access token这种方式比价简单,只需要在个人账号的setPerson key

打开个人githubseting

打开Settings Developer settings

在Developer中选择Personal access tokens

新建一个token令牌

新建成功后就会生成一个token

注意这个token你需要复制出来,页面不要刷新,一刷新就没有了

然后vscode打开自己项目

在之前网上各种资料里可能都是推荐把token复制下载来,然后设置remote

比如你会像这样一样,假如你生成的token是下面这样的ghp_FMSODEFl6IxW8PEmHIsNYGV33232112UuvP90MHrhS

git remote add origin https://ghp_FMSODEFl6IxW8PEmHIsNYGV33232112UuvP90MHrhS@github.com/useName/xxx.git

@github.com后面跟着的就是你创建项目名的具体git地址

比如我的就下面这样

你会发现这样设置,提交貌似没有问题,但是当你在另外一个仓库也是同样使用设置token时,如果你有用自动化脚本,大概率另外一个仓库一提交自动化脚本就会把这个token设置的给删除了

所以就需要设置另外一种方式

  • 先删除已设置的remote
git remote rm origin

remote https://username/xxx.git,记得是https的仓库地址

git remote add origin https://xxx/xxx.git

  • 添加完了,修改任意一文件,然后再提交
git add .
git commit -m 'update'
git push origin master

此时你的vscode会让你输入用户名(github账号名) 当你输入完用户名后,会继续让你输入密码,此时你就需要把刚才你生成的token复制过来,填进去就可以了

然后当你看到以下就说明已经提交成功了

至此,当你再次提交时,你不需重复以上步骤,已经可以愉快的提交你的本地仓库了

总结

  • 新替代原有ssh keys提交方案,原来那种ssh keys方式官方已经不太建议了

  • 现有Person access token方式更简单,安全性也很高

  • remote不太建议https://token/userName/xxx.git这种方式,当另外一个仓库也采用此时方式提交时,会把这个设置的token给删除掉,这个是有坑的

  • 建议直接remote原有仓库的https方式,然后将token当成密码填入即可