Git push istifadəçi adı və parol tələb edir

Mən Github hesabımdan kompüterimə gedim deposunu klonladım.

Həm PC, həm də dizüstü ilə işləmək istəyirəm, lakin bir Github hesabı ilə.

Mən PC istifadə edərək Github təkan və ya çəkmək üçün çalışırıq, bir istifadəçi adı və parol tələb edir, lakin bir dizüstü istifadə edərkən!

Mənimlə əlaqə qurduğum hər dəfə bir istifadəçi adı və şifrə daxil etmək istəmirəm. Burada nə mən itkin?

1145
03 июля '11 в 23:25 2011-07-03 23:25 TooCooL iyul ayının 03-də saat 11: 11-də təyin olunub
@ 20 cavab

Ümumi səhv SSH yerinə default (HTTPS) istifadə edərək klon etməkdir. Bunu deposuya göndərməklə, "Clone ya da yükləyin" klikləyin, sonra URL sahəsində yuxarıda "SSH istifadə edin" və məsələn, uzaq mənbənin URL-i yenilənməsi ilə düzəldə bilərsiniz:

 git remote set-url origin git@github.com:username/repo.git 

Bu, GitHub'da sənədləşdirilir: uzaq URL'leri HTTPS'den SSH'ye keçid .

1653
04 июля '11 в 0:25 2011-07-04 00:25 cavab Tekkub 04 iyul '11 'də saat 0:25' da verildi 2011-07-04 00:25

Git depoları ilə daimi identifikasiya,

Kimlik məlumatlarının önbelleğe alınmasını təmin etmək üçün aşağıdakı əmri çalıştırın:

 $ git config credential.helper store $ git push https://github.com/repo.git Username for 'https://github.com': <USERNAME> Password for 'https://USERNAME@github.com': <PASSWORD> 

border=0

Istifadə zamanı da önbelleğe almanın sona çatdığını göstərməlidir

 git config --global credential.helper 'cache --timeout 7200' 

Sənədin önbelleklemesini etkinleştirdikten sonra, 7200 saniyə (2 saat) önbelleğe alınır .

209
17 февр. Cavab 17 fevralda Jay Patel tərəfindən verilir. 2015-02-17 16:30 '15 at 4:30 pm 2015-02-17 16:30

Eyni problemə qaçdım və ən asan həll HTTPS yerinə SSH URL'sini tapmaq idi:

 ssh://git@github.com/username/repo.git 

Və bu deyil:

 https://github.com/username/repo.git 

İndi yalnız usernamepassword yerinə SSH Key yoxlaya bilərsiniz.

116
14 июня '12 в 10:19 2012-06-14 10:19 cavab Anton S. Salikhmetov tərəfindən 14 İyun 2012 günü saat 10:19 da verilir. 2012-06-14 10:19

SSH-ə keçidlə yanaşı, parolunuzu dəqiq mətndə daxil etmək istəməyiniz halda HTTPS-i də istifadə edə bilərsiniz. ~/.netrc qoyun və istifadəçi adınızı / parolunuzu (heç olmasa Linux və Mac) soruşmayacaqsınız:

 machine github.com login <user> password <password> 

Əlavə (VonC-nin ikinci şərhinə baxın): Windows'da fayl adı %HOME%\_netrc .

Şifrələndirmək istədiyiniz halda ilk VonC şərhini də oxuyun.

1.7.10 və ya daha yeni bir keçidiniz varsa istifadə edə biləcəyiniz başqa bir əlavə (bax İstifadəçi şərh 137717 ).

Kimlik məlumatları köməkçisindən istifadə etmək üçün github şifrənizi yükləyin :

HTTPS'yi istifadə edərək GitHub depolarını klonlamış olsanız, GitHub'a her konuştuğunda GitHub istifadəçi adınızı ve şifrenizi hatırlamak üçün git'e söylemek üçün kimlik bilgileri yardımcısını istifadə edə bilərsiniz.

Həm də Linux, Mac və Windows-də işləyir.

110
19 янв. Cavab 19 yanvar rintcius tərəfindən verilir 2013-01-19 22:08 '13 saat 10:08 'da 2013-01-19 22:08

