Подтвердить что ты не робот

Код Visual Studio всегда запрашивает учетные данные git

Я начал использовать код Visual Studio, и я пытался сохранить свой тестовый проект в GitHub, но Код Visual Studio всегда запрашивает мои GitHub учетные данные.

Я установил на свой ПК рабочий стол GitHub, а также Git, я уже запускал:

 git config --global credential.helper wincred

но Код Visual Studio запрашивает учетные данные.

Любая помощь?

вот мой файл .gitconfig, расположенный в профиле пользователя:

    [filter "lfs"]
    clean = git-lfs clean %f
    smudge = git-lfs smudge %f
    required = true
[user]
    name = ddieppa
[user]
    email = [email protected]
[credential]
    helper = wincred

Вот всплывающие окна с запросом учетных данных:

введите описание изображения здесь

Я ввожу свои учетные данные GitHub во всплывающем окне, но все еще получаю эту ошибку в окне вывода Git в Код Visual Studio:

remote: Anonymous access to ddieppa/LineOfBizApp.git denied.
fatal: Authentication failed for 'https://github.com/ddieppa/LineOfBizApp.git/'
4b9b3361

Ответ 1

Последний обновленный ответ @05 марта, 19

После 98 голосов, я думаю, мне нужно дать верный ответ с объяснениями.

Почему код VS спрашивает пароль? Потому что VSCode запускает функцию автоматической выборки, в то время как у git server нет никакой информации для авторизации вашей личности. Это происходит, когда:

  • Ваш репозиторий Git имеет удаленный URL https. Да! этот вид пульта будет спрашивать вас каждый раз. Здесь нет исключений! Вы можете сделать временный трюк для кэширования авторизации, как показано ниже, но не рекомендуется.
  • У вашего git-репозитория есть удаленный URL-адрес ssl, НО вы не скопировали свой открытый ключ ssh на git-сервер. Используйте ssh-keygen для генерации вашего ключа и копирования его на git-сервер. Готово! Это решение также помогает вам никогда не вводить пароль на терминале снова. Смотрите хорошую инструкцию от @Fnatical здесь для ответа.

Обновленная часть в конце этого ответа вам совсем не поможет. За исключением того, что это делает вас застой в рабочем процессе. Он останавливает только то, что происходит в VSCode, и позволяет этому происходить в терминале.

Извините, если этот плохой ответ затронул вас долгое время.

-

оригинальный ответ (плохой)

Я нашел решение в документе VSCode:

Совет: Вы должны настроить помощника по учетным данным, чтобы не запрашивать учетные данные каждый раз, когда VS Code общается с вашими пультами Git. Если вы этого не сделаете, вы можете рассмотреть возможность отключения автозагрузки в меню..., чтобы уменьшить количество получаемых запросов.

Итак, включите помощник по учетным данным, чтобы Git сохранял ваш пароль в памяти в течение некоторого времени. По умолчанию Git кеширует ваш пароль в течение 15 минут.

В Терминале введите следующее:

git config --global credential.helper cache
# Set git to use the credential memory cache

Чтобы изменить время ожидания кэша паролей по умолчанию, введите следующее:

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

ОБНОВИТЬ

Я установил VS Code и тот же конфиг выше, но, как сказал @ddieppa, у меня это тоже не сработало. Поэтому я попытался найти параметр в настройках пользователя и увидел "git.autofetch" = true, теперь установите его в false! Код VS больше не требуется повторно вводить пароль!

В меню выберите File/Preferences/User Setting и введите эти:

Поместите ваши настройки в этот файл, чтобы перезаписать настройки по умолчанию

{
  "git.autofetch": false
}

Ответ 2

Вы должны иметь возможность установить свои учетные данные следующим образом:

git remote set-url origin https://<USERNAME>:<PASSWORD>@bitbucket.org/path/to/repo.git

Вы можете получить удаленный URL следующим образом:

git config --get remote.origin.url

Ответ 3

Это работает для меня:
1. Установите учетные данные в хранилище
$ git config --global credential.helper store
2. затем проверьте, хотите ли вы:
$ git config --global credential.helper store

