Vraag Hoe verander ik mijn wachtwoordzin voor privésleutel?


Ik heb een bestaand publiek / privaat sleutelpaar. De persoonlijke sleutel is beveiligd met een wachtwoord en de codering kan RSA of DSA zijn. Deze sleutels zijn van het type waarmee u genereert ssh-keygen en meestal onder opslaan ~/.ssh.

Ik wil het wachtwoord van de privésleutel wijzigen. Hoe kan ik het doen, op een standaard Unix-shell?

Ook, hoe verwijder ik eenvoudig het wachtwoord? Alleen veranderen in leeg?


219
2017-08-06 05:37


oorsprong




antwoorden:


De wachtwoordzin op uw standaard DSA-sleutel wijzigen:

$ ssh-keygen -p -f ~/.ssh/id_dsa

geef vervolgens uw oude en nieuwe wachtwoordzin (tweemaal) op bij de prompts. (Gebruik ~/.ssh/id_rsa als je een RSA-sleutel hebt.)

Meer details van man ssh-keygen:

[...]
SYNOPSIS
    ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment]
               [-f output_keyfile]
    ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
[...]
     -f filename
             Specifies the filename of the key file.
[...]
     -N new_passphrase
             Provides the new passphrase.

     -P passphrase
             Provides the (old) passphrase.

     -p      Requests changing the passphrase of a private key file instead of
             creating a new private key.  The program will prompt for the file
             containing the private key, for the old passphrase, and twice for
             the new passphrase.
[...]

284
2017-08-06 06:01



Dit is van de man page shipping met net-misc / openssh-5.2_p1-r2 op Gentoo Linux. - Mike Mazur
Ook zou ik omwille van een lui persoon in de toekomst de volgorde omdraaien: eerst snel antwoorden, man later pagina. - kch
Ik denk dat het antwoord goed is, omdat het allebei laat zien waar je het wachtwoord kunt wijzigen en waar je het antwoord kunt zoeken. Ik heb veel mensen geholpen met het instellen van ssh-sleutels, en voor hen is het niet altijd gemakkelijk om te onthouden welk hulpmiddel ze hebben gebruikt. Trouwens, zoeken naar het antwoord op het 'net is de eerste optie voor veel ... - sastorsl
Als uw machines OpenSSH gebruiken = = 6.5, je zou het moeten gebruiken -o keuze om de nieuwe private key-indeling in te schakelen (standaard gecodeerd als KDF). Met oudere OpenSSH-versies, gebruik PKCS # 8 voor veiligere privésleutelbestanden. - Quinn Comendant
@FranciscoLuz de opdracht in mijn antwoord is specifiek voor een DSA-sleutel. Als u een RSA-sleutel hebt, is uw opdracht correct. Ik heb een blurb toegevoegd aan het antwoord om dit aan te pakken. - Mike Mazur


Verwijder uw publieke / private SSH-sleutels:

rm ~/.ssh/id_rsa*

Maak het sleutelpaar opnieuw en kies een nieuwe wachtwoordzin:

ssh-keygen -t rsa -f ~/.ssh/id_rsa

Voeg de nieuw gemaakte persoonlijke sleutel toe aan uw OS X Keychain om de wachtwoordzin op te slaan en het automatisch ontgrendelen te beheren:

ssh-add -K ~/.ssh/id_rsa

Kopieer de openbare sleutel naar het OS X-klembord voor toevoeging aan webservices zoals GitHub, etc.

cat ~/.ssh/id_rsa.pub | pbcopy

Voeg uw nieuw gemaakte openbare sleutel toe aan de ~/.ssh/authorized_keys bestand van de externe server. Zorg ervoor dat u zorgt voor de juiste machtigingen van zowel de afstandsbediening ~/.ssh map (700) en ~/.ssh/authorized_keys (600). Misschien wilt u onderzoeken met behulp van ssh-copy-id om dit proces te vergemakkelijken.


-7
2018-02-20 15:17



De poster vroeg hoe je de wachtwoordzin op hun sleutel kon veranderen, niet weggooide en een nieuwe genereerde; en ze noemden nooit OS X. - musicinmybrain
Ik zou dit antwoord hebben geacteerd als het niet voor deze drie kwesties was: 1. Het verwijderen van de oude sleutels is geen goed begin, omdat u deze nodig hebt bij het updaten authorized_keys. 2. Je hebt niet gezegd waarom het maken van nieuwe sleutels beter is dan het veranderen van wachtwoorden op de oude. 3. U doet aannames over OS, wat niet wordt ondersteund door de vraag. - kasperd