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

Tec*_*MLG 74 git ssh passphrase github ssh-keys

我在Git中忘记了我的密码.我该如何重置?我在Stack Overflow上找到了两个解决方案,但我想知道要重置它或获取它的步骤.

man*_*lds 60

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

ssh-keygen -f ~/.ssh/id_rsa -p
Run Code Online (Sandbox Code Playgroud)

  • 这要求一个旧密码短语.没用. (65认同)
  • 如果有人忘记了,可以输入"当前密码"吗?错误的解决方案. (8认同)
  • 这意味着`〜/ .ssh/id_rsa`本身不是加密的,不是吗?但如果它是加密的,我们就回到原点. (4认同)
  • 关于OP的问题 - 不,如果您忘记了密码,这没有用.但是,如果您只是想重置密码,这就是方法! (4认同)
  • 问题标题说'重置或更改' - 我在这里搜索了一个解决方案,只需更改密钥上的密码即可.赞成票数显示我不是唯一一个. (4认同)

Met*_*iel 55

简而言之,无法恢复一对SSH密钥的密码.为什么?因为出于安全原因,它首先是出于这种方式.其他人给你的答案都是更改密钥密码的正确方法,而不是恢复密码.因此,如果您忘记了密码,那么您可以做的最好的事情就是创建一对新的SSH密钥.以下是生成SSH密钥并将其添加到GitHub帐户的方法.

  • @TechMLG 这绝对是如何做到的(点击链接到 [GitHub 帮助](https://help.github.com/articles/generating-ssh-keys))!帮我设置了一个新的 SSH 密钥文件和密码。OP 应该考虑接受。 (2认同)
  • 这是正确答案。- (2认同)

小智 52

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

但是,也有例外

如果您使用OS X Keychain 配置了SSH密码,则可以恢复它.

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

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

  • 你救了我的命. (3认同)

Sum*_*ngh 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.
Run Code Online (Sandbox Code Playgroud)

如果您的密钥已经存在,passphrase无法恢复一对SSH密钥的密码.在这种情况下,您必须创建一对新的SSH密钥.

  1. 生成SSH密钥

  • 如果密钥没有密码短语,这很好,但是如果他们有密码并且你不记得它,那么这是没用的,因为你会得到这个:`输入旧的密码:`然后`错误的密码短语. ` (27认同)

kos*_*tix 5

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