如何重置或更改GitHub SSH密钥的密码?


Answers:


66

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

ssh-keygen -f ~/.ssh/id_rsa -p

4
这意味着~/.ssh/id_rsa本身并没有被加密,不是吗?但是,如果已加密,我们将回到第一个方框。
kostix 2012年

82
这要求一个旧的密码短语。没有帮助。
Navigatron

4
关于OP的问题–不,如果您忘记密码,这将无济于事。但是,如果您只是想重置密码,这就是方法!
Ken M. Haggerty

8
如果有人忘记了“当前密码”,该如何输入?错误的解决方案。
乔尔·詹姆斯

5
问题标题为“重置或更改” –我在这里搜索了一个解决方案,只需更改密钥上的密码即可。投票数表明我不是唯一的一位。
panepeter

61

简而言之,无法恢复一对SSH密钥的密码。为什么?因为出于安全原因,首先是要使用这种方式。别人给您的答案都是更改密钥密码(而不是找回密码)的正确方法。因此,如果您忘记了密码,则最好的办法是创建一对新的SSH密钥。这是生成SSH密钥并将其添加到您的GitHub帐户的方法


2
@TechMLG绝对是这样做的方法(按照GitHub帮助的链接)!为我工作,以设置新的SSH密钥文件和密码。OP应该考虑接受。
πάνταῥεῖ

58

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

但是,有例外

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

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

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


3
你救了我的命。
Greg Sadetsky

1
您也救了我的命。您使我意识到我可以在KWallet中看到它。
tongadall

救主!根据所提问题应为最佳答案。
阿曼·马图尔

15

密码短语可以被添加到现有的密钥或更改,而不重新生成密钥对:
请注意,如果按键不有密码这是可行的,否则你会得到这样的: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密钥

27
如果密钥没有密码,这很好,但是如果密钥没有密码,并且您不记得了,那么这就Enter old passphrase:Bad passphrase.
没用了,

5
  1. 登录到您的github帐户。
  2. 转到“设置”页面(页面右上角的“扳手和螺丝刀”图标)。
  3. 转到“ SSH密钥”页面。
  4. 生成一个新的SSH密钥(可能是研究该页面上github提供的链接)。
  5. 使用“添加SSH密钥”链接添加新密钥。
  6. 验证您的新密钥是否有效。
  7. 使用已知密钥列表中旁边的“删除”链接,使gitub忘记您的旧密钥。

问题是重置还是更改!没有得到一个新的
尔根K.17

@jürgen-k,密码用于加密SSH密钥。这样做的全部目的是,只有在知道密码短语的情况下,才可以使用密钥。如果存在一种方法来恢复或“重置”(可能意味着)用于解密解密加密材料的密码,那么这种密码系统的实用性将接近于零。(请注意,SSH最常用于远程访问服务器,而不用于Git)。TLDR:在我们的情况下,“不可能”的答案是无用的,尽管正确。
kostix
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.