/ / Git продължава да ме подканва за парола git, github

Git продължава да ме подтиква към парола - git, github

Използвам Git за известно време, но постоянните искания за парола започват да ме качват по стената.

Използвам OSX и Github, и настроих Git и моите SSH ключове според указанията на GitHub " Настройте Git страницата , Аз също добавих ключа на github SSH към ключовете за Mac OSX, както вече споменах Страницата за ключови фрази за SSH на GitHub , Моят публичен ключ е регистриран с Git.

Все пак, всеки път, когато се опитвам да дръпна, трябва да въведа потребителско име и парола. Има ли нещо друго освен SSH ключ, който трябва да настроя за това?

Отговори:

653 за отговор № 1

Мисля, че може да имате грешен git repo url.

отворено .git/config и намерете секцията [отдалечен “произход“). Уверете се, че използвате SSH едно:

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

И НЕ https или git едно:

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

Вече можете да потвърдите с просто на SSH Key вместо username и password.

[Редактиране:] Ако Гит се оплаква "origin" has already been added, отвори .config файл и редактирайте url = "..." част след [remote origin] като url = ssh://github/username/repo.git


481 за отговор № 2

В OS X (сега macOS) изпълнете това в терминала

git config --global credential.helper osxkeychain

Тя позволява на git да използва Keychain.app за съхраняване на потребителско име и парола и за извличане на паролата към вашия частен ssh ключ от ключодържателя.

За използване на Windows:

git config --global credential.helper wincred

Отстраняване на проблеми

Ако помощникът за идентификация на git е конфигуриран правилно, MacOS записва паролата в ключодържателя. Понякога връзка между ssh и фразите за съхранение в ключодържателя може да се счупи. тичам ssh-add -K или ssh-add ~/.ssh/id_rsa за да добавите отново ключа към ключодържателя.

macOS 10.12 Sierra се променя на ssh

За MacOS 10.12 Sierra ssh-add -K трябва да се стартира след всяко рестартиране. За да избегнете това ~/.ssh/config с това съдържание.

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

От ssh_config man страница на 10.12.2:

UseKeychain

В macOS указва дали системата трябватърси за фрази в ключовете на потребителя, когато се опитва да използва определен ключ. Когато паролата е предоставена от потребителя, тази опция определя също така дали пропускът трябва да се съхранява в ключодържателя, след като е бил проверен за правилен. трябва да е "да" или "не". По подразбиране е "не".

Apple е добавил Техническа характеристика 2449 което обяснява случилото се.

Преди macOS Sierra, ssh ще покаже диалогов прозорец, който ще поиска вашата парола и ще предложи опция за запазването му в ключодържателя. Този интерфейс бе отхвърлен преди известно време и бе премахнат.


107 за отговор № 3

Това се случи с мен, когато надстроих до macOS Sierra. Изглежда, че ssh агентът е бил разрешен при ъпгрейд.

$ ssh-add -L
The agent has no identities.

Просто работи ssh-add Намерих съществуващата ми идентичност, въведох паролата и е добре да отида отново.


57 за отговор № 4

Използвайте това: Заменете github.com с подходящото име на хост

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

29 за отговор № 5

Както други са казали, можете да инсталирате помощник в кеша за паролите. Аз най-вече просто исках да публикувам линк за други платформи, а не само за Mac. Работя с Linux сървър и това беше полезно: https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux

За Mac:

git credential-osxkeychain

Windows:

git config --global credential.helper wincred

Linux:

git config --global credential.helper cache
git config --global credential.helper "cache --timeout=3600"
# Set the cache to timeout after 1 hour (setting is in seconds)

8 за отговор № 6

Ръководство за git на прозорци и Github използване SSH да натиснете / дърпа http://nathanj.github.io/gitguide/tour.html

  1. Изтеглете и инсталирайте шпакловка
  2. Задайте променлива на обкръжението "GIT_SSH" = "pathtoplink.exe" (в папката с инсталирана замазка) - МНОГО ВАЖНО !!!
  3. RESTART WINDOWS EXPLORER за влизане в сила на променливите Env (не може да се рестартира само командния ред)
  4. Стартирайте puttygen.exe за генериране на нов ключ, копирайте PUBLIC ключа към сайта на Github
  5. Запазване на този нов PRIVATE ключ някъде на сигурно място в диска (за предпочитане не капка)
  6. Стартирайте putty.exe и свържете SSH към github.co
  7. Бързо стигнете до стартовата папка, като изпълните "shell:започвам". 8 Направете стартирането на личния си ключ с прозорци чрез излъчване. Създайте пряк път в стартовата папка със синтаксис "pathtopageant.exe" "pathtoprivatekey"
  8. Не е необходимо да задаваме настройката "puttykeyfile" в .git / config на нашите репо-сделки
  9. МНОГО ВАЖНО е, че "SSH клонинг URL" на Github се използва, а не HTTP

7 за отговор № 7

Потърсете и кой ви пита за пропуска. Дали е Git или вашият SSH агент?

В моя случай всеки път git pull питаше ме:

Enter passphrase for key "/work/username/.ssh/id_rsa":

Така че предположих, че това е git с искане за пропуск. Затова продължих да търся решения, само за да разбера по-късно, че моят SSH агент беше спрял. Което може да бъде фиксирано както е дадено тук.

Това беше доста глупава грешка, която направих, но го публикувах тук, само в случай, че помага на някой да спести известно време от лая на грешното дърво, както направих аз.


6 за отговор № 8

В Windows за git 1.7.9+ изпълнете следната команда в командния ред, за да отворите конфигурационния файл в текстов редактор:

    git config --global --edit

