88

我忘记了我在 Git 中的密码。我该如何重置它?我在 Stack Overflow 上找到了两个解决方案,但我想知道要遵循什么流程来重置或获取它。

4

6 回答 6

72

如果您生成了带有密码的 SSH 密钥,然后您忘记了此 SSH 密钥的密码,则无法恢复它,您需要生成一个全新的 SSH 密钥对或切换到 HTTPS 克隆,以便您可以使用您的GitHub 密码。

但是,也有例外

如果您使用OS X钥匙串配置了 SSH 密码,您可能能够恢复它。

  1. 在 Finder 中,搜索 Keychain Access 应用程序。
  2. 在钥匙串访问中,搜索 SSH。
  3. 双击您的 SSH 密钥条目以打开一个新对话框。
  4. 钥匙串访问对话框在左下角,选择显示密码。
  5. 系统将提示您输入管理密码。在“钥匙串访问”对话框中键入它。
  6. 您的密码将被泄露。

请参阅Github 帮助 - 如何恢复我的 SSH 密钥密码?

于 2016-03-03T13:00:05.870 回答
69

简而言之,没有办法恢复一对 SSH 密钥的密码。为什么?因为出于安全原因,它首先是这样设计的。其他人给你的答案都是更改密钥密码的正确方法,而不是恢复它们。因此,如果您忘记了密码,最好的办法就是创建一对新的 SSH 密钥。以下是如何生成 SSH 密钥并将其添加到您的 GitHub 帐户

于 2012-08-28T14:34:51.883 回答
67

您可以通过执行以下操作更改私钥的密码:

ssh-keygen -f ~/.ssh/id_rsa -p
于 2012-04-17T10:48:55.980 回答
16

可以将密码短语添加到现有密钥或在不重新生成密钥对的情况下进行更改:
注意如果密钥没有密码短语,这将起作用,否则您将得到:Enter old passphrase:然后Bad passphrase

$ ssh-keygen -p
Enter file in which the key is (/Users/tekkub/.ssh/id_rsa):
Key has comment '/Users/tekkub/.ssh/id_rsa'
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.

如果您的密钥passphrase当时有,则无法恢复一对 SSH 密钥的密码。在这种情况下,您必须创建一对新的 SSH 密钥。

  1. 生成 SSH 密钥
于 2012-04-17T12:38:46.167 回答
5
  1. 登录到您的 github 帐户。
  2. 进入“设置”页面(页面右上角的“扳手和螺丝刀”图标)。
  3. 转到“SSH 密钥”页面。
  4. 生成一个新的 SSH 密钥(可能研究了 github 在该页面上提供的链接)。
  5. 使用“添加 SSH 密钥”链接添加新密钥。
  6. 验证您的新密钥是否有效。
  7. 使用已知密钥列表中旁边的“删除”链接,让 gitub 忘记您的旧密钥。
于 2012-05-03T22:23:23.877 回答
0

如果您正在使用,Linux/Mac那么您可以删除文件known_hosts

它位于~/.ssh/known_hosts或者如果您想覆盖/删除特定的 ssh 主机,那么您可以编辑该known_hosts文件。

查看所有主机 =>cat ~/.ssh/known_hosts 删除 know_hosts 文件 =>rm -rf ~/.ssh/known_hosts

于 2021-09-23T09:08:37.653 回答