Əvvəlki cavablarla xəcalətli olan uninitiated üçün, bunu edə bilərsiniz:

git remote -v

kimi bir şeyə cavab verəcək

 origin https://yourname@github.com/yourname/yourrepo.git (fetch) origin https://yourname@github.com/yourname/yourrepo.git (push) 

bir çoxunun təklif etdiyinə əmr edə bilərsiniz, amma indi adınızı və saxlama yourname/yourrepo.git yuxarıdan yourname/yourrepo.git , belə ki yourname/yourrepo.git yuxarıdan

 git remote set-url origin git@github.com:yourname/yourrepo.git 
73
13 февр. Cavab 13 fevral tarixində Davide tərəfindən verilmişdir . 2014-02-13 20:22 '14 saat 20:22 2014-02-13 20:22

Əgər ssh istifadə etsəniz və gizli şifrəniz parol ilə şifrələnirsə, Git ilə şəbəkə əməliyyatları yerinə yetirərkən, açmaq , pullpull kimi gizli açar sözlər üçün şifrəni / şifrəni daxil etmək tələb olunur .

Şifrəni və şifrəni saxlamaq üçün ssh-istifadə edin.

Parolanı hər dəfə girməkdən qaçmaq istəsəniz, ssh-agent istifadə edərək, parol parollarınızı terminal iclasına bir dəfə salmaq üçün istifadə edə bilərsiniz.

 $ ssh-agent -k 

ssh-agent istifadəçi təlimatında izah edildiyi kimi:

 -k 

Mövcud agenti öldürün (SSH_AGENT_PID ətraf mühiti dəyişən tərəfindən təyin edilir).

Əlavə vaxt çıxdı

Bundan əlavə, belə bir şəkildə isteğe bağlı bir zaman aşımı parametri ala bilər:

ssh-agent İstifadəçi Kılavuzuna görə : 

 -t life 

Agentə əlavə edilmiş identifikatorların maksimum ömrü üçün u mənim dəyərini təyin edin. Ömürlük sshd_config (5) -də göstərilən saniyə və ya vaxt formatında göstərilə bilər. Ssh -a dd (1) istifadə edən identifikator üçün nəzərdə tutulan ömür, bu dəyəri əvəz edir. Bu seçim olmadan, u mənim maksimum ömrü sonsuzdur.

Daha çox vaxt formatı üçün bu səhifəyə baxın .

Cygwin istifadəçiləri üçün təhlükəsizlik xəbərdarlığı

Cygwin istifadəçilər Cygwin-də ssh-istifadə edərkən potensial təhlükəsizlik riskindən xəbərdar olmalıdırlar:

insanların yerli şəbəkə və uzaqdan liman taraması ilə tmp / ssh-foo-da göstərilən limanın hər kəsə veriləcəyi görünmürsə də, insanlar cygwin [1] üçün zəif olan ssh-ın potensial təhlükələrindən xəbərdar olmalıdırlarmı?

 [1]: http://www.cygwin.com/ml/cygwin/2001-01/msg00063.html 

aşağıdakı linkdə :

Lakin, cygwin unix domen sockets TAMAMINDAN qüsursuz olduğunu qeyd və buna görə də mən sg-cygwin altında ssh istifadə etmək güclü OBLIGE unutmayın.

sq-cygwin altında bir ağızdan çalıştırdığınızda, /tmp/ssh-$USERNAME/ bir AF_UNIX yuvası /tmp/ssh-$USERNAME/ . cygwin altında, AF_UNIX sockets AF_INET sockets vasitəsilə emulated olunur. Siz /tmp/ssh-$USERNAME/agent-socket-* notepad vasitəsilə baxdığınız zaman bunu asanlıqla görə bilərsiniz. kimi bir şey görəcəksiniz

 !<socket >2080 

sonra netstat -a çalıştırın və netstat -a ! 2080 limanını dinləyən bir proqram var. ssh -a. ssh serverdən bir RSA zəngini aldıqda, müvafiq olaraq /tmp/ssh-$USERNAME/agent-socket-* (bizim vəziyyətimizdə, cygwin altında, bu, localhost:2080 ilə əlaqə açacaq deməkdir localhost:2080 ) və ssh [CN01] prosesləri RSA özü tərəfindən saxlanan xüsusi düyməni istifadə edərək sorğu göndərir və sadəcə ssh-serverdan alınan cavabı serverə göndərir.