След това в файла добавете следния блок, ако той не е представен или го редактирайте съответно

    [credential "https://giturl.com"]
username = <user id>
helper = wincred

Запазете и затворете файла. Ще трябва да предоставите трендовете само веднъж след горната промяна.


4 за отговор № 9
git config credential.helper store

Забележка: Докато това е удобно, Git ще съхранява вашите идентификационни данни в чист текст в локален файл (.git-credentials) под директорията на вашия проект (вижте по-долу директорията "home"). Ако не харесвате това, изтрийте този файл и преминете към използване на опцията за кеш.

Ако искате Git да възобнови задаването на идентификационни данни всеки път, когато трябва да се свърже с отдалеченото хранилище, можете да изпълните тази команда:

git config --unset credential.helper

За да съхраните паролите във .git-идентификационни данни във вашата директория% HOME%, за разлика от директорията на проекта: използвайте флага --global

git config --global credential.helper store

4 за отговор № 10

Използвайте следната команда, за да увеличите периода на изчакване, така че да можете да въведете отново паролата за известно време

git config --global credential.helper "cache --timeout 3600"

Използвах го за Bitbucket и Github работи и за двете. Единственото нещо, което трябва да направите, е 3600 е в секунди, увеличете го до каквато степен искате 259200 Което е около 30 дни. По този начин отново въвеждам паролата си за всеки 30 дни.


3 за отговор № 11

Мисля, че сте решили проблема си, но не виждам решението, което ми помогна, така че ето го.

Въведете терминала:

echo "" > ~/.ssh/known_hosts

Това ще изпразни вашия known_hosts и трябва да добавите всеки хост, с който сте се свързали, но е разрешил проблема.


3 за отговор № 12

отговорът на orkoden за използването на ключодържателя с gitвъв вашия терминал е непълна и повдига erros. Това е, което трябва да направите, за да запазите потребителското име и паролата, които въвеждате в терминала във вашия ключодържател:

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

След това въведете

git config --global credential.helper osxkeychain

Ако вече сте направили частта с git config преди curl неща, това не е проблем, ще работи


2 за отговор № 13

Стъпка 1: проверете текущия си конфиг

cat .git/config

Ще получите:

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = https://github.com/path_to_your_git.git
fetch = +refs/heads/*:refs/remotes/origin/*
[user]
name = your_username
email = your_email
[branch "master-staging"]
remote = origin
merge = refs/heads/master-staging

Стъпка2: премахнете отдалечения си произход

git remote rm origin

Стъпка 3: добавете отдалечено начало с вашето потребителско име и парола

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

2 за отговор № 14

Както static_rtti каза по-горе, променете

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

да се

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

Самата аз промених https в.git / config файл към ssh, но той все още не работи. Тогава видях, че ТРЯБВА да промените github.com на git@github.com. Добър начин да получите действителния правилен URL адрес е да отидете на страницата на проекта и да кликнете върху него

Променете HTTPS на SSH, за да получите правилния URL адрес

След това добавете този URL адрес в конфигурационния файл.


1 за отговор № 15

Съгласен съм с "codehugger" и използвайкиинструкция за "orkoden" работи за мен - на netbeans 7.3 - когато щракнете с десния бутон върху файла и изберете контекстното меню - натиснете - отворен е прозорец "push to remote" - тук има 2 опции

  1. origin:https://github.com/myaccount/myproject.git/

  2. https://github.com/myaccount/myproject.git/

Както можете да видите, разликата е в произхода param в url - не искате да изберете тази опция (1), която искате да проверите опция (2) и че работи добре за мен. Надявам се това да помогне на някой.

Dung Le.


1 за отговор № 16

Има различни видове удостоверяване в зависимост от вашата конфигурация. Ето няколко неща:

  1. git credential-osxkeychain.

    Ако идентификационните Ви данни са невалидни, премахнете я чрез:

    git credential-osxkeychain erase
    

    или:

    printf "protocol=httpsnhost=github.comn" | git credential-osxkeychain erase
    

    Така че git няма да ви помоли отново за разрешение за ключодържател. След това го конфигурирайте отново.

    Виж: Актуализиране на идентификационните данни от Keychain на OSX в GitHub

  2. Вашият SSH RSA ключ.

    За целта трябва да сравните вашия SSH ключ с това, което сте добавили, проверете от ssh-add -L/ssh-add -l ако използвате правилната идентичност.

  3. Вашето HTTPS удостоверяване (ако използвате https вместо ssh протокол).

    употреба ~/.netrc (%HOME%/_netrc в Windows), за да предоставите идентификационните си данни, напр.

    machine stash1.mycompany.com
    login myusername
    password mypassword
    

    Научете повече: Синхронизиране с GitHub в SO


1 за отговор № 17

Преди да можете да използвате ключа си с github, следвайте тази стъпка в урока Тестване на вашата SSH връзка:

$ ssh -T git@github.com
# Attempts to ssh to GitHub

1 за отговор № 18

Ако използвате Windows и това внезапно започна да се случва на GitHub, това вероятно се дължи на скорошната Github. деактивиране на поддръжката за отхвърлени криптографски алгоритми на 2018-02-22, в който случай решението е просто да изтеглите и инсталирате последната версия на пълния Git за Windows или просто Git Credential Manager за Windows.


0 за отговор № 19

да имаш правописна грешка в URL адреса ще ти накара да поискаш потребителско име и парола, глупаво git

тестван на Linux Kali, Git версия 2.7.0

опитвам:

git клонинг https://github.com/thisrepodoesntexists/doesntexists.git