Як скинути або змінити парольну фразу для SSH-ключа GitHub?


79

Я забув свою парольну фразу в Git. Як його скинути? Я знайшов два рішення щодо переповнення стека, але я хочу знати, який процес слід виконати, щоб скинути його або отримати його.


Відповіді:


66

Ви можете змінити парольну фразу для свого приватного ключа, виконавши:

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

5
Це означає, що ~/.ssh/id_rsaсам по собі не зашифрований, чи не так? Але якщо він зашифрований, ми повертаємось до першого квадрата.
kostix

85
Це вимагає старої фрази. Не корисно.
Навігатрон

5
Що стосується питання OP - ні, це не корисно, якщо ви забули свій пароль. Але якщо ви просто хочете скинути свій пароль, це шлях!
Ken M. Haggerty

9
Як хтось може ввести "поточний пароль", якщо він його забув? Неправильне рішення.
Джоел Джеймс,

5
Заголовок питання говорить "скинути або змінити" - я приземлився тут, шукаючи рішення просто змінити пароль на своїх ключах. Кількість голосів "за" свідчить, що я не єдиний.
panepeter

63

Коротше кажучи, немає можливості відновити парольну фразу для пари ключів SSH. Чому? Тому що це було задумано в першу чергу з міркувань безпеки. Відповіді, які вам дали інші люди, - це всі правильні способи ЗМІНИТИ пароль своїх ключів, а не відновити їх. Отже, якщо ви забули свою парольну фразу, найкраще, що ви можете зробити, це створити нову пару ключів SSH. Ось як згенерувати ключі SSH та додати їх до свого облікового запису GitHub .


2
@TechMLG Це точно спосіб, як це зробити (перейдіть за посиланням на довідку GitHub )! Мені вдалося налаштувати новий файл ключа SSH та парольну фразу. ОП повинен розглянути можливість прийняття.
πάντα ῥεῖ

1
Це правильна відповідь.
Нікос Александріс

59

Якщо у вас був згенерований SSH-ключ із парольною фразою, а потім ви забули свою парольну фразу для цього SSH-ключа, його неможливо відновити. Вам потрібно буде створити нову пару ключів SSH або перейти на клонування HTTPS, щоб ви могли використовувати ваш Натомість пароль GitHub.

АЛЕ , є винятки

Якщо ви налаштували свою парольну фразу SSH за допомогою брелока OS X , можливо, ви зможете її відновити.

  1. У Finder знайдіть програму Keychain Access.
  2. У Доступі до брелоків знайдіть SSH.
  3. Двічі клацніть на запис для вашого SSH-ключа, щоб відкрити нове діалогове вікно.
  4. Діалогове вікно доступу до брелока У нижньому лівому куті виберіть Показати пароль.
  5. Вам буде запропоновано ввести адміністративний пароль. Введіть його у діалоговому вікні "Доступ до брелока".
  6. Ваш пароль буде відкрито.

Зверніться до довідки Github - Як відновити парольну фразу ключа SSH?


3
Ти врятував мені життя.
Грег Садецький,

1
Ти врятуєш і моє життя. Ви змусили мене зрозуміти, що я міг це побачити в KWallet.
tongadall

Спасителю! Має бути головною відповіддю відповідно до поставленого питання.
Aman Mathur

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

29
Це добре, якщо у клавіш немає парольної фрази, але якщо вона була, і ви не можете її запам'ятати, то це не корисно, тому що ви отримаєте це: Enter old passphrase:тодіBad passphrase.
Метафаніель

5
  1. Увійдіть у свій обліковий запис github.
  2. Перейдіть на сторінку "Налаштування" (піктограма "гайковий ключ і викрутка" у верхньому правому куті сторінки).
  3. Перейдіть на сторінку "SSH-ключі".
  4. Створіть новий ключ SSH (можливо, вивчаючи посилання, надані github на цій сторінці).
  5. Додайте свій новий ключ за допомогою посилання "Додати ключ SSH".
  6. Перевірте, чи працює ваш новий ключ.
  7. Зробіть gitub забути свій старий ключ, скориставшись посиланням "Видалити" поруч із ним у списку відомих ключів.

питання скидається або змінюється! не отримати нового
Юрген К.

@ jürgen-k, парольна фраза використовується для криптографічного шифрування ключа SSH. Вся суть цього полягає в тому, що використовувати ключ можна лише якщо ви знаєте парольну фразу. Якби існував спосіб відновити або "скинути" (що б це не означало) пароль, який використовується для обману зашифрованого матеріалу, корисність такої криптографічної системи була б близькою до нуля. (Зверніть увагу, що SSH найбільше використовується для віддаленого доступу до серверів, а не для Git). TLDR: у нашому випадку відповідь "це неможливо" буде марною, проте правильною.
kostix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.