Saat ini, setiap kali saya git pull
atau git push
ke repositori http, saya mendapatkan yang berikut:
$ git pull
Username for 'https://gitrepos.reposdomain.com': [email protected]
Password for 'https://[email protected]@gitrepos.reposdomain.com':
Ini ok untuk penggunaan yang jarang, tetapi mulai menjadi sangat menjengkelkan dengan sangat cepat. Sayangnya, beralih ke ssh bukan pilihan dalam kasus ini.
Saya telah membaca bahwa versi sebelumnya git
menyediakan kredensial "toko" dan "cache", tetapi ini tidak disarankan karena menyimpan kata sandi dalam plaintext.
TAPI
Versi yang lebih baru git
rupanya menyimpan kredensial git di gnome-keyring
, tetapi harus diatur dengan benar.
Saya sudah mencoba mengikuti jawaban (non-Ubuntu) lainnya di SO untuk mendapatkan ini berfungsi (yaitu yang ini ), tapi saya masih disajikan dengan nama pengguna dan kata sandi prompt.
Apa cara yang benar dan paling aman untuk menyimpan git
kredensial untuk repos http dan bagaimana cara membuatnya di Ubuntu?
sumber
Jawaban:
gnome-credential-helper
sekarang sudah ditinggalkan.Sebagai gantinya, gunakan libsecret. Jika belum ada di Ubuntu Anda, gunakan prosedur berikut:
Anda dapat menginstal
libsecret
dan perpustakaan pengembangan dengan:sudo apt-get install libsecret-1-0 libsecret-1-dev
Maka Anda perlu membangun manajer kredensial
cd /usr/share/doc/git/contrib/credential/libsecret
sudo make
Akhirnya, Anda harus mengarahkan git ke file yang baru dibuat di konfigurasi Anda:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Lebih detail tentang https://stackoverflow.com/a/40312117/2017781
sumber
Anda perlu mengatur git
credential helper
dengan Gnome Keyring:Instal dan kompilasi devel Gnome Keyring:
Dan siapkan kredensial:
sumber
git push
ataugit pull
seperti biasa dan pertama kali akan meminta toko ansd, dan setiap kali setelah itu akan mendapatkannya dari keyring. Untuk memverifikasinya, jalankanseahorse
. Itu harus terdaftar di bawah "Kata Sandi" -> "Masuk".Pendekatan sederhana ini tampaknya cukup di Ubuntu 18.04.1 saya dengan git 2.17.1:
Anda dapat menentukan batas waktu satu jam (= 3600 detik) seperti ini:
Bacaan lebih lanjut dalam manual yang bagus .
sumber