unix altında, bu skript problemsiz çalışır, çünki proqram, AF_UNIX yuvasına daxil olmaq üçün çalışırsa unix çekirdeği icazələri yoxlayır. Lakin, AF_INET sockets üçün əlaqələr anonimdir ("təhlükəli"). Cygwin SSH-a, fasiləsiz işlədiyinizi düşünün. zərərli bir hacker qutunuza girə bilər, ssh -a tərəfindən istifadə edilən açıq portu tapmaq, SSH serverinizlə əlaqə yaratmaq, ondan bir RSA tələbi almaq, SSH-a göndərdiyiniz bir açıq port vasitəsilə göndərmək, RSA cavabını göndərmək, göndərmək ssh server və voila üzərindəki onu müvəffəqiyyətlə sizin serverinizə daxil etdi.

51
21 авг. İstifadəçi 456814 Aug 21 verdiyi cavabı 2013-08-21 05:54 '13 at 5:54 2013-08-21 05:54

Mənbə: Git Setup

Aşağıdakı əmr parolunuzu bir müddət yaddaşda saxlayacaq.
( Git 1.7.10 və ya daha yeni).

44
01 сент. Cavab Sagar Rakshe tərəfindən verilir 01 sep . 2013-09-01 05:55 '13 'da 5:55' də 2013-09-01 05:55 'də

Git üçün https istifadə edərkən remote.origin.urlremote.origin.url zaman, hər dəfə tıkladığınız bir istifadəçi adı (və / və ya parol) daxil remote.origin.url üçün proyektiniz üçün remote.origin.url edin.

remote.origin.url necə konfiqurasiya etmək remote.origin.url

 Url formatı: https: // {istifadəçi adı: parol @ github.com/ {owner} / {repo} Url parametrləri: * İstifadəçi adı isteğe bağlı olaraq, kimliyə ehtiyac olduqda istifadə etmək üçün istifadəçi adı lazımdır, əgər təsdiqlənməsinə ehtiyac duyulduğunda yenidən istifadəçi adını daxil etməyiniz lazım deyilsə, bu sizin e-poçtunuz deyil, düzgün şəkildə ayrılmaq mümkün deyil, * parol isteğe bağlı parol əgər təsdiq edilməsinə ehtiyac duyulduğunda yenidən parol girmək lazım deyilsə, ucu: bu, bir param, *  məsələn git config remote.origin.url https: //eric@github.com/eric/myproject

@Update - ssh istifadə

Mən konfiqurasiya addımı bir az daha mürəkkəb olmasına baxmayaraq, ssh dan istifadə edərək https dən daha yaxşı bir həlldir.

Kobud addımlar:

  • Windows msysgit oxşar əmrləri təmin edən linux ssh-keygen kimi bir msysgit istifadə edərək ssh düymələri yaradın.
  • Yerli kompüterdə xüsusi yerə doğru yerdə saxlayın, məsələn ~/.ssh . Və ssh-add komutu ilə ssh agent ssh-add .
  • Git server üçün ümumi açarı yükləyin.
  • remote.origin.url git deposunu ssh stilinə dəyişdirin, məsələn git@gitlab.com:myaccount/myrepo.git
  • Sonra çəkdiyiniz və ya basarkən bir istifadəçi adı və ya parol girməliyik.

İpuçları:

  • Sizin ssh açar sözlərinizdə bir ifadə varsa, ilk olaraq kompüterinizin hər bir yenidən başlamasından sonra düyməni istifadə etdiyiniz zaman onu daxil etməlisiniz.

@Update - httpsssh protokolları arasında keçid.

Yalnız remote.origin.url dəyişdirmək kifayətdir və ya dəyişdirmək üçün repo_home/.git/config birbaşa düzəlişlər edə bilərsiniz (məsələn, linux istifadə vi ).

Mən adətən hər bir protokol üçün bir xətt əlavə edərəm və onlardan birini istifadə edərək şərh et.