Простой пример использования git bash, цитируемого здесь (работает только для текущего репо, используйте --global для всех репо)

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: < type your username >
Password: < type your password >

[несколько дней спустя]
$ git push http://example.com/repo.git
[ваши учетные данные используются автоматически]

Будет работать и для VS Code.

Более подробный пример и расширенное использование здесь.

Примечание. Имя пользователя и пароли не шифруются и хранятся в текстовом формате, поэтому используйте их только на своем компьютере.

Ответ 4

Попробуйте установить " Git Диспетчер учетных данных для Windows" (и следуя инструкциям по настройке менеджер учетных данных).

При необходимости в приложении, использующем Git (например, код VS), он будет magically" откройте требуемый диалог для Visual Studio Team Services ввод учетных данных.

Ответ 5

Все, что мне нужно было сделать, это запустить эту команду:

git config --global credential.helper wincred

Затем мне дважды предложили ввести пароль.

В следующий раз это сработало без запроса пароля.

Ответ 6

Используйте ssh вместо http/https.

Вам нужно будет установить ssh-ключи на вашем локальном компьютере, загрузить их на свой git-сервер и заменить URL-адрес http:// на git:// и вам больше не нужно будет использовать пароли.

Если вы не можете использовать ssh, добавьте это в вашу конфигурацию:

[credential "https://example.com"]
    username = me

документы здесь.


Использование ключа SSH в GitHub


Просто выполните эти шаги, и вы быстро настроите свой ssh-ключ:

  • Создайте новый ключ ssh (или пропустите этот шаг, если у вас уже есть ключ)
    ssh-keygen -t rsa -C "[email protected]"

  • Как только ваш ключ установлен в home/.ssh каталоге home/.ssh (или Users/<your user>.ssh в Windows), откройте его и скопируйте содержимое


Как добавить ключ sh в аккаунт github?

  • Войти в аккаунт на github
  • Нажмите на ранчо в правом верхнем углу (Настройки)
    github account settigns
  • Нажмите на SSH keys
    ssh key section
  • Нажмите на кнопку Add ssh key
    Add ssh key
  • Вставьте свой ключ и сохраните

И вы все готовы идти :-)

Ответ 7

Следующие шаги помогут вам как:

  1. Генерация ключей SSH (без ключевой фразы **)
  2. Добавьте открытый ключ, сгенерированный на шаге 1, в свой Git-репозиторий
  3. Подтвердите, что вышеупомянутые шаги были успешно завершены
  4. Сделайте свой первый коммит (без указания имени пользователя/пароля)

** Генерация ключей SSH без ключевой фразы нецелесообразна, если ваша работа особенно чувствительна.

ОС - Fedora 28 | Редактор - VS Code v1.23.0 | Репозиторий - Git

Генерация ключей SSH:

  • ssh-keygen -t rsa -C "[email protected]"
  • Введите файл для сохранения ключа: нажмите Enter
  • Введите пароль: нажмите Enter
  • Введите тот же пароль еще раз: нажмите Enter

После выполнения вышеуказанных действий местоположение вашего открытого ключа отображается в окне терминала. Если в данный момент вошедшим в систему пользователем является "bob", местоположение вашего открытого ключа будет /home/bob/.ssh/id_rsa.pub

Скопируйте и импортируйте открытый ключ в GitHub:

  • cat/home/bob/.ssh/id_rsa.pub

  • Скопируйте весь открытый ключ, который теперь отображается в окне вашего терминала, в буфер обмена.

  • Перейдите на https://github.com и войдите в систему.
  • Нажмите на значок пользователя в верхнем правом углу экрана и выберите Настройки
  • Нажмите SSH и GPG ключи
  • Нажмите Новый ключ SSH
  • Введите заголовок, вставьте открытый ключ, скопированный в буфер обмена, в первую точку маркера и нажмите "Добавить ключ SSH".

Подтвердите вышеуказанные шаги:

  • ssh -t [email protected]

  • yes

  • Привет ! Вы успешно прошли аутентификацию, но GitHub не предоставляет доступ к оболочке.

