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.