Bagaimana cara menonaktifkan prompt kata sandi saat melakukan git push / pull?


35

Setiap kali saya ingin pushdan / atau pulldari terminal (di Linux) saya harus memasukkan kata sandi. Bagaimana cara menghapus ini sehingga menarik dan / atau mendorong tanpa kata sandi?


5
Apa protokol yang digunakan oleh alamat repo Anda? ssh? https?
VonC

Jawaban:


23

Buat pasangan kunci privat / publik untuk otentikasi tanpa kata sandi.

Untuk Linux, kunci Anda disimpan di ~/.ssh.

Jika Anda sudah memiliki file dalam ~/.sshnama itu id_rsadan id_rsa.pub, maka Anda sudah memiliki pasangan kunci. Tambahkan konten kunci publik Anda (itu id_rsa.pub) ke file ~ / .ssh / berwenang_keys repositori Git.

$ scp ~/.ssh/id_rsa.pub user@git.repo:id_rsa.tmp
$ ssh user@git.repo
$ cat id_rsa.tmp >> .ssh/authorized_keys

Jika Anda tidak memiliki pasangan kunci, buat pasangan dengan

$ ssh-keygen -t rsa

Baca ini untuk instruksi lebih lanjut: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@ Ahlhck, tidak memikirkan itu! Akan bagus untuk mengetahui OS yang digunakan whirlwin sebelum memposting instruksi lebih lanjut.
Jin

Terima kasih untuk penunjuknya. Saya telah memperbarui pertanyaannya!
whirlwin

1
Ketika saya menjalankan perintah pertama saya mendapatkan: Anda tampaknya menggunakan ssh untuk mengkloning git: // URL. Pastikan opsi konfigurasi core.gitProxy Anda dan variabel lingkungan GIT_PROXY_COMMAND TIDAK diatur. koneksi
terputus

26

Menjalankan

git config credential.helper store

Ini akan menyimpan kredensial Anda di folder di dalam root. Anda perlu menjalankan git pull / push setelah perintah ini dan berikan nama pengguna / pwd untuk pertama kalinya. Posting ini tidak akan meminta pengguna / pwd. Detail di https://git-scm.com/docs/git-credential-store


4
ini harus dipilih sebagai jawaban yang benar untuk pertanyaan ini. IMO, OP ingin bertanya tentang solusi untuk httpsmenghindari harus memasukkan nama pengguna / kata sandi lagi dan lagi, tidak beralih ke sshsolusi. 1+ untuk jawaban ini.
Giang Nguyen

1
Perhatikan bahwa helper kredensial store menyimpan kata sandi pada disk yang tidak dienkripsi.
0xc0de


1

Saya telah membuat cabang baru dan setelah itu ketika saya menarik, saya harus memasukkan nama pengguna dan kata sandi. Kemudian saya menyelesaikan masalah kloning kembali cabang dengan alamat ssh (yang ada di situs repositori yang relevan).

Sebagai contoh:

git clone git@github.com:sshare/GLE.git
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.