Первый коммит /push без необходимости ввода имени пользователя/пароля: - touch test.txt

  • git add test.txt

  • git commit - открывает редактор, вводит сообщение и сохраняет файл. Если vi - ваш редактор, нажмите i после открытия файла, введите сообщение, нажмите esc, а затем введите :x чтобы сохранить изменения.

  • git push

Единственный сбой, с которым вы можете столкнуться, - это попытка SSH перейти на GitHub. Эта ссылка окажет некоторую помощь -

Хорошей охоты!

Ответ 8

Для windows 10: перейдите в панель управления/Диспетчер учетных данных /Windows Credential--> щелкните по ссылке git, → edit--> обновите новый пароль. Это должно работать

Ответ 9

После этой статьи:

Вы можете просто установить GIT_SSH env. вар. программе Putty plink.exe. (Затем используйте pageant.exe в качестве агента авторизации)

Ответ 10

Используйте ключ SSH без кодовой фразы.

Возможно, это очевидно для некоторых (не для меня). Это также не решает проблему, если вы абсолютно требуете кодовую фразу, но это был достойный компромисс в моей ситуации на Mac.

Ответ 11

После недолгой борьбы с чем-то вроде этого, я думаю, я нашел хорошее решение, особенно когда у меня есть несколько учетных записей в GitHub и BitBucket. Однако для VSCode он в конечном итоге завершился запуском его с терминала Git Bash, чтобы он унаследовал переменные среды из сеанса bash и знал, на какой ssh-agent смотреть.

Я понимаю, что это старый пост, но я все еще изо всех сил пытался найти одно место, чтобы получить необходимую информацию. Плюс с 2017 года ssh-agent получил возможность запрашивать пароль только при попытке получить доступ к репо.

Я приведу здесь свои выводы, если кому-то интересно:

Ответ 12

Решите проблему, выполнив следующие действия.

Деинсталлировали ПО Vscode и git и переустанавливали тоже самое. Изменен URL клона репозитория git с ssh на https.

Ответ 13

Для меня я настроил удаленное репо с ключом SSH, но git не смог их найти, потому что переменная среды HOMEDRIVE автоматически настраивалась на сетевой ресурс из-за политики домена моей компании. Изменение этой переменной среды в моей оболочке до запуска code. заставил VSCode наследовать правильную переменную окружения и больше не возникало ошибок соединения в окне вывода git.

Теперь мне просто нужно выяснить, как переопределить политику домена, чтобы HOMEDRIVE всегда указывал на мой локальный каталог c:\users\marvhen который является местоположением по умолчанию для каталога .ssh.

Ответ 14

Мне удалось остановить это, выполнив следующие шаги.

  1. Удалите Git Desktop (не уверен, что это необходимо)
  2. Удалите диспетчер учетных данных cd "C:\Program Files\Git\mingw64\libexec\git-core" последующим git-credential-manager.exe uninstall
  3. Сброс помощника учетных данных для использования wincred git config --global credential.helper wincred
  4. Код пользователя VS для отправки некоторых изменений и повторного ввода учетных данных.

ПРИМЕЧАНИЕ. В качестве пароля я использовал токен личного доступа.

Ответ 15

Я решил похожую проблему простым способом:

  1. Перейти к CMD или терминалу
  2. Наберите git pull origin master. Замените "origin" вашим удаленным именем
  3. Он попросит полномочия. Введи это.

Все это. Я решил проблему

Ответ 16

кроме добавления записей конфигурации ssh выше

если окна

Set-Service ssh-agent -StartupType Automatic 

в PowerShell теперь код vs не должен подсказать...

Ответ 17

У меня была похожая проблема в коде Visual Studio.

Я решил, изменив удаленный URL-адрес на https. (в файле .git/config)

[remote "origin"]
    url = https://[email protected]/plesk-git/project.git

а также

git config --global credential.helper wincred

снова вытащил, всплывающее окно с учетными данными вышел, проблемы решены.

Ответ 18

В общем, вы можете использовать встроенные хранилища учетных данных:

git config --global credential.helper store

Или, если вы работаете в Windows, вы можете использовать их учетную систему:

git config --global credential.helper wincred

Или, если вы используете MacOS, вы можете использовать их учетную систему:

git config --global credential.helper osxkeychain

Первое решение является оптимальным в большинстве ситуаций.