在git上为密码生成新的个人访问令牌时,是否需要更改id_rsa文件私钥?

yr9zkbsy  于 2023-04-04  发布在  Git
关注(0)|答案(1)|浏览(140)

所以我尝试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吗?还是别的什么?

cwtwac6a

cwtwac6a1#

我们先来了解一下基础知识:

  • 您可以通过ssh或https连接到GitHub存储库
  • 为了通过ssh连接到GitHub仓库,你需要一个ssh密钥对,可能还需要一个密码:
  • 私钥(只有你知道,永远不要与任何人共享)
  • 公钥(这是您可以共享的密钥部分)
  • (可选)密码
  • 为了连接到GitHub存储库通过
  • 用户名和密码
  • 个人存取令牌

所以,密码是为了进一步保护你的ssh密钥,个人访问令牌是https认证的令牌。
现在,如果您已经生成了一个ssh密钥对,但忘记了其密码,则无法恢复它。您可以生成一个新的ssh密钥对,带或不带密码。如果您生成一个密码,请确保您不会忘记它。
如果您想拥有一个ssh密钥并使用它进行身份验证,那么您的公钥将需要在~/.ssh/authorized_keys文件中以新行的形式结束(请参阅此处的更多内容)。
否则,您也可以切换到使用https协议,并使用用户名/密码或个人访问令牌进行身份验证。使用个人访问令牌而不是用户名/密码身份验证的优点是,如果出于任何原因有人能够跟踪或发现您的身份验证,那么泄露的信息将“仅”是您可以与您的用户一起无效的个人访问令牌,而不是失去对您的GitHub用户的访问权限(如果黑客成功地将您从自己的帐户中锁定)。
如果您可以访问您的用户,并且您拥有存储库所需的权限,那么您应该能够为您的https连接生成新的ssh密钥,个人访问令牌或使用不推荐的用户名/密码身份验证进行存储库。

相关问题