məsələn

 [uzaq "mənşə"] url = git@gitlab.com: myaccount / myrepo.git # url = https: //myaccount@gitlab.com/myaccount/myrepo.git fetch = + refs / heads / *: refs / remotes / origin / *
28
25 дек. Eric Wang tərəfindən verilmiş cavab dekabr 25 2013-12-25 18:42 '13 saat 06:42 'da 2013-12-25 18:42

GitHub parolunuzu Git'te önbelleğe ala bilərsiniz:

Yalnız rəsmi github sənədlərindən təlimatları izləyin .

Yuxarıdakı linki göstərdikdən sonra, hər dəfə istifadəçi adınızı / şifrənizi yazmadan repo-dan istifadə edə bilərsiniz.

15
19 дек. 19 dekabrda KM Rakibul Islam tərəfindən verilmiş cavab 2014-12-19 08:29 '14 da 8:29 2014-12-19 08:29

Burada başqa bir seçim var:

Yazmaq əvəzinə

 git push origin HEAD 

Yaza bilərsiniz:

 git push https://user:pass@yourrepo.com/path HEAD 

Aydındır ki, ən çox mərmilər bu tarixdə parol yığmağa gətirib çıxaracaq, buna görə unutmayın.

5
24 апр. Cavab 24 Apreldə Lacho Tomov tərəfindən verilir 2018-04-24 20:05 '18 saat 20:05 'da 2018-04-24 20:05

Mənim üçün, edit .git/config işləmiş və istifadə

 [remote "origin"] url = https://<login>:<password>@gitlab.com(...).git 

Sözsüz ki, bu, parolunuzu saxlamaq üçün güvensiz bir vasitədir, ancaq bu problem olmayacaq mühitlər / hallar var.

5
31 июля '16 в 21:25 2016-07-31 21:25 Cavab WoJ tərəfindən 31 iyul 'da 21:25 ' də verildi 2016-07-31 21:25

Əsasən iki variant var.

Hər iki maşında eyni istifadəçi istifadə etsəniz, .pub düyməsini kompüterinizə kopyalamanız lazımdır, belə ki github eyni istifadəçi olduğunuzu bilir.

PC üçün yeni bir .pub faylını yaratdıysanız və kompüterləri müxtəlif istifadəçilər kimi müalicə etmək istəyirsinizsə, github saytında yeni .pub faylını qeyd etməlisiniz.

Əgər hələ də işləmirsə, ssh düzgün konfiqurasiya edilməməsi və ssh açarların yerini tapa bilməməsi ola bilər. Keçir

 ssh -vv username@github.com 

Niyə SSH işləmir?

4
04 июля '11 в 0:32 2011-07-04 00:32 cavab 04 iyul 2011-ci il saat 04:32 'da verilir

Https üçün yeniləmə:

Github, HTTPS istifadə edərkən etimadnaməsini saxlayan yeni bir Windows proqramı başlatdı:

İstifadəsi:

Proqramı buradan yükləyin .

Proqramı .gitconfig sonra, .gitconfig faylını .gitconfig . Əgər bir neçə varsa, o, düzgün .gitconfig düzəliş .gitconfig yoxlayın. Düzgün bir dəyişiklik .gitconfig aşağıdakıları əlavə edin

 [credential] helper = !'C:\\Path\\To\\Your\\Downloaded\\File\\git-credential-winstore.exe' 

[credential] sonra xətt fasiyasına diqqət yetirin. Lazımdır.

Bir komanda satırı istemcisini açın və bir dəfə git push origin master cəhd edin. Əgər bir parol isterse, onu daxil edin və tamamlanacaqsınız. Şifrə yadda saxlandı!

4
05 апр. Varun Achar'a Apr 05 cavab verin 2013-04-05 09:02 '13 at 9:02 2013-04-05 09:02

Eyni problemim vardı.

mənim layihəmdən .git / config faylını dəyişdirin

 url = https://github.com/<your-user-here>/<your-repo-here> 

üçün

 url = git@github.com:<your-user-here>/<your-repo-here> 

və ssh ictimai anahtarı konfiqurasiyada olan keçid profilinə əlavə edin.

ssh ictimai açarı üçün

 cat ~/.ssh/id_rsa.pub 
