Mam istniejącą parę kluczy publiczny / prywatny. Klucz prywatny jest chroniony hasłem, a szyfrowanie może być RSA lub DSA. Te klucze są rodzajem generowanym ssh-keygeni zwykle przechowywanym pod ~/.ssh.
Chciałbym zmienić hasło klucza prywatnego. Jak mam to zrobić na standardowej powłoce uniksowej?
Jak mogę po prostu usunąć hasło? Zmienić to na puste?
następnie podaj swoje stare i nowe hasło (dwukrotnie) po wyświetleniu monitu. (Użyj, ~/.ssh/id_rsajeśli masz klucz RSA.)
Więcej informacji 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.
[...]
To pochodzi ze strony podręcznika wysyłanej z net-misc / openssh-5.2_p1-r2 w Gentoo Linux.
Mike Mazur,
12
Również ze względu na przyszłą leniwą osobę odwróciłbym kolejność: najpierw automatyczna sekretarka, później strona podręcznika.
kch
2
Myślę, że odpowiedź jest świetna, ponieważ pokazuje zarówno, gdzie można zmienić hasło, jak i gdzie szukać odpowiedzi. Pomogłem wielu osobom konfigurującym klucze ssh, a dla nich zapamiętanie używanego narzędzia nie zawsze jest łatwe. Poza tym poszukiwanie odpowiedzi w sieci jest pierwszą opcją dla wielu ...
@FranciscoLuz polecenie w mojej odpowiedzi jest specyficzne dla klucza DSA. Jeśli masz klucz RSA, twoje polecenie jest poprawne. Dodałem napis do odpowiedzi, aby rozwiązać ten problem.
Mike Mazur
-9
Usuń klucze publiczne / prywatne SSH:
rm ~/.ssh/id_rsa*
Odtwórz parę kluczy, wybierając nowe hasło:
ssh-keygen -t rsa -f ~/.ssh/id_rsa
Dodaj nowo utworzony klucz prywatny do pęku kluczy OS X, aby przechowywać hasło i zarządzać automatycznym odblokowaniem:
ssh-add -K ~/.ssh/id_rsa
Skopiuj klucz publiczny do schowka OS X, aby dodać go do usług internetowych, takich jak GitHub itp.
cat ~/.ssh/id_rsa.pub | pbcopy
Dodaj nowo utworzony klucz publiczny do ~/.ssh/authorized_keyspliku zdalnego serwera. Upewnij się, że masz odpowiednie uprawnienia zarówno do ~/.sshfolderu zdalnego (700), jak i ~/.ssh/authorized_keys(600). Możesz to sprawdzić za pomocą, ssh-copy-idaby ułatwić ten proces.
Plakat zapytał, jak zmienić hasło na kluczu, a nie wyrzucić je i wygenerować nowe; i nigdy nie wspominali o OS X.
musicinmybrain
2
Poparłbym tę odpowiedź, gdyby nie te trzy problemy: 1. Usunięcie starych kluczy nie jest dobrym początkiem, ponieważ będą potrzebne podczas aktualizacji authorized_keys. 2. Nie wspomniałeś, dlaczego tworzenie nowych kluczy jest lepsze niż zmienianie haseł na starych. 3. Przyjmujesz założenia dotyczące systemu operacyjnego, który nie jest obsługiwany przez pytanie.
-o
opcji, aby włączyć nowy format klucza prywatnego (domyślnie bcrypt jako KDF). W starszych wersjach OpenSSH użyj PKCS # 8, aby uzyskać bezpieczniejsze pliki kluczy prywatnych .Usuń klucze publiczne / prywatne SSH:
Odtwórz parę kluczy, wybierając nowe hasło:
Dodaj nowo utworzony klucz prywatny do pęku kluczy OS X, aby przechowywać hasło i zarządzać automatycznym odblokowaniem:
Skopiuj klucz publiczny do schowka OS X, aby dodać go do usług internetowych, takich jak GitHub itp.
Dodaj nowo utworzony klucz publiczny do
~/.ssh/authorized_keys
pliku zdalnego serwera. Upewnij się, że masz odpowiednie uprawnienia zarówno do~/.ssh
folderu zdalnego (700), jak i~/.ssh/authorized_keys
(600). Możesz to sprawdzić za pomocą,ssh-copy-id
aby ułatwić ten proces.źródło
authorized_keys
. 2. Nie wspomniałeś, dlaczego tworzenie nowych kluczy jest lepsze niż zmienianie haseł na starych. 3. Przyjmujesz założenia dotyczące systemu operacyjnego, który nie jest obsługiwany przez pytanie.