Използвам 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
- Изтеглете и инсталирайте шпакловка
- Задайте променлива на обкръжението "GIT_SSH" = "pathtoplink.exe" (в папката с инсталирана замазка) - МНОГО ВАЖНО !!!
- RESTART WINDOWS EXPLORER за влизане в сила на променливите Env (не може да се рестартира само командния ред)
- Стартирайте puttygen.exe за генериране на нов ключ, копирайте PUBLIC ключа към сайта на Github
- Запазване на този нов PRIVATE ключ някъде на сигурно място в диска (за предпочитане не капка)
- Стартирайте putty.exe и свържете SSH към github.co
- Бързо стигнете до стартовата папка, като изпълните "shell:започвам". 8 Направете стартирането на личния си ключ с прозорци чрез излъчване. Създайте пряк път в стартовата папка със синтаксис "pathtopageant.exe" "pathtoprivatekey"
- Не е необходимо да задаваме настройката "puttykeyfile" в .git / config на нашите репо-сделки
- МНОГО ВАЖНО е, че "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 опции
origin:https://github.com/myaccount/myproject.git/
https://github.com/myaccount/myproject.git/
Както можете да видите, разликата е в произхода param в url - не искате да изберете тази опция (1), която искате да проверите опция (2) и че работи добре за мен. Надявам се това да помогне на някой.
Dung Le.
1 за отговор № 16
Има различни видове удостоверяване в зависимост от вашата конфигурация. Ето няколко неща:
git credential-osxkeychain
.Ако идентификационните Ви данни са невалидни, премахнете я чрез:
git credential-osxkeychain erase
или:
printf "protocol=httpsnhost=github.comn" | git credential-osxkeychain erase
Така че git няма да ви помоли отново за разрешение за ключодържател. След това го конфигурирайте отново.
Виж: Актуализиране на идентификационните данни от Keychain на OSX в GitHub
Вашият SSH RSA ключ.
За целта трябва да сравните вашия SSH ключ с това, което сте добавили, проверете от
ssh-add -L
/ssh-add -l
ако използвате правилната идентичност.Вашето 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