Saya menetapkan frasa sandi saat membuat kunci SSH baru di laptop saya. Tapi, seperti yang saya sadari sekarang, ini cukup menyakitkan ketika Anda mencoba untuk melakukan ( Git dan SVN ) ke lokasi terpencil selama SSH berkali-kali dalam satu jam.
Satu cara yang bisa saya pikirkan adalah, hapus kunci SSH saya dan buat yang baru. Apakah ada cara untuk menghapus frasa sandi, sambil tetap menyimpan kunci yang sama?
Jawaban:
Jawaban singkat:
Ini kemudian akan meminta Anda untuk memasukkan lokasi keyfile, frasa sandi lama, dan frasa sandi baru (yang dapat dibiarkan kosong untuk tidak memiliki frasa sandi).
Jika Anda ingin melakukan semuanya pada satu baris tanpa diminta, lakukan:
Penting: Berhati-hatilah bahwa ketika menjalankan perintah biasanya akan dicatat dalam
~/.bash_history
file Anda (atau serupa) dalam teks biasa termasuk semua argumen yang disediakan (yaitu frasa sandi dalam kasus ini). Oleh karena itu, disarankan agar Anda menggunakan opsi pertama kecuali Anda memiliki alasan khusus untuk melakukan sebaliknya.Perhatikan bahwa Anda masih dapat menggunakan
-f keyfile
tanpa harus menentukan-P
juga-N
, dan bahwa keyfile default untuk~/.ssh/id_rsa
, jadi dalam banyak kasus, itu bahkan tidak diperlukan.Anda mungkin ingin mempertimbangkan untuk menggunakan ssh-agent, yang dapat men-cache passphrase untuk sementara waktu. Versi terbaru gpg-agent juga mendukung protokol yang digunakan oleh ssh-agent.
sumber
ssh-keygen -p
di terminal. Ini kemudian akan meminta Anda untuk keyfile (default ke file yang benar untuk saya,~/.ssh/id_rsa
), frasa sandi lama (masukkan apa yang Anda miliki sekarang) dan frasa sandi baru (masukkan apa-apa).ssh-keygen -p -P oldpassphrase -N "" -f ~/.ssh/id_rsa
~/.bash_history
. Lebih baik mengetik:$ cd ~/.ssh && ssh-keygen -f id_dsa -p
~/.bash_hstory
Ie. gunakan `ssh-keygen -p -P oldpassphrase -N" "-f ~ / .ssh / id_rsa` dan Anda baik-baik saja (kecuali Anda memiliki keylogger lain di sana). Anda juga bisa menyingkirkan catatan dari sejarah ..$ ssh-keygen -p
bekerja untukkuMembuka git bash. Ditempel:
$ ssh-keygen -p
Tekan enter untuk lokasi default.
Masukkan frasa sandi lama
Masukkan frasa sandi baru - BLANK
Konfirmasikan frasa sandi baru - BLANK
BOOM, rasa sakit saat memasukkan frasa sandi untuk git push sudah hilang.
Terima kasih!
sumber
$ ssh-keygen -p
dan kunci Anda tidak di lokasi default katakan (/ Pengguna / nama jurnal / .ssh/id_rsa), Anda dapat merespons dengan menempatkan/Users/yourname/.ssh/yourkey
ketika dimintaAnda mungkin ingin menambahkan yang berikut ini ke .bash_profile Anda (atau yang setara), yang memulai ssh-agent saat masuk.
Pada beberapa distro Linux (Ubuntu, Debian) Anda dapat menggunakan:
Ini akan menyalin id yang dihasilkan ke mesin jarak jauh dan menambahkannya ke gantungan kunci jarak jauh.
Anda dapat membaca lebih lanjut di sini dan di sini .
sumber
Untuk mengubah atau menghapus frasa sandi, saya sering merasa paling mudah untuk hanya memasukkan tanda
p
danf
tanda, lalu biarkan sistem meminta saya untuk memberikan frasa sandi:ssh-keygen -p -f <name-of-private-key>
Contohnya:
ssh-keygen -p -f id_rsa
Masukkan kata sandi kosong jika Anda ingin menghapus frasa sandi.
Contoh dijalankan untuk menghapus atau mengubah kata sandi terlihat seperti ini:
Saat menambahkan frasa sandi ke kunci yang tidak memiliki frasa sandi, prosesnya terlihat seperti ini:
sumber
Di windows, Anda dapat menggunakan PuttyGen untuk memuat file kunci pribadi, menghapus frasa sandi dan kemudian menimpa file kunci pribadi yang ada.
sumber
Di Mac, Anda dapat menyimpan frasa sandi untuk kunci ssh pribadi di Gantungan Kunci Anda, yang membuatnya transparan. Jika Anda login, itu tersedia, ketika Anda logout, pengguna root Anda tidak dapat menggunakannya. Menghapus frasa sandi adalah ide yang buruk karena siapa pun yang memiliki file dapat menggunakannya.
Tambahkan ini ke
~/.ssh/config
sumber