2
09 июня '15 в 8:42 2015-06-09 08:42 Cavab 09: 09-də saat 09: 00 -da başlayacaq

Windows istifadəçiləri üçün git: git config --global credential.helper store istifadə etdikdən sonra - git config --global credential.helper store , əgər hələ də parol tələb edirsə, konfiqurasiya yazıldığı yerləri yoxlayın. bu əmri istifadə

git config --list --show-origin

Mənim vəziyyətimdə "C: \ Program Files \ Git \ mingw64 \ etc \ gitconfig" konfiqurasiya faylını əllə düzəlt, aşağıdakı mətni əlavə edin, hər şey işləyir.

[credential] helper = store

2
30 авг. Cavab Liang 30 aug verilir . 2018-08-30 12:11 '18 at 12:11 pm 2018-08-30 12:11

2 addımı yerinə yetirməlisiniz -

 1) git remote remove origin 2) git remote add origin git@github.com:NuggetAI/nugget.git 

Git URL'sinin https URL deyil, ssh URL olduğunu unutmayın. Burada seçə bilərsiniz.

2019

Ssh or.netrc səsi sizin üçün işləmirsə, onda sizin üçün işləyən başqa bir sadə, lakin daha az təhlükəsiz bir həlldir - diskdə şəxsiyyət qeydlərini saxlamağa köməkçi olan git-credential-mağaza .

 git config --global credential.helper store 

Varsayılan olaraq, kimlik məlumatları ~/.git-credentials qeyd olunacaq. Bu yaradılacaq və qeyd olunacaq.

Xahiş edirik, bu köməkçi istifadə edərək, parollarınızı yalnız bir fayl sistemi icazəsi ilə qorunan bir diskteki şifrələnməmiş formada saxlayacaqsınız. Bu, qəbul edilə bilən bir təhlükəsizlik mübadiləsi ola bilməz.

0
12 апр. Cavab rumman0786 12 aprel verilir 2018-04-12 13:12 '18 saat 13:12 'də 2018-04-12 13:12

Burada mənim üçün nə işləyirdi:

 git remote set-url origin https://username@github.com/username/reponame.git 

Məsələn:

 git remote set-url origin https://jsmith@github.com/jsmith/master.git 
0
09 дек. Cavab user5854766 09 dekabr tərəfindən verilir . 2018-12-09 20:30 '18 saat 20:30 'də 2018-12-09 20:30' a qədər

Bir çox istifadəçinin dediyi kimi, yalnız git qovluğunun URL'sini https'dan SSH-ə dəyişmək lazımdır.

Sizin cihazınızda bir SSH açarı yaratmadıysanız, bunu etmək lazımdır.

Əlavə məlumatın yanında, bu dəyişikliyi etdikdən sonra hələ də eyni səhv alıram: "Erişim rədd edildi".

Mənim vəziyyətimdə problem ngh komandanlığını icra etmək üçün Windows qabığını istifadə edirdi; Bu əmr bir SSH ifadəsi tələb etmək üçün dəvətnamə açdığından və Windows qabığı bu cür istəkləri açmadıqda, autentifikasiya sadəcə uğursuz oldu.

Beləliklə, yalnız git kabuğunu açmaq və orada ngh əmrini yerinə yetirmək üçün lazım olan hər dəfə SSH sözünü sorguya daxil edin və "voila" ... Yalnız yaxşı işlədilər!

0
03 апр. Cavab Thisisalexis tərəfindən verilir 03 Aprel. 2018-04-03 17:16 '18 saat 05:16 'da 2018-04-03 17:16

Windows altında git (məsələn, git bash) istifadə edirsinizsə (və https-dan ssh-ə keçmək istəmirsinizsə)

Siz həmçinin https://github.com/Microsoft/Git-Credential-Manager-for-Windows istifadə edə bilərsiniz

Bu proqramlar sizin üçün istifadəçi adınızı və şifrənizi saxlayacaq ...

-1
11 июня '14 в 16:08 2014-06-11 16:08 cavab boly38 verildi 11 iyun '14 'da 16:08 2014-06-11 16:08

tags ilə bağlı digər suallar və ya sual