Bagaimana cara mengubah frasa sandi kunci pribadi saya?
284
Saya memiliki pasangan kunci publik / pribadi. Kunci pribadi dilindungi kata sandi, dan enkripsi dapat berupa RSA atau DSA. Kunci-kunci ini adalah jenis yang Anda hasilkan ssh-keygendan umumnya disimpan di bawah ~/.ssh.
Saya ingin mengubah kata sandi kunci pribadi. Bagaimana cara melakukannya, pada shell Unix standar?
Juga, bagaimana cara menghapus kata sandi? Ubah saja menjadi kosong?
Untuk mengubah frasa sandi pada kunci DSA default Anda:
$ ssh-keygen -p -f ~/.ssh/id_dsa
lalu berikan frasa sandi lama dan baru Anda (dua kali) saat diminta. (Gunakan ~/.ssh/id_rsajika Anda memiliki kunci RSA.)
Lebih detail 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.
[...]
Ini dari halaman pengiriman manual dengan net-misc / openssh-5.2_p1-r2 di Gentoo Linux.
Mike Mazur
12
Juga, demi orang yang malas di masa depan, saya akan membalik urutan: penjawab cepat dulu, halaman manual kemudian.
kch
2
Saya pikir jawabannya hebat karena keduanya menunjukkan di mana Anda dapat mengubah kata sandi, dan di mana mencari jawabannya. Saya telah membantu banyak orang menyiapkan kunci ssh, dan bagi mereka benar-benar mengingat alat mana yang mereka gunakan tidak selalu mudah. Selain itu, mencari jawaban di 'internet adalah pilihan pertama bagi banyak ...
@ FranciscoLuz perintah dalam jawaban saya khusus untuk kunci DSA. Jika Anda memiliki kunci RSA, maka perintah Anda sudah benar. Saya menambahkan uraian pada jawaban untuk mengatasi ini.
Mike Mazur
-9
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 Keychain 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 menambahkan ke layanan web seperti GitHub, dll.
cat ~/.ssh/id_rsa.pub | pbcopy
Tambahkan kunci publik yang baru Anda buat ke ~/.ssh/authorized_keysfile server jarak jauh. Pastikan untuk memastikan izin yang benar dari ~/.sshfolder jarak jauh (700) dan ~/.ssh/authorized_keys(600). Anda mungkin ingin menyelidiki menggunakan ssh-copy-iduntuk memudahkan proses ini.
Poster itu bertanya bagaimana mengubah frasa sandi pada kunci mereka, tidak membuangnya dan menghasilkan yang baru; dan mereka tidak pernah menyebut OS X.
musicinmybrain
2
Saya akan memutakhirkan jawaban ini jika bukan karena tiga masalah ini: 1. Menghapus kunci lama bukanlah awal yang baik karena Anda akan membutuhkannya 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.
-o
opsi untuk mengaktifkan format kunci privat yang baru (bcrypt sebagai KDF secara default). Dengan versi OpenSSH yang lebih lama, gunakan PKCS # 8 untuk file kunci pribadi yang lebih aman .Hapus kunci publik / pribadi SSH Anda:
Buat kembali keypair, pilih frasa sandi baru:
Tambahkan kunci pribadi yang baru dibuat ke Keychain OS X Anda untuk menyimpan frasa sandi dan mengelola membuka kunci secara otomatis:
Salin kunci publik ke clipboard OS X untuk menambahkan ke layanan web seperti GitHub, dll.
Tambahkan kunci publik yang baru Anda buat ke
~/.ssh/authorized_keys
file server jarak jauh. Pastikan untuk memastikan izin yang benar dari~/.ssh
folder jarak jauh (700) dan~/.ssh/authorized_keys
(600). Anda mungkin ingin menyelidiki menggunakanssh-copy-id
untuk memudahkan proses ini.sumber
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.