Pertanyaan Bagaimana cara mengubah kata kunci kunci pribadi saya?


Saya memiliki pasangan kunci publik / pribadi yang sudah ada. Kunci privat dilindungi kata sandi, dan enkripsi dapat berupa RSA atau DSA. Kunci-kunci ini adalah jenis yang Anda hasilkan ssh-keygen dan umumnya menyimpan di bawah ~/.ssh.

Saya ingin mengubah kata kunci kunci pribadi. Bagaimana saya melakukannya, pada shell Unix standar?

Juga, bagaimana cara menghapus kata sandi? Ubah saja agar kosong?


219
2017-08-06 05:37






Jawaban:


Untuk mengubah passphrase pada kunci DSA default Anda:

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

kemudian berikan kata sandi lama dan baru Anda (dua kali) pada petunjuknya. (Menggunakan ~/.ssh/id_rsa jika Anda memiliki kunci RSA.)

Detail lebih lanjut dari 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



Ini dari man page shipping dengan net-misc / openssh-5.2_p1-r2 di Gentoo Linux. - Mike Mazur
Juga, demi orang yang malas di masa depan, saya akan membalik urutannya: quick answser pertama, halaman manual nanti. - kch
Saya kira jawabannya bagus karena keduanya menunjukkan di mana Anda dapat mengubah kata sandi, dan di mana mencari jawabannya. Saya telah membantu banyak orang mengatur kunci ssh, dan bagi mereka benar-benar mengingat alat yang mereka gunakan tidak selalu mudah. Selain itu, mencari jawaban di 'net adalah pilihan pertama bagi banyak ... - sastorsl
Jika mesin Anda menggunakan OpenSSH> = 6.5, Anda harus menggunakan -o pilihan untuk mengaktifkan format kunci pribadi baru (bcrypt sebagai KDF secara default). Dengan versi OpenSSH yang lebih lama, gunakan PKCS # 8 untuk file kunci pribadi yang lebih aman. - Quinn Comendant
@FranciscoLuz perintah dalam jawaban saya khusus untuk kunci DSA. Jika Anda memiliki kunci RSA, maka perintah Anda benar. Saya menambahkan uraian ke jawaban untuk mengatasi ini. - Mike Mazur


Hapus kunci publik / pribadi SSH Anda:

rm ~/.ssh/id_rsa*

Buat kembali keypair, pilih frasa sandi baru:

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

Tambahkan kunci pribadi yang baru dibuat ke Gantungan Kunci OS X Anda untuk menyimpan frasa sandi dan mengelola membuka kunci secara otomatis:

ssh-add -K ~/.ssh/id_rsa

Salin kunci publik ke clipboard OS X untuk ditambahkan ke layanan web seperti GitHub, dll.

cat ~/.ssh/id_rsa.pub | pbcopy

Tambahkan kunci publik yang baru dibuat ke ~/.ssh/authorized_keys file server jauh. Pastikan untuk memastikan izin yang benar dari kedua remote ~/.ssh folder (700) dan ~/.ssh/authorized_keys (600). Anda mungkin ingin menyelidiki menggunakan ssh-copy-id untuk memudahkan proses ini.


-7
2018-02-20 15:17



Poster bertanya bagaimana mengubah kata sandi pada kunci mereka, tidak membuangnya dan menghasilkan yang baru; dan mereka tidak pernah menyebutkan OS X. - musicinmybrain
Saya akan memberikan jawaban atas jawaban ini jika bukan karena tiga masalah ini: 1 Menghapus kunci lama bukan awal yang baik karena Anda memerlukannya saat memperbarui authorized_keys. 2 Anda belum menyebutkan mengapa membuat kunci baru lebih baik daripada mengubah kata sandi pada yang lama. 3 Anda membuat asumsi tentang OS, yang tidak didukung oleh pertanyaan. - kasperd