所以我尝试git clone
一个repo,我遇到了:
(py38-stable) user@jupyter:~/local$ git clone git@github.com:user/user2.git
Cloning into 'user2'...
Warning: Permanently added the ECDSA host key for IP address '140.82.223.2' to the list of known hosts.
Enter passphrase for key '/home/user/.ssh/id_rsa':
Enter passphrase for key '/home/user/.ssh/id_rsa':
Enter passphrase for key '/home/user/.ssh/id_rsa':
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
所以我好像记不住密码了。
两个问题:
1.一种解决方法是在git上生成一个新的个人访问令牌。
1.如果是,当我生成新的个人访问令牌时,我是否需要替换id_rsa
文件中的私钥?如果是,我用什么替换它?因为当我生成新的个人访问令牌时,与id_rsa
文件中的private key
内容相比,此个人访问令牌非常短。
1.这是密码Personal Access Token
吗?还是别的什么?
1条答案
按热度按时间cwtwac6a1#
我们先来了解一下基础知识:
所以,密码是为了进一步保护你的ssh密钥,个人访问令牌是https认证的令牌。
现在,如果您已经生成了一个ssh密钥对,但忘记了其密码,则无法恢复它。您可以生成一个新的ssh密钥对,带或不带密码。如果您生成一个密码,请确保您不会忘记它。
如果您想拥有一个ssh密钥并使用它进行身份验证,那么您的公钥将需要在
~/.ssh/authorized_keys
文件中以新行的形式结束(请参阅此处的更多内容)。否则,您也可以切换到使用https协议,并使用用户名/密码或个人访问令牌进行身份验证。使用个人访问令牌而不是用户名/密码身份验证的优点是,如果出于任何原因有人能够跟踪或发现您的身份验证,那么泄露的信息将“仅”是您可以与您的用户一起无效的个人访问令牌,而不是失去对您的GitHub用户的访问权限(如果黑客成功地将您从自己的帐户中锁定)。
如果您可以访问您的用户,并且您拥有存储库所需的权限,那么您应该能够为您的https连接生成新的ssh密钥,个人访问令牌或使用不推荐的用户名/密码身份验证进行存储库。