Soru Özel anahtar parolamı nasıl değiştiririm?


Mevcut bir kamu / özel anahtar çiftim var. Özel anahtar şifre korumalıdır ve şifreleme RSA veya DSA olabilir. Bu anahtarlar, ürettiğiniz türdür ssh-keygen ve genellikle altında saklayın ~/.ssh.

Özel anahtarın şifresini değiştirmek istiyorum. Standart Unix kabuğuna nasıl gidebilirim?

Ayrıca, şifreyi nasıl kaldırabilirim? Sadece boş olarak değiştirmek mi?


221
2017-08-06 05:37


Menşei




Cevaplar:


Varsayılan DSA anahtarınızdaki şifreyi değiştirmek için:

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

Ardından, eski ve yeni parolanızı (iki kez) istemcilere iletin. (Kullanım ~/.ssh/id_rsa RSA anahtarınız varsa.)

Daha fazla bilgi 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.
[...]

288
2017-08-06 06:01



Bu, Gentoo Linux'taki net-misc / openssh-5.2_p1-r2 ile gönderim yapan sayfadan geliyor. - Mike Mazur
Ayrıca, geleceğin tembel insanı uğruna, siparişi tersine çeviririm: hızlı cevaplayan kişi, daha sonra man sayfası. - kch
Her ikisinin de şifreyi nerede değiştirebileceğinizi ve cevabın nereye bakılacağını gösterdiğinden cevabın harika olduğunu düşünüyorum. Birçok insanın ssh anahtarlarını kurmasına yardım ettim ve onlar için hangi aracın kullandığını hatırlamak her zaman kolay değildir. Ayrıca, 'net' cevabını aramak için birçok seçenek için ilk seçenek ... - sastorsl
Makineleriniz OpenSSH> = 6.5 kullanıyorsa, kullanmalısın -o seçenek Yeni özel anahtar biçimini (varsayılan olarak KDF olarak bcrypt) etkinleştirmek için. Eski OpenSSH sürümleriyle, Daha güvenli özel anahtar dosyaları için PKCS # 8 kullanın. - Quinn Comendant
@FranciscoLuz cevabımdaki komut bir DSA anahtarına özgüdür. Bir RSA anahtarınız varsa, komutunuz doğrudur. Buna cevap vermek için cevaba bir görüntü ekledim. - Mike Mazur


SSH genel / özel anahtarlarınızı kaldırın:

rm ~/.ssh/id_rsa*

Anahtar parolasını yeniden oluşturun ve yeni bir parola seçin:

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

Parolayı saklamak ve kilidini otomatik olarak açmak için yeni oluşturulan özel anahtarı OS X Keychain'inize ekleyin:

ssh-add -K ~/.ssh/id_rsa

GitHub gibi web servislerine eklemek için genel anahtarı OS X panosuna kopyalayın.

cat ~/.ssh/id_rsa.pub | pbcopy

Yeni oluşturduğunuz ortak anahtarınızı ~/.ssh/authorized_keys uzak sunucunun dosya. Uzaktan kumandanın doğru izinlerini aldığınızdan emin olun. ~/.ssh klasör (700) ve ~/.ssh/authorized_keys (600). Kullanarak araştırmak isteyebilirsiniz ssh-copy-id bu süreci kolaylaştırmak için.


-7
2018-02-20 15:17



Poster anahtardaki parolaların nasıl değiştirileceğini sordu, bir kenara atıp yeni bir tane oluşturdu; ve OS X'den hiç bahsetmediler. - musicinmybrain
Bu üç sorun için olmasaydı, bu cevabı kestirdim: 1. Güncelleme yaparken bunlara ihtiyacınız olacağından eski anahtarları silmek iyi bir başlangıç ​​değildir. authorized_keys. 2. Yeni anahtarlar oluşturmanın neden eski şifreleri değiştirmekten daha iyi olduğunu söylemediniz. 3. İşletim sistemi hakkında, soru tarafından desteklenmeyen varsayımlarda bulunursunuz. - kasperd