Saya menggunakan git bash dan saya mengatur kunci ssh menggunakan ssh-keygen dan setiap kali saya melakukan sesuatu dengan repo git minta saya untuk frasa sandi /c/Users/jankiewj/.ssh/id_rsa
. Apakah ada cara untuk menonaktifkan frasa sandi itu.
Saya menggunakan git bash dan saya mengatur kunci ssh menggunakan ssh-keygen dan setiap kali saya melakukan sesuatu dengan repo git minta saya untuk frasa sandi /c/Users/jankiewj/.ssh/id_rsa
. Apakah ada cara untuk menonaktifkan frasa sandi itu.
Jawaban:
Anda dapat menjalankan ini di git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
ia akan meminta pass phrase dalam perintah kedua, dan hanya itu. Setiap tindakan tambahan yang perlu Anda lakukan (yang mana diperlukan frase lulus) tidak akan meminta Anda untuk frase lulus (lihat contoh di screenshot di bawah ini):
.bashrc
jadi setiap kali saya buka git bash saya mendapatkan prompt dan untuk sesi itu saya siap.
~/.bashrc
kemudian masukkan baris dari posting Anda ke dalamnya dan simpan, itu saja :) thx!
.bashrc
, saya akan menggunakan skrip, dan letakkan di salah satu .bash_profile
atau .profile
. Ini adalah potongan dari bagian utama saya .bash_profile
, itu harus menyelesaikan ini untuk siapa pun yang masih mencari jawaban; ini mirip dengan jawaban di bawah ini. Di bagian atas skrip saya memuat .bashrc
, yang jika tidak berlaku tinggalkan saja. Catatan: Anda harus mengubah referensi id_rsa
ke apa pun yang Anda beri nama kunci SSH pribadi Anda, dan mungkin path.
Solusi yang sedikit lebih baik dan permanen adalah dengan meluncurkan ssh-agent secara otomatis saat membuka git bash di windows. Anda dapat menyalin / menempelkan di bawah ini di .profile atau .bashrc Anda. Saya lebih suka meletakkannya di profil
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Solusi ini diambil dari artikel bantuan github ini
.bashrc
, bagaimana solusi Anda berbeda? Pada Windows, bash setiap shell bersifat independen sehingga agen tidak pernah berjalan saat Anda menjalankan shell.
.bashrc
. Meminta frasa sandi ssh hanya pada saat pertama. Amankan hidupku. Terima kasih.
ssh-add -D
menghapus semua kunci.
Saya tidak yakin apakah saya ingin merekomendasikannya, tetapi ketika Anda membuat Kunci dan diminta untuk mengatur kata sandi, cukup tekan enter dan lewati kata sandi.
Lihatlah tautan ini untuk cara menggunakan ssh-keygen
:
https://help.github.com/articles/working-with-ssh-key-passphrases/
Mungkin ssh-agent
bisa membantu Anda. Tetapi tidak yakin tanpa mengetahui sistem Anda saat ini.
mvn release:perform
tahap itu mencoba untuk checkout tag rilis tanpa memberikan frasa sandi. Jadi hanya menghapus frasa sandi menyelesaikan masalah ini.
Masukkan perintah git ini di lokasi repos Anda " ssh-keygen -p " Ini akan meminta Anda untuk memasukkan lokasi keyfile, frasa sandi lama, dan frasa sandi baru (yang dapat dibiarkan kosong tanpa frasa sandi). Jangan masukkan apa pun dengan kata sandi baru dan itu akan menghapus kata sandi