Push to GitHub Repository without Personal Access Token when 2FA is enabled
我在GitHub上设置了2因素身份验证。所以,有一次我在命令行工作,想推动我的回购。我输入了我的用户名和密码,但没有给出这样的错误
1 2 3 4 5 6 | USERNAME@MYCOMPUTER:~/MyRepo$ git push Username for 'https://github.com': GitHubUsername Password for 'https://[email protected]': GitHubPassword remote: Invalid username or password. fatal: Authentication failed for ' https://github.com/GitHubUsername/MyRepo/' |
所以,我读了这篇文章,得到了一个解决方案,我必须生成一个个人访问令牌来推送任何东西。很好,但我认为这是一个有点困难的过程,因为首先我记不清大量的令牌,其次在文本文件中存储一个访问密钥是不安全的。
所以,如果有人能给出一个简单的解决方案,在不禁用2FA的情况下推到我的回购协议,那将是非常好的。-谢谢!
您不应该在https上使用github,而应该在ssh上使用github。
https://help.github.com/en/articles/connecting-to-github-with-ssh
虽然https设置很简单,但是设置ssh连接有点困难,这就是为什么将https用作标准选项的原因。
要连接到GitHub,需要执行以下步骤:
创建一个ssh密钥
当您通过ssh连接时,它使用ssh密钥而不是普通的密码,这会提高您的安全性,因为即使是服务器泄露也不会泄露您的密码,即使是破坏您的连接的攻击者也无法更改您向GitHub发送或从GitHub接收的数据。ssh密钥还具有可选密码,您需要提供这些密码才能使用所述密钥。
通常,ssh密钥与一个称为ssh代理的程序结合在一起,这个程序基本上将解密的密钥"缓存"到内存中,要么永久保存,要么超时保存,因此不必在短时间内多次填充密码。
可以按如下方式创建键:
告诉Github你的新钥匙
当您创建ssh密钥时,它会生成两个文件:
您可以转到设置,按"ssh键",然后在其中添加键,将此键上载到github。
更新本地资源库以使用ssh密钥
既然您告诉了Github有关新Fance密钥的信息,那么您需要在磁盘上配置存储库以使用该密钥。
您可以使用
1 | git remote set-url origin https://github.com/USERNAME/REPOSITORY.git |
通过执行