Git push / pull yaparken şifre istemlerini nasıl devre dışı bırakabilirim?


34

Terminalden ne zaman pushve / veya pullterminalden istediğimde (Linux'ta) bir şifre girmem gerekiyor. Bunu, parola olmadan çekmesi ve / veya zorlaması için nasıl çıkarabilirim?


5
Repo adresiniz tarafından kullanılan protokol nedir? SSH? https?
VonC

Yanıtlar:


23

Parolasız kimlik doğrulaması için özel / genel anahtar çifti oluşturun.

Linux için, anahtarlarınız saklanır ~/.ssh.

Zaten dosyaları varsa ~/.ssho adlandırılmış yıllardan id_rsave id_rsa.pub, o zaman zaten bir anahtar çifti vardır. Genel anahtarınızın (bu id_rsa.pub) içeriğini Git deposunun ~ / .ssh / approved_keys dosyasına ekleyin .

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

Anahtar çiftiniz yoksa, bir tane oluşturun.

$ ssh-keygen -t rsa

Daha fazla talimat için bunu okuyun: http://inchoo.net/tools-frameworks/how-to-generate-ssh-keys-for-git-authorization/


@slhck Ah, bunu düşünmedim! Yine de işletim sisteminin whirlwin'in daha fazla talimat göndermeden önce kullandığını bilmek iyi olacak.
Jin

İşaretçi için teşekkürler. Sorunu buna göre güncelledim!
Whirlwin

1
İlk komutu çalıştırdığımda şunu alıyorum: Bir git: // URL'yi klonlamak için ssh kullanıyor gibi görünüyorsunuz. Core.gitProxy config seçeneğinizin ve GIT_PROXY_COMMAND ortam değişkeninin ayarlanmadığından emin olun. bağlantı
MultiformeIngegno

25

Koşmak

git config credential.helper mağazası

Bu, kimlik bilgilerinizi root içindeki bir klasörde saklar. Bu komuttan sonra git pull / push komutunu çalıştırmanız ve kullanıcı adı / pwd'yi ilk defa vermeniz gerekir. Bunu gönderin kullanıcı / pwd için sormayacak. Ayrıntılar https://git-scm.com/docs/git-credential-store adresinde


4
bu, bu soru için doğru cevap olarak seçilmelidir. IMO, OP, çözüme httpsgeçmek yerine kullanıcı adı / şifreyi tekrar tekrar girmek zorunda kalmamak için bir çözüm hakkında sormak istedi ssh. Bu cevap için 1+.
Giang Nguyen,

1
Kimlik bilgisi yardımcı deposunun şifreyi şifrelenmemiş diskte sakladığını unutmayın.
0xc0de

6

Ayrıca sadece parolanızı değiştirebilir ve boş bir dize ile değiştirebilirsiniz:
ssh-keygen -p


3
bu çok yanlış değil mi daha fazla güvenlik olmayacak gibi
titus

3
Teşekkür ederim. Bu, SSH anahtar kurulumuna sahip olan ancak neden bir parola girmeleri gerektiğinden emin olmayan insanlar için düzeltmedir.
Cory Danielson

Bir ssh aracısı kullanmak buna daha güvenli bir alternatiftir. superuser.com/questions/426749/ssh-agent-and-ssh-add
Jay R. Wren

1

Yeni bir şube oluşturmuştum ve bundan sonra çekerken, kullanıcı adı ve şifreyi girmek zorunda kaldım. Daha sonra şubeyi ssh adresiyle (ilgili depo sitesinde) yeniden klonlama problemini çözüyorum.

Örneğin:

git clone git@github.com:sshare/GLE.git
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.