Vscode: Git: поддержка git с паролем закрытого ключа

Созданный на 13 окт. 2016  ·  229Комментарии  ·  Источник: microsoft/vscode

  • Версия VSCode: 1.6.0
  • Фиксация e52fb0bc87e6f5c8f144e172639891d8d8c9aa55
  • Дата 2016-10-10T18: 37: 40.189Z
  • Оболочка 1.3.7
  • Рендерер 52.0.2743.82
  • Узел 6.5.0
  • Версия ОС: Windows 7 Pro

Действия по воспроизведению:

  1. Создайте пару открытого и закрытого ключей с защитой паролем
  2. добавьте их в свою учетную запись github
  3. настроить git для использования файла закрытого ключа
  4. попробуй что-нибудь подтолкнуть с git

Результат:

git pull
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,password).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
feature-request git help wanted

Самый полезный комментарий

Обходной путь для Windows 10:

  1. Заставьте Git использовать OpenSSH, который поставляется с Windows, вместо того, который поставляется с Git.
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
  2. Настройте автоматический запуск службы ssh-agent (не той, что поставляется с git).
    Откройте диспетчер задач, вкладку «Службы», нажмите «Открыть службы».
    Найдите агент аутентификации OpenSSH, откройте свойства, установите для параметра Тип запуска значение Автоматический, нажмите ОК.
    Также запустите службу или перезагрузите компьютер.
  3. Добавьте в агент свой защищенный паролем ключ.
    ssh-add
    Он должен автоматически получать ключи, хранящиеся в C: \ Users \% USERNAME% \. Ssh, где ssh-keygen создает их.
    Введите свой пароль (и) в ответ на приглашение.

Примечание. Если при установке Git для Windows вы выбрали вариант добавления команд bash в PATH, команда ssh-add может указывать на неправильный исполняемый файл. Если это так, вы можете вручную запустить включенный, чтобы ваш ключ был добавлен в агент:
C:\Windows\System32\OpenSSH\ssh-add.exe

Теперь встроенный агент аутентификации OpenSSH будет запускаться при запуске с разблокированным ключом, защищенным паролем, и Git будет использовать Windows OpenSSH вместо своего собственного. Таким образом, нет необходимости вводить пароль каждый раз, не нужно вручную запускать агент ssh и не нужно запускать VS Code из командной строки.

Все 229 Комментарий

А из командной строки работает? Как именно настроить git для использования файла закрытого ключа?

Работает из командной строки. На самом деле я настраиваю git через tortoise git - так что, думаю, все сделано правильно.

image

Как запустить командную строку? Какая командная строка?

Я использую git bash (MINGW64) в Windows.

Правильно. Итак, нам, возможно, придется добавить параметр git.sshkey , например, Tortoise.

В Windows 10 Git 2.10.1.

Были проблемы с использованием git на vscode с моим производственным сервером, поэтому я создал тестовый сервер.
Во-первых, с пользователем, защищенным паролем (без ключей), те же ошибки - без всплывающих окон с запросом учетных данных или чего-то еще.
Используя терминал внутри vscode или любой случайный cmd, который я могу нажать, вытащить, и он работает - запрашивает пароль. С vscode я могу только готовить коммиты. Вытягивание, нажатие, синхронизация - все это не удается, потому что они не запрашивают пароль.

В производстве я использую ключ, защищенный парольной фразой, с другим 5-значным портом для ssh.
Также у меня есть несколько разных ключей ssh ​​(включая git) на одной машине ...

@joaomoreno Почему вы переместили его в очередь?

Просто планирую приоритеты. Однако вы можете попробовать запрос на перенос. 👍

Жду этого 😉

Есть новости по этому поводу? У меня такая же проблема, и это очень раздражает 😞

@joaomoreno Я пытаюсь это сделать. Это затрагивает меня лично сейчас, поскольку я недавно перешел на безопасность на основе ключей.

Люди могут отслеживать свой прогресс здесь .

@hashhar Это

@joaomoreno Я искал места, которые нужно изменить, и обнаружил следующее:

Текущий сценарий:

  • Если у вас запущен агент ssh с добавленным к нему ключом, вы можете выполнять все операции, кроме clone (поскольку node.url.parse () не работает для URL-адресов ssh).
  • Если ssh-agent не выполняет все команды git, которые связаны с сетевой активностью (выборка, клонирование, толчок, извлечение), сбой. Ошибка генерируется git.exe.

Предлагаемые изменения:

  • [x] Не требуется, см. следующий комментарий. Добавьте перегрузку в url.parse () (где?), чтобы убедиться, что URL-адреса ssh также распознаются.
  • [x] Добавьте ключ конфигурации, git.sshkey (расположение закрытого ключа (на данный момент ограничено ключами openssh - поскольку git поддерживает их изначально, позже мы рассмотрим ключи замазки)).
  • [] Добавьте условие, в котором расширение git инициализируется для запуска агента SSH (если он не запущен), и добавьте ключ. Нужно будет каким-то образом (быстрый выбор?) Попросить пользователя ввести свою парольную фразу. ( Убиваем ли мы агента, когда закрываем vscode? )

Никаких других изменений не потребуется (из того, что я сейчас видел), потому что связь с конечной точкой git обрабатывается git.exe, а не vscode.

Хорошо, я плохо отношусь к разбору URL. Похоже, что node принимает URL-адреса, например git+ssh://[email protected]:hashhar/vscode или ssh://[email protected]:hashhar/vscode но часть ssh должна быть явно упомянута.

Что мне делать с этим, должен vscode просто волшебным образом добавить ssh перед URL-адресами, соответствующими формату [email protected]:username/repo . Или потерпеть неудачу тихо? (Это все еще требует запуска ssh-агента).

Пинг @joaomoreno. Если у вас есть время, прокомментируйте вышеперечисленные проблемы, которые у меня есть. В настоящее время я собрал доказательство концепции, запустив ssh-agent с закрытым ключом. Это работает, но все же нужно немного отполировать.

@hashhar Извините за задержку ... На самом деле я сейчас очень занят. Не стесняйтесь создавать PR и переносить туда обсуждение, мы постараемся провести это в марте.

Недостаточно просто запустить ssh-agent, вам нужно также добавить переменные среды SSH_AGENT_PID и SSH_AUTH_SOCK, чтобы Git знал, где искать.

Затем вам нужно будет либо сохранить это где-нибудь, чтобы его можно было использовать между перезапусками VSCode, либо вам нужно будет перезапускать ssh-agent каждый раз, когда вы перезапускаете VS Code.

Было бы прекрасно, если бы он мог поделиться этим с Posh-Git (модулем Powershell Git), который хранит значения в ([System.IO.Path]::GetTempPath()) ".ssh\$key.env" - но, возможно, стоит поговорить с этой командой, чтобы убедиться, что это место является тем, что они счастлив быть запертым.

@andrewducker Большое спасибо за дополнительный вклад. Я не работал над этим в том темпе, который мне хотелось бы, из-за моих средних семестров. Я вернусь к нему к концу недели. Я дам знать команде Posh-Git.

@joaomoreno Я вернулся к работе над этим. Мой предыдущий подход был слишком наивным и не работал. В настоящее время я пытаюсь найти подходящее место для добавления функции, которая вызывается перед выполнением любой команды git (например, когда запускается VSCode и загружается поставщик git). Где мне это делать? Кажется, я не могу понять, каков поток кода.

Есть ли фрагмент кода, который вызывается при каждом вызове Git? В таком случае вы можете запросить пароль при первом вызове.

Глядя на это, можно было бы поместить ловушку в Git.ts внутри любых функций, которые означали бы подключение к серверу. (Например, извлечение, извлечение, нажатие и т. Д.).

(Я бы предложил сделать это сам, но я никогда ничего не писал на TypeScript и не работал с расширениями VSCode, так что это просто основано на том, что я кратко копался в коде на GitHub.)

Самая большая проблема заключается в том, что в Windows переменные SSH_AUTH_SOCK и SSH_AUTH_PID могут быть доступны для всех процессов или только для одного сеанса консоли в зависимости от того, как был запущен ssh-agent. Так что гораздо проще запустить ssh-agent из VSCode вместо того, чтобы повторно использовать существующие (по крайней мере, в Windows).

На практике это означает, что пользователь должен будет ввести свою парольную фразу ОДИН РАЗ перед выполнением первой операции Git. Экземпляры VSCode могут совместно использовать ssh-агенты между собой, если мы можем определить жестко запрограммированное место, где должен был быть создан SSH_AUTH_SOCK, чтобы другие экземпляры VSCode могли просматривать их перед запуском своих собственных агентов.

Для меня это оказалось довольно интересным испытанием. 😃

Также было бы жизнеспособным вариантом, если бы vscode учитывал уже существующий SSH_AUTH_SOCK. У меня спрашивают пароль моего закрытого ключа, хотя в моей системе уже запущен ssh-agent. Интересно, что я могу использовать git в интегрированном терминале vscode (оболочке). Плагин git и терминал должны вести себя одинаково для облегчения отладки.

РЕДАКТИРОВАТЬ: я фиксирую f9d0c687ff2ea7aabd85fb9a43129117c0ecf519
EDIT2: он работает, когда я запускаю vscode из bash вместо использования средства запуска моего оконного менеджера.

Да - запуск VSCode из сеанса, в котором они уже установлены в среде, отлично работает (в моем случае запуск из Powershell). Так что, если они уже установлены, делать нечего.

какой прогресс в этом?

@ezamelczyk Нет. Мне жаль. Я не мог уделять этому достаточно времени из-за колледжа. Кстати, спасибо, что напомнили. Я постараюсь поработать на следующей неделе.

Всем привет,

К сожалению, у меня такая же проблема ... 😭
Вот моя конфигурация и подробный сценарий ее воспроизведения.
Надеюсь, это немного поможет!

ОС : macOSX Sierra версии 10.24.4
VScode : версия 1.11.1

В моей папке .ssh есть эти файлы:

  • config
  • id_rsa_github
  • id_rsa_github.pub
  • id_rsa_gitlab
  • id_rsa_gitlab.pub
  • know_hosts

Содержимое конфигурационного файла:

Host gitlab.com
  HostName gitlab.com
  User git
  RSAAuthentication yes
  IdentityFile ~/.ssh/id_rsa_gitlab

Host github.com
  HostName github.com
  User git
  RSAAuthentication yes
  IdentityFile ~/.ssh/id_rsa_github

Я могу фиксировать и нажимать без проблем из командной строки и башни.
Но я не могу в VScode ... он возвращает мне это выходное сообщение каждый раз, когда я пытаюсь:

git pull
В разрешении отказано (публичный ключ).
фатальный: не удалось прочитать из удаленного репозитория.
Убедитесь, что у вас есть правильные права доступа
и репозиторий существует.

Спасибо за вашу помощь

Для меня это действительно блокиратор. Мне нравится VSC, но без возможности использовать git я не могу использовать его в качестве ежедневного редактора.

@MartinZubek @jmbelloteau Исправляет ли его запуск из командной строки, в которой вы запустили агент SSH?

@andrewducker

С терминала я подключился к своему удаленному Git с помощью команды:

ssh -T [email protected]

... затем я открыл VScode из терминала с помощью команды:

code

Когда я нажимаю из VScode, я все равно получаю ту же ошибку ...
Это действительно проблема!

@MartinZubek то же самое, VScode потрясающий, намного больше, чем Atom.
Мне нравится скорость встроенного терминала, UX и возможность использовать git.

Но для безопасности нам также необходимо подключение к удаленному GIT. Это значит защитить паролем SSH ...

Это имеет смысл ... не так ли?

@andrewducker Действительно, у меня так работает. :)
Есть ли шанс, что он будет работать изначально без необходимости запускать его из командной строки?

Привет @MartinZubek!

Что вам подходит? Можете быть более конкретными? 😄

@jmbelloteau Конечно, это больше не заканчивается ошибкой «Permission denied (publickey)», и git pull / push работает так, как должен. Он использует правильный ключ из файла ~ / .ssh / config, и всякий раз, когда требуется ключевой пароль, появляется это окно:
http://imgur.com/wpExMMP

@MartinZubek, чтобы вы могли нажимать из VScode ?! Замечательно...
Вы запускали его из командной строки, в которой запускали SSH-агент?
Если да, то как?
Я не понимаю, почему это не работает в моей среде

@jmbelloteau Да, я запустил vscode из командной строки, которую использую (если быть точным, это git-bash.exe, который по умолчанию поставляется с git для Windows). Однако мне не пришлось запускать ssh-agent или что-то еще вручную. Я думаю, он запускается автоматически с помощью git-bash или чего-то еще.

@MartinZubek, черт возьми ...

Даже как ты сказал, у меня это не работает 😭

@vscodeteam Есть ли план решения этой проблемы?

@jmbelloteau Это чертовски сложно. Это также довольно удачно. То, что я пробовал реализовать, - это запустить ssh-agent в процессе узла, чтобы переменные env были доступны для VSCode, но это означает, что для нескольких экземпляров VSCode потребуется несколько ssh-агентов и каждый раз нужно будет вводить парольные фразы.

Я ищу способ использовать вместо этого переменную SSH_AUTH_SOCK. Он работает в Linux, но еще не тестировал его в Windows.

Есть дополнительная проблема: OpenSSH против Windows Powershell SSH против PuTTY.

Если кто-то захочет протестировать его, я могу отправить код на свой форк, и люди смогут его протестировать. Однако это займет некоторое время, так как я использовал жестко закодированные пути (доказательство концепции).

Думаю, к субботе или воскресенью я его закончу.

Привет @hashhar !

Спасибо за Ваш ответ.
Действительно, это кажется действительно сложным. 😞

Я не совсем разработчик, поэтому ничем не могу вам помочь, я просто буду рядом на случай, если вы нашли волшебство и пошлю вам удачи!

@hashhar относительно ваших комментариев, я могу предложить 2 варианта:

  1. Вы можете перезапустить весь VSCode (включая процесс узла-предка) в ssh-agent , запустив ssh-agent path/to/code ; таким образом отпадает необходимость запускать один экземпляр ssh-agent для каждого процесса узла.
  2. Вы можете запустить ssh-agent из процесса узла, получить переменные среды (например, распечатать их в файле) и совместно использовать их во всех процессах.

Я могу определенно проверить. Мне нужно что-то особенное, чтобы его построить? Установил официальную версию.
Но я могу его построить :)

@joaomoreno Думаю, у меня есть частичное исправление.

В файле extensions/git/src/askpass.ts я изменил getEnv() на:

getEnv(): Promise<any> {
        return this.portPromise.then(port => ({
            ELECTRON_RUN_AS_NODE: '1',
            GIT_ASKPASS: path.join(__dirname, 'askpass.sh'),
            VSCODE_GIT_ASKPASS_NODE: process.execPath,
            VSCODE_GIT_ASKPASS_MAIN: path.join(__dirname, 'askpass-main.js'),
            VSCODE_GIT_ASKPASS_PORT: String(port),
            SSH_AUTH_SOCK: process.env['SSH_AUTH_SOCK'],
            SSH_AGENT_PID: process.env['SSH_AGENT_PID'],
            SSH_ASKPASS: process.env['SSH_ASKPASS'] || '/usr/lib/ssh/x11-ssh-askpass'
        }));
    }

SSH_AUTH_SOCK выбирается из среды пользователя, если он установлен.

Теперь возможно следующее:

| ssh-агент | ключ ssh загружен в агент | результат |
|: ---: |: ---: |: ---: |
| ✔ | ✔ | ✔ |
| ✔ | ✘ | $ SSH_ASKPASS выполняется |
| ✘ | ✘ | ничего не происходит |

Итак, чтобы исправить проблему во 2-й строке, мы также можем установить SSH_ASKPASS из askpass.ts и это заставит VSCode запустить программу при запуске и запросить парольные фразы SSH-ключей.

Однако для последней строки нам нужно запустить ssh-agent из VSCode и установить правильные переменные.

Волонтеры?

Если кто-то захочет протестировать это, вы можете клонировать мою вилку (https://github.com/hashhar/vscode), переключиться на ветку git-ssh-key собрать и запустить. Пожалуйста, попробуйте проверить, что происходит со всеми комбинациями из приведенной выше таблицы. Чтобы шум здесь был минимальным, вы можете прокомментировать эту проблему .

@hashhar Весь process.env всегда передается Git при его создании :

https://github.com/Microsoft/vscode/blob/master/extensions/git/src/git.ts#L383

Разве эти переменные не передаются без вашего фрагмента?

@joaomoreno Хорошо. Если копнуть глубже, я обнаружу две проблемы.

  1. VSCode явно не использует переменную SSH_ASKPASS. Это жестко запрограммировано в '/ usr / lib / ssh-ssh-askpass'. По сути, единственная проблема заключается в том, что VSCode не помогает Git, сообщая ему, как запустить запрос для получения ключевой фразы пользователя ssh.

Большинство инструментов в Linux предоставляют программу с символической ссылкой на '/ usr / lib / ssh / ssh-askpass', но многие этого не делают. Так что, я думаю, люди сталкиваются с этой проблемой.

Я смог использовать VSCode с SSH, если ключ ssh уже был добавлен в связку ключей ssh-agent.

Думаю, я был глуп.

ДЕЛАТЬ:

  1. Расширьте vscode-askpass.ts и т.д. для ssh.
  2. Запустите ssh-agent, если он еще не запущен. Это просто проблема для удобства, иначе вам придется вводить кодовую фразу для каждой операции git.

Прошу прощения за неработоспособность.

Не волнуйтесь, это здорово, что вы прыгаете на этом! 👍

Я столкнулся с этой ошибкой некоторое время и подумал, что это я. Есть еще прогресс в этом вопросе?

+1

+1

+1

+1

Пожалуйста, остановите спам! Используйте кнопку подписки и кнопку реакции и не пишите такие бесполезные комментарии.

У меня тоже такая же проблема.

image

Как ни странно, для меня это работает в Git Bash, но не в Bash для Windows (где я получаю вышеупомянутую ошибку Permission denied (publickey) ):

$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code

Я могу проверить, что ключ SSH работает, отправив ssh напрямую на удаленный компьютер в обоих случаях; единственное различие, которое я вижу, заключается в том, что при запуске в Bash для Windows VSCode предупреждает, что он не может определить текущий рабочий каталог.

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

Я на MacOs

@DavidBabel Я использую обхожу проблему с помощью ключа ssh без ключевой фразы ...

@letsdevus Спасибо за помощь, но, к сожалению, это невозможно в профессиональном контексте

Я нашел единственный способ заставить это работать:

  1. Установить пакет PuTTY
  2. Установите plink как серверную часть Git SSH (с переменной окружения GIT_SSH )
  3. Добавьте в PuTTYgen свой ключ доступа
  4. Перед всеми операциями в командной строке используйте plink для подключения к службе, которую вы хотите использовать.

Это помогает.

Попадание в ту же проблему, и поскольку он продолжает повторять попытки постучать по производительности VSCode

Просто столкнулся с этой проблемой сам. К счастью, обходной путь (запуск кода из оболочки) у меня работает, но было бы неплохо, если бы проблема была исправлена.

Просто наткнулся на это тоже, раствор шпатлевки, кажется, помогает, но я бы предпочел вообще не использовать шпатлевку.

Я тоже занимаюсь этим вопросом. Я создал отдельную учетную запись для работы и имею свою. В последнее время я много работаю с рабочими файлами. Я могу дозвониться, но мне каждый раз приходится вводить кодовую фразу. Не убийца, но гораздо менее продуктивный.

Немного разочаровывает то, что попытка клонирования репозитория с использованием пользовательского интерфейса VSC не работает с использованием URL-адреса git в стиле ssh. Для записи я использую защищенный паролем ключ SSH, и я часто не использую агент SSH. Я нахожу дополнительный запрос пароля для разблокировки ключа несколько обнадеживающим, особенно при внесении изменений. :-) Это не так уж и много, потому что командная строка у меня отлично работает (для записи я запускаю код VS на macOS.)

@gdamore, значит, это действительно работает для вас, без агента ... Но мы говорим о Windows. 😝
В любом случае, как называется файл с ключом SSH? Это стандартный? Или VSCode достаточно хорош, чтобы найти нужный файл?

Как указано, я запускаю VScode в основном на macOS. Я понятия не имею, как это работает в Windows; Я не использую git commit из Windows, а вместо этого полагаюсь на общие файловые системы (мой экземпляр разработки Windows работает в качестве гостя в виртуальной машине на моем Mac).

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

сделать vscode бесполезным в качестве git ide в рабочем контексте

Я смог заставить его работать после этого сообщения в блоге:

http://www.cgranade.com/blog/2016/06/06/ssh-keys-in-vscode.html

Я смог заставить его работать после этого поста в stackoverflow:

https://stackoverflow.com/questions/34634364/to-use-git-push-on-visual-studio-code-but-show-could-not-read-from-remote-re

Та же проблема в OSX с ключами, защищенными парольной фразой.

Простое решение:

Добавьте переменную среды пользователя с именем GIT_SSH с путем к C:\Program Files\PuTTY\plink.exe (после настройки пути к закрытому ключу с помощью tortoise git )

Это нужно исправить, это не делает VS Code ежедневным редактором. : / Есть информация о ходе решения вопроса?

Хотелось бы, чтобы vscode получил учетные данные ssh из ssh-add .

Например, исходное дерево может определять доступные учетные данные (с помощью osxkeychain?) Без какой-либо дополнительной настройки.

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree commit -q -F /var/folders/_0/bvqq9l5d2ngg0stvkf53jrbr0000gn/T/SourceTreeTemp.ccbSGv 


git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags --set-upstream origin refs/heads/master:refs/heads/master 
Pushing to [email protected]:hanxue/gif-is-jif.git
To github.com:hanxue/gif-is-jif.git
   4eed265..762069a  master -> master
updating local tracking ref 'refs/remotes/origin/master'
Branch master set up to track remote branch master from origin.
Completed successfully

Я столкнулся с этой проблемой сегодня, я нахожусь в монетном дворе Linux. Я использовал брелок .

sudo apt install keychain

eval 'keychain --eval SSHKEY'
вот и все.

@ Silentz0r где вы запустили последнюю команду?

@ValentinH в вашей оболочке, прочтите пример по ссылке.

Ребята, вот только и ждем отважного кодера для пиара!

В OSX я исправляю это благодаря https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain :

В ~/.ssh создайте файл config со следующим содержимым:

Host * (asterisk for all hosts or add specific host)
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile <key> (e.g. ~/.ssh/userKey)

@joaomoreno
Не уверен, насколько я «храбрый», но я немного фанат SSH.
Буду работать над пиаром на декабрь.

Все неравнодушные граждане ...

После быстрого теста настройки кажется, что конфигурация Windows 7 довольно проста (см. GIT_SSH и другие комментарии). Я считаю, что комментарии о том, что OS X с использованием связки ключей, одинаково просты.
Настройка - это в основном проблема внешней конфигурации. VSC не требует никаких изменений конфигурации или функций для использования SSH, git вызывает SSH-клиент. Извините, если я упустил что-то очевидное.

Помимо мастера настройки, я пытаюсь определить, что действительно было бы полезно добавить в код.
В одном из комментариев упоминается использование более чем одного ключа, что может потребовать изменения переменной среды предположительно в зависимости от конфигурации workSpace. Даже этим может заниматься агент. Я не думаю, что имеет смысл делать что-то вроде добавления ssh в код, поскольку git позаботится об этом напрямую.

Что касается управления учетными данными: это действительно хочет обрабатывать безопасный агент, такой как
пагент / брелок и так далее.

Комментарии?

«VSC не требует каких-либо изменений конфигурации или функций для использования SSH, git вызывает SSH-клиент. Извините, если я упустил что-то очевидное».

(В Windows)

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

С другой стороны, если я открою Eclipse и подключусь к репозиторию Git, он запросит у меня кодовую фразу для моих ключей.

Ожидается
При новой установке VSCode в системе без установленного другого программного обеспечения должно появиться окно сообщения с запросом моей парольной фразы, а затем использовать его для расшифровки моих ключей и использования их для подключения к удаленному репозиторию.

@cleidigh SourceTree работает автоматически без следования инструкциям @ItachiSan , тогда как Code требует такой настройки. Возможно, мы могли бы делать то, что они делают.

@andrewducker
@BeginnerForLife
Я немного заглянул в Eclipse и дерево исходных текстов. К сожалению, в настоящее время я не могу установить ни один из них в своей системе, поэтому мои знания и опыт ограничены Google ;-) Имейте это в виду, если я что-то упускаю. Вот основной синопсис / разница:

Eclipse: подключаемый модуль EGit: содержит клиент git Java, клиент ssh кажется внутренним, требуется импорт ключа, если ключ существует

SourceTree: графический клиент получения, требуется внешний клиент ssh (на скриншоте ниже предполагается, что plink в Windows) @BeginnerForLife Я думаю, что эта настройка не так уж далека от текущих требований.

image

VSC: требуется внешний git / ssh

@andrewducker, ваше описание отслеживает мой комментарий, если только Код не реализует как git, так и SSH (включая генерацию ключей и управление ими), я не уверен, что между ними есть что-то @joaomoreno может говорить об этом.
С практической точки зрения хочу отметить следующее:

  • "Легко готовый" интерфейс git больше соответствует использованию встроенного HTTPS, по-прежнему требует внешнего git
  • Для тех рабочих ситуаций, когда требуется SSH, я бы сказал, что очень вероятно есть политика и ssh
    инструменты уже действуют, это то, что я испытал в различных корпорациях, в которых работал.
  • Предполагая, что кто-то согласен с вышеизложенным, подключение к внешним инструментам будет более вероятным сценарием, чем
    настройка ssh / git с нуля или автономно.
  • Чтобы быть ясным, я никоим образом не хочу подразумевать, что ssh бесполезен и / или не требуется, я просто говорю, что VSC действительно работает и работает довольно легко, указывая git на локальный клиент SSH.
  • Я думаю, что этого можно было бы достичь с помощью расширения

Повторяясь, без использования git / ssh внутри кода, мне еще предстоит определить меньший вариант. Я абсолютно готов поработать над этим, но это должно соответствовать целям команды и, в частности, получать благословение от @joaomoreno .

@cleidigh Я не понимаю, каков план.

@joaomoreno
Я надеялся получить больше ответов от других сторон, но мне нужно ваше мнение / предпочтения по поводу возможных планов.
Чтобы быть ясным, Code, похоже, отлично работает для доступа к закрытому ключу SSH через git с небольшой внешней конфигурацией. Некоторые из них предлагают более тесную интеграцию и улучшенный опыт использования личных средств.

Некоторые возможные подходы:

1- Внедрить git / ssh set up helper / Wizard - найти ssh, установить GIT_SSH - внутреннее добавление
2- То же, что и 1, реализовано как расширение
3- Расширить выше, чтобы координировать загрузку SSH / git для начальной настройки
4- Внедрение клиента / инструментов SSH - внутреннее дополнение
5- То же, что и 4, реализовано как расширение
6- Внедрить git / SS H внутри - аналогично eclipse / egit

Я думаю, что номера 1 достаточно (может быть, 3), несмотря на то, что он не реализует все, о чем люди говорят. Варианты 4-6 кажутся слишком большими усилиями и большим изменением ключевых компонентов.

Предпочтения @joaomoreno / all?

Было бы неплохо попробовать использовать VS Code с Git в Windows и определить болевые точки. Для меня главная проблема - аутентификация.

Вариант 1 определенно мой любимый.

@BeginnerForLife
Если бы у нас было обнаружение и настройка помощника / ssh, это поможет?
Я настроил ssh для git для Windows, помимо установки клиента (он у меня уже был), я только что установил GIT_SSH
также добавлен отпечаток ключа с агентом.

Сосредоточение внимания на первом варианте согласно предпочтению

  • Определить рабочее пространство с репозиторием с помощью ssh, запустить помощник
  • Предоставьте команду для запуска помощника в любое время
  • Найдите установленный SSH, проверьте, установлена ​​ли переменная среды
  • Предупредить пользователя, если SSH не найден, предложить / указать подходящих клиентов
  • предложение установить переменную окружения
  • запросить у пользователя закрытый ключ и добавить отпечаток пальца агенту

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

Дополнительные отзывы приветствуются.

Да, я думаю, что эти пункты должны покрыть это. Последний, в частности (подскажите пользователю ...), должен решить многие проблемы.

@BeginnerForLife
Благодарю. Я собираюсь начать с этого подхода и, надеюсь, другие присоединятся к любому другому вкладу.
Я думаю, что опубликую указатель на свой репозиторий, прежде чем делать PR, чтобы узнать, что думают люди. Проверьте здесь
чтобы отслеживать свой прогресс.

Я согласен, что (1) - лучший подход. И это в основном то, что я делаю сейчас - запускаю ssh-agent, если он еще не запущен, и устанавливаю переменные среды, затем запускаю VS-Code из этой командной строки, чтобы он подбирал переменные среды.

Если VS Code может проверить, что SSH-агент еще не запущен, а затем запустить его при необходимости, это было бы здорово.

Для всего этого я использую модуль PowerShell Git, но он использует логику из:
https://help.github.com/articles/working-with-ssh-key-passphrases/
Надеюсь, это сработает с точки зрения узла (хотя, вероятно, вам нужно будет проверить, работает ли он на всех ОС).

@andrewducker cc: все

Обновление: мне пришлось вернуться к предыдущему PR, но я действительно добился большого прогресса в этом:

  • Помимо простых вещей, таких как проверка / установка GIT_SSH, проверка клиента git, ключевого агента
  • Также обнаружено, что похоже, что ключевые агенты Windows позволяют добавлять ключи после запуска.
  • Я думаю, мы можем установить новые ключи в разделе «Код», запустив ключевой агент, который сам запросит кодовую фразу.
  • Следующий эксперимент: смогу ли я обнаружить неудачный вход по SSH

Должен быть в состоянии вернуться к этому через день или около того.

То же самое и в macOS High Sierra с закрытым ключом по умолчанию, защищенным парольной фразой. Парольная фраза сохраняется в связке ключей ОС во время сеанса входа в систему. Когда я перезагружаю свой Mac, мне нужно повторно ввести его до первого git pull / git push для некоторой дополнительной безопасности, и с тех пор кодовая фраза больше не запрашивается, пока я не выйду из системы. Вот как ведет себя терминал, когда я впервые взаимодействую с удаленным репо:

$ cd /path/to/repo
$ git pull
Enter passphrase for key '/Users/me/.ssh/id_rsa':
[me typing passphrase and pressing enter]
Updating 3e97c76..65a959c

Однако, когда VSCode пытается что-то вытащить после перезагрузки, появляется эта ошибка:

screen shot 2018-02-12 at 11 05 09

Обходной путь - открыть терминал, перейти к репо и ввести git pull . Не беда, но можно улучшить.

__UPD: __ Интересно, что когда дело доходит до запроса ключевой фразы GPG для подписи новых коммитов, VSCode работает быстро и показывает всплывающее окно с полем ввода.

Какой статус по этому поводу?

В настоящее время отображается ошибка Git: [email protected]: Permission denied (publickey). .

Пользователи, которые создали пару ключей в ~\.ssh могут пройти аутентификацию через командную строку, введя парольную фразу для пары ключей, но не из VS Code.

@cleidigh удачи?
Кто-нибудь знает, как мы можем перехватить событие запроса пароля? Я полагаю, что после того, как меня перехватят, у меня появится шанс сделать то, что делает атом, и предоставить текстовое поле для использования. Но я потерялся для идей.

У меня были всевозможные проблемы с учетными данными, пока я не понял, что проблема не в VSCode, а в среде. Если вы правильно настроили ssh, git и т. Д., У вас не будет никаких проблем, это верно как для Linux, так и для Windows. А если что-то пойдет не так, всегда можно форсировать через терминал.

Мне не нужно настраивать среду для других IDE.
Например, в Eclipse я могу запустить его напрямую, и когда ему понадобится доступ к удаленному репозиторию git, он попросит у меня пароль для расшифровки моих ключей SSH.
Visual Studio Code должен делать то же самое.

Все: Обновить
Хотя я добился в этом значительного прогресса, мне пришлось отложить его по нескольким причинам, поэтому с января я не добился большого прогресса. прости за это. Я надеюсь, что это начнется в мае.

Кому @ john681611 @andrewducker

Как описано ранее в потоке, одна фундаментальная проблема, которая не может быть реализована "чисто"
это подсказка или любой тип управления ключами. Это потому, что код полагается на внешний GIT и
GIT полагается на системы SSH. Без внутренней реализации этого кода (например, eclipse) у нас будут ограниченные возможности взаимодействия с этими внешними компонентами.

Мой текущий прототип может делать следующее:

  • проверьте, использует ли какой-либо репозиторий SSH, если так запустил мастер настройки для ниже:
  • проверьте и запросите переменную среды GIT_SSH
  • проверить SSH-клиент
  • если возможно, принудительно ввести пароль от клиента (WIP). Обратите внимание, что этот запрос не является кодом клиента.

Я согласился, что для @andrewducker было бы неплохо ответить как Eclipse, но это означало бы, что команде придется реализовать значительную часть функциональности, о которой уже позаботились.

Примечание. Другой подход может заключаться в том, чтобы заставить официальный клиент GIT обрабатывать больше параметров безопасности, которые мы могли бы использовать для управления SSH. Это позволит сохранить текущую архитектуру такой же

Все / Обновить

Я работал над последней и самой важной частью прототипа: прокладкой askpass, позволяющей Code предоставлять подсказку графического интерфейса пользователя с кодовой фразой. В настоящее время я считаю, что это возможно, и в сочетании с соответствующим ssh-агентом платформы учетные данные будут храниться в обычном порядке.

Моя проблема в том, что я не могу заставить SSH или GIT соблюдать SSH_ASKPASS, GIT_ASKPASS или core.askpass в GIT Bash или CMD в Windows. подсказка терминала - единственное, что отображается. В качестве самого основного теста я установил один или все из них на встроенный git-gui - askpass, но это тоже не работает, несмотря на то, что программа была исполняемой, если тестировать из командной строки.

Кто-нибудь использовал эти методы для изменения записи парольной фразы в Windows или в любых других соответствующих сценариях?

Sourcetree также просто открывает терминал. Это не так уж плохо.

Чтобы добавить к решению @ValentinH в macOS 10.12 Sierra и более поздних версиях, просто директива UseKeychain устраняет проблему на моем компьютере (macOS 10.13.5 High Sierra Developer Beta, 17F70a). Директива AddKeysToAgent не является необходимой. У меня работает такая конфигурация:

Host github.com
  HostName github.com
  IdentityFile /path/to/your/ssh/private/key
  UseKeychain yes

Какой статус по этому поводу?

«14581: VS Code требует, чтобы ssh-ключи git назывались id_rsa», было закрыто как дубликат этой проблемы. Не уверен, что вижу, что это дубликат - «Поддержка git с паролем закрытого ключа». Это кажутся отдельными проблемами.

РЕДАКТИРОВАТЬ: это было исправление только для единственного экземпляра терминала, который я запускал; даже открытие нового терминала в том же сеансе кода снова привело к ошибке открытого ключа

Похоже, мой ssh-агент либо умер в какой-то момент, либо забыл мой ключ, отличный от id_rsa, который я использую для git. Итак, я просто побежал:

eval "$(ssh-agent -s)"
ssh-add path/to/my/github/ssh/private/key

и все вернулось в норму. Это последовательность команд, которые GitHub говорит вам запускать при настройке нового ключа SSH в любом случае.

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

@cleidigh @joaomoreno, возможно, это не ошибка, а неправильная настройка ключей ssh, особенно в macOS. Sierra радикально изменила способ хранения ключей в сеансе

Я просто решаю это, когда я регенерирую новый sshkey без парольной фразы. Я предполагаю, что, возможно, vscode не может открыть оболочку, чтобы ввести кодовую фразу u.

Просто нужно было добавить мой ключ в связку ключей Mac с помощью ssh-add -K ~/.ssh/id_rsa ; замените id_rsa своим ключом, если вы не используете ключ по умолчанию.

Обходной путь для Windows 10:

  1. Заставьте Git использовать OpenSSH, который поставляется с Windows, вместо того, который поставляется с Git.
    git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe"
  2. Настройте автоматический запуск службы ssh-agent (не той, что поставляется с git).
    Откройте диспетчер задач, вкладку «Службы», нажмите «Открыть службы».
    Найдите агент аутентификации OpenSSH, откройте свойства, установите для параметра Тип запуска значение Автоматический, нажмите ОК.
    Также запустите службу или перезагрузите компьютер.
  3. Добавьте в агент свой защищенный паролем ключ.
    ssh-add
    Он должен автоматически получать ключи, хранящиеся в C: \ Users \% USERNAME% \. Ssh, где ssh-keygen создает их.
    Введите свой пароль (и) в ответ на приглашение.

Примечание. Если при установке Git для Windows вы выбрали вариант добавления команд bash в PATH, команда ssh-add может указывать на неправильный исполняемый файл. Если это так, вы можете вручную запустить включенный, чтобы ваш ключ был добавлен в агент:
C:\Windows\System32\OpenSSH\ssh-add.exe

Теперь встроенный агент аутентификации OpenSSH будет запускаться при запуске с разблокированным ключом, защищенным паролем, и Git будет использовать Windows OpenSSH вместо своего собственного. Таким образом, нет необходимости вводить пароль каждый раз, не нужно вручную запускать агент ssh и не нужно запускать VS Code из командной строки.

Как и заметила ЛиннСкарлетт, нет возможности ввести парольную фразу для ключа, а использование связки ключей небезопасно, поэтому добавит ли VSC поддержку этой базовой функции?

Я не понимаю, насколько опасна связка ключей. Более того, популярные IDE позволяют вводить пароль, поэтому VSC вполне может поддерживать оба метода входа.

Я имел в виду ssh-agent, я могу спутать две вещи, я не уверен :)

Ssh-agent «небезопасен» только в том смысле, что загружает ключ за сеанс. У вас есть другие проблемы, если у вас взломанный компьютер

Это более подробно объясняет небезопасность использования ssh-agent:
http://rabexc.org/posts/pitfalls-of-ssh-agents
Ура!

Все это сводится к следующему: не доверяйте свою машину кому-то еще, у кого есть root-доступ - чего вы в любом случае делать не должны. Итак, еще раз: если ssh-agent скомпрометирован из-за подробностей в этой статье, у вас большие проблемы.

Решение @whatsyourgithub сработало для меня. Но думаю, это не лучшее решение.

Версия кода VS: Код 1.27.2 (f46c4c4, 2018-09-12T16: 17: 45.060Z)
Версия ОС: Windows_NT x64 10.0.17134
git версия 2.19.0.windows.1

Все еще не работает.

Прошло два года, а это все еще не исправлено. Та же проблема относится к Atom, так что я думаю, это не то, что легко добавить? Все, что мне действительно нужно, это нажать (с парольной фразой) в раскрывающемся списке Дополнительные действия ... git на панели управления исходным кодом.

Я счастлив вводить кодовую фразу при каждом нажатии, я просто не хочу, чтобы мне приходилось переходить в командную строку и вводить необработанные команды git.

Прошло два года, а это все еще не исправлено. Та же проблема относится к Atom, так что я думаю, это не то, что легко добавить? Все, что мне действительно нужно, это нажать (с парольной фразой) в раскрывающемся списке Дополнительные действия ... git на панели управления исходным кодом.

Я счастлив вводить кодовую фразу при каждом нажатии, я просто не хочу, чтобы мне приходилось переходить в командную строку и вводить необработанные команды git.

Попробуйте клонировать репо с помощью https вместо ssh. Это заставляет VS Code запрашивать имя пользователя и пароль для меня.

Я только что пришел из Atom, чтобы проверить Github Pull Request в VS Code, и первая мысль -

Убедитесь, что у вас есть правильные права доступа
и репозиторий существует.

git show: index.html
git pull --tags origin master
git show: index.html
[email protected] : в
фатальный: не удалось прочитать из удаленного репозитория.
Убедитесь, что у вас есть правильные права доступа
и репозиторий существует.

поэтому я не буду использовать параметр только с ключом ssh, не вводя пароль.
Так что позже я вернусь к VS-коду и расширению Github Pull Request.
Мне нравится то, что сделано сообществом до сих пор, и я с нетерпением жду возможности использовать это в будущем с моими предпочтениями в области безопасности.

Попробуйте клонировать репо с помощью https вместо ssh. Это заставляет VS Code запрашивать имя пользователя и пароль для меня.

Спасибо, у меня тоже работает. И если вы установите Git для диспетчера учетных данных Windows и введите следующую команду в оболочку git bash в коде VS:
git config --global credential.helper manager
Затем синхронизация и вытягивание работают без повторного ввода идентификатора пользователя и пароля Gitlab.

Было бы неплохо, если бы можно было сделать то же самое для SSH, учитывая, что путь репо Gitlab по умолчанию.

@whatsyourgithub , хотел бы использовать ваше решение (выглядит лучше, чем примитивный и ошибочный "запускать VSC через командную строку"), но я получаю сообщение об ошибке VSC:
Git: нет такой идентичности: /C/Users/myuser/.ssh/myrsaKey_rsa
Хотя файл есть.
И еще кое-что ... при попытке C: \ Windows \ System32 \ OpenSSHssh-add.exe я также получаю сообщение Нет такого файла или каталога.
Я использую PowerShell VSCode для ввода этих команд
Есть идеи?

Я перешел на https, а не на SSH. Это единственный способ заставить его играть хорошо. Интересно, что Github на самом деле рекомендует использовать https, а не SSH.

@whatsyourgithub , хотел бы использовать ваше решение (выглядит лучше, чем примитивный и ошибочный "запускать VSC через командную строку"), но я получаю сообщение об ошибке VSC:
Git: нет такой идентичности: /C/Users/myuser/.ssh/myrsaKey_rsa
Хотя файл есть.
И еще кое-что ... при попытке C: \ Windows \ System32 \ OpenSSHssh-add.exe я также получаю сообщение Нет такого файла или каталога.
Я использую PowerShell VSCode для ввода этих команд
Есть идеи?

Я бы сначала попробовал открыть Powershell вне VS Code, хотя это не имеет значения.

Предполагается, что OpenSSH будет установлен с последними версиями Windows 10. Попробуйте выполнить обновление.
Если это не сработает, попробуйте перейти в «Настройки»> «Приложения»> «Приложения и функции»> «Управление дополнительными функциями»> «Добавить функцию» и найдите OpenSSH.

@whatsyourgithub , хотел бы использовать ваше решение (выглядит лучше, чем примитивный и ошибочный "запускать VSC через командную строку"), но я получаю сообщение об ошибке VSC:
Git: нет такой идентичности: /C/Users/myuser/.ssh/myrsaKey_rsa
Хотя файл есть.
И еще кое-что ... при попытке C: \ Windows \ System32 \ OpenSSHssh-add.exe я также получаю сообщение Нет такого файла или каталога.
Я использую PowerShell VSCode для ввода этих команд
Есть идеи?

Я бы сначала попробовал открыть Powershell вне VS Code, хотя это не имеет значения.

Предполагается, что OpenSSH будет установлен с последними версиями Windows 10. Попробуйте выполнить обновление.
Если это не сработает, попробуйте перейти в «Настройки»> «Приложения»> «Приложения и функции»> «Управление дополнительными функциями»> «Добавить функцию» и найдите OpenSSH.

Привет.
Спасибо за ответ.
OpenSSH (клиент) уже установлен.
Я повторил процедуру, используя автономную оболочку PowerShell, но все еще получаю сообщение об ошибке
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
Связано ли это с владением RSAPRIVKEY_rsa? Я не выдавал ключ с помощью powershell, а скопировал его из другого места (во всяком случае, он работает с деревом исходного кода или с графическим интерфейсом Git)

@whatsyourgithub , хотел бы использовать ваше решение (выглядит лучше, чем примитивный и ошибочный "запускать VSC через командную строку"), но я получаю сообщение об ошибке VSC:
Git: нет такой идентичности: /C/Users/myuser/.ssh/myrsaKey_rsa
Хотя файл есть.
И еще кое-что ... при попытке C: \ Windows \ System32 \ OpenSSHssh-add.exe я также получаю сообщение Нет такого файла или каталога.
Я использую PowerShell VSCode для ввода этих команд
Есть идеи?

Я бы сначала попробовал открыть Powershell вне VS Code, хотя это не имеет значения.
Предполагается, что OpenSSH будет установлен с последними версиями Windows 10. Попробуйте выполнить обновление.
Если это не сработает, попробуйте перейти в «Настройки»> «Приложения»> «Приложения и функции»> «Управление дополнительными функциями»> «Добавить функцию» и найдите OpenSSH.

Привет.
Спасибо за ответ.
OpenSSH (клиент) уже установлен.
Я повторил процедуру, используя автономную оболочку PowerShell, но все еще получаю сообщение об ошибке
no such identity: /C/Users/<user>/.ssh/RSAPRIVKEY_rsa: No such file or directory
Связано ли это с владением RSAPRIVKEY_rsa? Я не выдавал ключ с помощью powershell, а скопировал его из другого места (во всяком случае, он работает с деревом исходного кода или с графическим интерфейсом Git)

ХОРОШО. Решил .. В файле ./ssh/config у меня был путь к ключу ssh s C: \ Users \.ssh \ RSAKEY_rsa и изменил его на ~ / .ssh / RSAKEY_rsa
Дальше оставалось зарегистрировать ключ и все.
благодаря

@whatsyourgithub , извините, что снова
Он может выполнить git fetch с консоли PS, но когда он нажимает или синхронизирует с помощью gitacora (плагин для автоматической синхронизации, который я также использую без каких-либо проблем), он получает следующее сообщение об ошибке:
Permission denied (publickey).
Мы знаем, что ключ был добавлен OpenSSH, потому что C:\Windows\System32\OpenSSH\ssh-add.exe -L извлекает его открытый ключ и потому что, если мы используем команду git fetch из PS, она работает.
Есть идеи, как помочь ему диагностировать / исправить?

@whatsyourgithub , извините, что снова
Он может выполнить git fetch с консоли PS, но когда он нажимает или синхронизирует с помощью gitacora (плагин для автоматической синхронизации, который я также использую без каких-либо проблем), он получает следующее сообщение об ошибке:
Permission denied (publickey).
Мы знаем, что ключ был добавлен OpenSSH, потому что C:\Windows\System32\OpenSSH\ssh-add.exe -L извлекает его открытый ключ и потому что, если мы используем команду git fetch из PS, она работает.
Есть идеи, как помочь ему диагностировать / исправить?

Похоже, что его ключ не связан с его учетной записью на github или его учетная запись на github не добавлена ​​в качестве соавтора в репо.

Похоже, что его ключ не связан с его учетной записью на github или его учетная запись на github не добавлена ​​в качестве соавтора в репо.

Я управляю сервером bitbucket и добавил туда его ключ pub (и на самом деле он имеет доступ к выборке и отправке, когда он использует командную строку через PowerShell).
Или это то, что я не уловил из вашего ответа?

Просто нужно было добавить мой ключ в связку ключей Mac с помощью ssh-add -K ~/.ssh/id_rsa ; замените id_rsa своим ключом, если вы не используете ключ по умолчанию.

macOS High Sierra против кода
[email protected] : в
фатальный: не удалось прочитать из удаленного репозитория.

Пометить это, потому что это устранило проблему с интегрированным git, не работающим в vscode, хотя он отлично работал из командной строки.

@whatsyourgithub Кажется, работает через git config --global core.sshCommand "C:/Windows/System32/OpenSSH/ssh.exe" после создания нового id_rsa.

  1. Но у ключа есть пароль, когда я нажимаю, не появляется диалоговое окно с запросом, позволяющее мне ввести свой пароль.
  2. Если я использую ключ, для которого на моем компьютере был выход через ssh-add .ssh\id_rsa , возникает ошибка. Почему я не могу добавить ключ? Я хочу использовать тот же ключ, что и раньше.
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
Permissions for 'D:/ablob/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:/ablob/.ssh/id_rsa": bad permissions
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ОС: Windows 10
VSC: 1,28

Любые обновления?

Есть ли планы справиться с этим в ближайшем будущем?

Согласно документации VS Code (https://code.visualstudio.com/docs/editor/versioncontrol):

Могу ли я использовать аутентификацию SSH Git с VS Code?
Да, хотя VS Code легче всего работает с ключами SSH без парольной фразы. Если у вас есть SSH-ключ с парольной фразой, вам нужно запустить VS Code из приглашения Git Bash, чтобы унаследовать его среду SSH.

Эта страница датирована 12.12.2018.

Поэтому я просто сгенерировал новые ключи ssh без парольной фразы (оставив его пустым при появлении запроса и перезаписав предыдущие), добавил их в свою учетную запись на GH, а также добавил идентификатор ssh-agent, запустив ssh-add.exe ~\.ssh\id_rsa . Теперь все работает.

Если другие могут подтвердить это, я бы предложил закрыть эту тему, поскольку в официальной документации VS Code уже явно указано, что она будет работать только с паролями, запустив VS Code из git-bash.

Если другие могут подтвердить это, я бы предложил закрыть эту тему, поскольку в официальной документации VS Code уже явно указано, что она будет работать только с паролями, запустив VS Code из git-bash.

Что ж, в документации написано «проще всего», но это не значит, что он вообще не будет работать, если ключи содержат парольные фразы, а предложение запустить VS Code из приглашения Git Bash требуется только для тех, кто использует Git-for-Windows ' Агент SSH для управления своими ключами.

Я действительно могу подтвердить, что использую Windows SSH-агент (не тот, который поставляется с Git для Windows), загружаю в него свой (защищенный паролем) SSH-ключ, а затем запускаю VS Code в обычном режиме (не из какой-либо конкретной командной строки) и Я могу успешно использовать git push / pull для репозиториев, требующих моего ключа.

Я подтверждаю, что при открытии кода VS через git bash будет запрашиваться ключ ssh, а в коде VS будут запрашиваться парольные фразы ssh в терминале.

У меня была аналогичная проблема с VSCode в Windows 10, который не нажимал / не извлекал из _ ssh: // repo_, пока это было возможно в терминале.

Я использую CMDer с git-for-windows, а VSCode был настроен с git.path, указывающим на эти двоичные файлы. У меня также есть файл конфигурации ssh в каталоге _% USERPROFILE% \. Ssh_ со всеми необходимыми параметрами и файлом идентификатора, установленным в файл открытого ключа. KeePass с KeeAgent раздают ключи.

Ранее упомянутая процедура для первого запуска терминала (CMDer), а затем запуска кода из него работает нормально, но мне это не понравилось. Итак, я попробовал (успешно) другой подход:
В каталоге git.exe я создал файл cmd:

<strong i="10">@echo</strong> off
set SSH_AUTH_SOCK=/path/to/my/sock.file
%~dp0git.exe %1 %2 %3 %4 %5 %6 %7 %8 %9

(Путь SSH_AUTH_SOCK должен иметь косую черту) и указал на него параметр git.path в коде.

Теперь код запускается, кажется, он читает файл _ ~ / .ssh / config_ без каких-либо дополнительных "взломов" и может использовать агент.

Редактировать:
Думаю, глобальная установка переменной окружения SSH_AUTH_SOCK тоже поможет - со стоимостью ключей, доступных каждому приложению ...

"you'll need to launch VS Code from a Git Bash prompt to inherit its SSH environment."

Одна из самых посредственных вещей, которые я слышал от Microsoft; Мне не нужно запускать VS Code из определенной командной строки, чтобы ssh работал; возможно, попытайтесь реализовать правильное решение.

отставание? действительно?

Из-за этого я переключился на powershell и posh-git, которые работают достаточно хорошо. Чтобы ssh-agent работал без проблем, мне пришлось добавить следующее в $profile.CurrentUserAllHosts (по умолчанию C:\Users\USERNAME\Documents\WindowsPowerShell\profile.ps1 ).

Import-Module posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Set-Alias ssh "$env:ProgramFiles\git\usr\bin\ssh.exe"
Start-SshAgent -Quiet

Если другие могут подтвердить это, я бы предложил закрыть эту тему, поскольку в официальной документации VS Code уже явно указано, что она будет работать только с паролями, запустив VS Code из git-bash.

Я должен не согласиться с этим: эта проблема связана с отсутствием надлежащей поддержки парольной фразы SSH в VS Code, и документированный обходной путь - это просто обходной путь. У ленивого пользователя уже слишком много соблазнов пропустить надежную защиту парольной фразы, поэтому любой современный инструмент должен упростить задачу Do The Right Thing.

Основываясь на том, что другие предлагали выше, я только что создал файл сценария bash (т.е. projectName.sh ) и написал в нем следующее:
"location/to/Code.exe" "location/to/project"

Теперь все, что мне нужно сделать, это дважды щелкнуть файл, чтобы открыть VSCode и работать с сертификатом с парольной фразой.

Кстати: на случай, если это поможет другим столкнуться с этой проблемой, мне также пришлось: git config --global http.sslBackend schannel как описано здесь .

Я озадачен тем, что по прошествии двух долгих лет такая простая вещь, как «работа с git с использованием ssh с использованием ключа, ИМЕЕТ парольную фразу», не была решена без использования уродливых обходных путей. VSCode - отличный редактор IMHO, но эта «фича» действительно нужна. Пожалуйста, расставьте приоритеты

Вот старый пост, который я бросил в stackoverflow, который может быть полезен; один из вариантов - использовать диспетчер учетных данных Windows: https://stackoverflow.com/questions/35110079/git-bash-pageant-not-using-keys/43313491#43313491

Я предполагаю, что вопрос в том, должен ли VSCode отвечать за обработку учетных данных SSH / HTTPS в качестве менеджера хранилища ключей. Кажется, что это должно обрабатываться ОС, сторонней программой или правильной конфигурацией git, которая сочетается с первыми двумя пунктами.

Как бы мне ни нравился звук этой функции, уже кажется, что Unix и Windows должны иметь способы решения этой проблемы без добавления ее в VSCode.

Не уверен, что что-то здесь в этих статьях github помогает: https://help.github.com/articles/connecting-to-github-with-ssh/
В конечном итоге звучит так, как будто они говорят вам использовать bash для Windows / другую альтернативу bash для Windows, которая затем возвращает людей к той же проблеме с помощью хакерского обходного пути: \

@ctsstc Да, я установил Git Credentials Manager для Windows, но по какой-то причине он не работает. Я знаю, что это может не быть обязанностью VSCode. Например, в Android Studio и IDE на основе IDEA они заботятся только о вызове двоичного файла git, и единственная интеграция, которая у них есть, - это когда для операции требуется кодовая фраза, IDE сохраняет ее надежно и передает ее Git - возможно, это хороший подход. Может, это единственное, чего им не хватает?

@ctsstc Категорически не согласен, вы не можете реализовать пользовательский интерфейс для программы CLI - в данном случае имея в виду GIT - и затем заявлять, что когда программе требуется ввод, это больше не ваша проблема ; если вы не хотите, чтобы люди полагались на VC при использовании git, тогда вы не должны интегрировать git с самого начала, не стоит наполовину использовать программное обеспечение, особенно если оно должно поддерживаться Microsoft, и особенно не наполовину -ass многолетние передовые практики безопасности, такие как ключи SSH с паролями.

Думаю, важным моментом здесь является то, что Atom запоминает парольные фразы SSH для репозиториев git. Конечно, vscode может делать то же самое, поскольку они оба основаны на одном движке редактирования?

Я предполагаю, что вопрос в том, должен ли VSCode отвечать за обработку учетных данных SSH / HTTPS в качестве менеджера хранилища ключей.

Я не верю, что это должно быть, но я также не верю, что это то, о чем здесь просят. Как отметил @Ivanca , VSC решила представить пользовательский интерфейс поверх git, поэтому вопрос в том, сколько функциональности git должно быть доступно через этот пользовательский интерфейс. Я бы не ожидал, что каждая неясная операция git будет доступна через VSC, но pull / push имеют фундаментальное значение - я не думаю, что VSC может утверждать, что полностью поддерживает их, не предоставляя связующего элемента пользовательского интерфейса для основной задачи парольной фразы.

Таким образом, ожидаемый результат - запрос пароля. Я думаю, что это разумный вопрос / особенность.

Вместо того, чтобы показывать:

Permission denied, please try again.
Permission denied (publickey,password).

Мне кажется, что я недавно видел эту функцию на Mac, пару дней назад, но, возможно, она не реализована в Windows, или, возможно, она запрашивала мой системный пароль для доступа к системному хранилищу ключей.

Изменить, просто попробовал это на Mac:

image

Таким образом, похоже, что это поддерживается на Mac, но не в Windows (я предполагаю, что эта проблема все еще существует), поэтому функция должна иметь паритет между двумя ОС.

Есть обновления по этому поводу? Прошло 2 года с тех пор, как сообщалось об этой проблеме, и все еще не удается заставить VSCode работать с Git SSH:
image

Кто-нибудь пробовал что-то из этого в Windows?

@ctsstc Я могу подтвердить, что он работает на Mac на вкладке терминала. Чего не хватает, так это запроса ключевой фразы при использовании функций извлечения / извлечения из графического интерфейса. Он просто игнорирует тот факт, что у вас есть кодовая фраза на вашем ключе, и отправляет пароль null / nil, что приводит к сбою операции git.

Я твердо считаю, что с этим следует бороться, независимо от того, решит ли VSC кэшировать учетные данные парольной фразы. Не терпите неудач, когда на ключе rsa есть кодовая фраза, запросите ключ.

когда это произойдет?

Это будет исправлено? Та же проблема в окнах

Не выглядит обнадеживающим. Я сдался и перешел с SSH на https.

Мой текущий обходной путь: у меня обычно есть терминал, открытый в VSCode (использующий его для взаимодействия с npm и т.д.), поэтому я просто делаю свой git push оттуда. Это не то, как это _должно_ работать, но, по крайней мере, запрашивает мой пароль.

В macOS я добавил это в свой ~/.ssh/config в самом конце (что важно, не помещайте ничего ниже):

Host *
   AddKeysToAgent yes
   UseKeychain yes 

Затем я сделал git pull чтобы macOS запросила мой пароль ssh. После этого macOS больше никогда не запрашивает у меня пароль, поэтому контроль версий VSCode работает должным образом.

Надеюсь, это кому-то поможет.
Ура!

Другие обходные пути:

  • Используйте plink из putty вместо ssh как git ssh commad, затем используйте pageant для загрузки ключей
  • Используйте git через http / https вместо git через ssh

Кто-нибудь пробовал что-то из этого в Windows?

https://github.com/PowerShell/openssh-portable

Я использую win32-openssh, как указано выше, путем нажатия git из терминала. Отсутствие распознаваемых путей ssh: // - это проблема, о которой я уже упоминал и которая связана с этим. Мой основной вариант использования - это расширение sshfs, с которым не работают git и другие расширения, такие как python, потому что они не знают, как интерпретировать ssh: //

Есть ли план поддержать это?

Это все еще проблема. Обходные пути подходят не всем; например, к моей машине могут (потенциально) получить доступ другие пользователи, поэтому я не буду разблокировать свой ключ. В моем случае git в командной строке просто запрашивает пароль, я бы сказал, что VS Code должен делать то же самое во всплывающем окне.

На самом деле в некотором роде шокирован, что это не функция через 2 года, но все еще гадаю, почему это не было принято и не было приоритетным.

В настоящее время используется версия VSC 1.34.0
qwe
и проблема не решена.

Эта проблема все еще существует здесь, в Windows 10. Я избавился от Putty теперь, когда OpenSSH включен в Windows 10, но VS Code, похоже, его не уважает? Мне приходится вручную нажимать и тянуть через терминал в VSCode, который отлично работает, но мне понравилось, что я могу просто нажать кнопку для синхронизации.

@ arcs - это вряд ли будет исправлено, учитывая, что git не предоставляет способ взаимодействия с дочерним процессом SSH-ключа. Если к вашему устройству есть доступ посторонним, заблокируйте его, когда вы находитесь вне рабочего стола. В противном случае вы можете запустить ssh-agent в macOS или Windows, чтобы обойти эту проблему, как описано здесь: https://help.github.com/en/articles/working-with-ssh-key-passphrases

@ flaw600 Этот процесс, кажется, помогает только в том случае, если я запускаю код из того же окна git-bash, в котором был инициализирован ssh-agent, что немного неуклюже и мешает использованию расширений правой кнопки мыши в проводнике, которые часто используются.

Тот факт, что прошло более 3 лет, а эта ссылка все еще применима, кажется неудачным.
https://nathan.alner.net/2015/08/24/vs-code-ide-with-passphrased-git-ssh-keys/

Открытие code через меню «Пуск» игнорирует ssh-agent и не выполняет извлечение / отправку.

Какие-либо предложения? Это довольно большая проблема для разработки прямо сейчас по сравнению с другими платформами.

В течение некоторого времени использование https было лучшим решением. Это настолько же безопасно, если не больше , что вы можете создавать определенные токены для доступа. Диспетчер учетных данных Windows SCM позаботится обо всем автоматически.

В качестве бонуса я почти уверен, что HTTPS на самом деле быстрее SSH.

@gdamore : Любые доказательства, подтверждающие ваше утверждение о том, что HTTPS
быстрее, чем SSH?

В понедельник, 17 июня 2019 г., в 11:45, gdamore [email protected] написал:

В течение некоторого времени использование https было лучшим решением. Его каждый бит как
безопасно, если не более того ,
Диспетчер учетных данных Windows SCM позаботится обо всем автоматически.

В качестве бонуса я почти уверен, что HTTPS на самом деле быстрее SSH.

-
Вы получили это, потому что оставили комментарий.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AFLBAENFUKYEOE3WLKBGCJLP265Q7A5CNFSM4CSXV3P2YY3PNVWWK3TUL52HSG43DFV2PNVWWK3TULXG4DFV2VWWK3TUL52XG4DFV2
или отключить поток
https://github.com/notifications/unsubscribe-auth/AFLBAEOC5BVCGGJ7EDXTINTP265Q7ANCNFSM4CSXV3PQ
.

Не специально с git, но мы видели это в других целях (большие копии файлов). Я думаю, это действительно относится к вещам, установленным на уровне TCP, где SSH, похоже, имеет значения, которые более подходят для интерактивного использования, тогда как HTTP имеет тенденцию быть более оптимизированным для фактического перемещения файлов, что действительно делает git в этом случае.

Ненавижу говорить это, но это волшебным образом начало работать на меня. Не уверен, запускал ли он SSH через Powershell или CMD - понятия не имею! Просто несколько попыток, и это волшебным образом сработало.

В Windows вы можете использовать pageant качестве агента SSH, а затем установить для переменной env GIT_SSH значение plink . Оба эти инструмента являются частью PuTTY, а также входят в состав TortoiseGit.

Не делает мне ничего хорошего на Mac

В среду, 3 июля 2019 г., 11:44 Джастин [email protected] написал:

В Windows вы можете использовать pageant в качестве агента SSH, а затем установить env
переменная GIT_SSH, чтобы выложить. Оба эти инструмента являются частью PuTTY, а также
в комплекте с TortoiseGit.

-
Вы получили это, потому что оставили комментарий.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AFBZHXFVMRQ4DBPV2TLBBGTP5TJN7A5CNFSM4CSXV3P2YY3PNVWWFM4CSXV3P2YY3PNVWWK3TREMVWP2VWWWK3TREMVWWC8CMXWWWWK3TREMVWWC08B0C0B0C08
или отключить поток
https://github.com/notifications/unsubscribe-auth/AFBZHXD63DGD5FUXRJYMLXDP5TJN7ANCNFSM4CSXV3PQ
.

@ Jazun713 Mac отлично работает: https://github.com/microsoft/vscode/issues/13680#issuecomment -473190878

Почему это все еще актуально?

вау, так что через 3 года все еще невозможно подключить код VS через ssh, по крайней мере, запустить его из командной строки

Ну, я не обошелся с парольной фразой, поскольку я не установил ее, но каким-то образом я смог позволить VSCode хотя бы настроить использование ssh после открытия как root (или Windows как admin). Это после того, как я установил Openssh или в Windows настроил соединение с Putty. После проверки конфигурации ssh и установки, следуйте инструкциям здесь https://help.github.com/en/articles/testing-your-ssh-connection . Пожалуйста, обратитесь к этому, а также, он дает много полезных идей, поскольку каждый случай зависит от того, как вы настроили свой ssh-агент и ОС (я использую Ubuntu 18.04) https://help.github.com/en/articles/ ошибка-разрешение-отказано-публичный ключ

Используя версию 1.36.1, по-прежнему не могу подключиться к Github через SSH с парольной фразой - мне пришлось снять парольную фразу с моего ключа. Что в этом сложного? С HTTPS вы запрашиваете пользователя и пароль git ... (несколько раз, поэтому я не хочу его использовать).

Это немного раздражает. Использование пароля с ключом SSH обеспечивает хорошую безопасность. Технически это форма 2FA (что у вас есть: ключ + то, что вы знаете: пароль). Я использую этот редактор в MacOS, и мне очень неприятно прыгать в консоль для всех операций git. VS Git UI просто терпит неудачу. Должен появиться ввод пароля

В macOS я добавил это в свой ~/.ssh/config в самом конце (что важно, не помещайте ничего ниже):

Host *
   AddKeysToAgent yes
   UseKeychain yes 

Затем я сделал git pull чтобы macOS запросила мой пароль ssh. После этого macOS больше никогда не запрашивает у меня пароль, поэтому контроль версий VSCode работает должным образом.

Надеюсь, это кому-то поможет.
Ура!

Вышесказанное работает для меня. Возможно, здесь можно сделать заметку: https://code.visualstudio.com/docs/setup/mac

Было бы здорово получить разрешение или правильный обходной путь в Windows.

«Правильный обходной путь» - использовать URL-адреса HTTPS вместо SSH вместе с менеджером учетных данных git-scm. Идеально подходит для меня.

Отправлено из почты для Windows 10

От: Кай Ричардсон
Отправлено: среда, 28 августа 2019 г., 9:33
Кому: microsoft / vscode
Копия: gdamore; Упоминание
Тема: Re: [microsoft / vscode] Поддержка git с паролем закрытого ключа (# 13680)

Было бы здорово получить разрешение или правильный обходной путь в Windows.
-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.

@gdamore , это неправильный обходной путь. Эта проблема предназначена специально для использования протокола SSH. Некоторые люди могут использовать сервер Git, на котором администраторы специально не разрешают операции http (s) Git, поэтому указание им использовать https не предлагает им решения.

@ Kai-Richardson Это действительно работает в Windows, если вы настроите Git для использования команды SSH, которая поддерживает агент SSH, и откройте ключ в этом агенте.

  1. TortoiseGit: установите переменную env GIT_SSH в TortoiseGitPlink.exe в папке установки TortoiseGit, преобразуйте закрытые ключи в формат PPK с включенным puttygen.exe и затем откройте закрытые ключи в pageant.exe . Вы можете использовать PuTTY вместо TortoiseGit, в этом случае установите GIT_SSH равным plink.exe и используйте puttygen / pageant.
  2. Установите официальный MS OpenSSH ( ссылка , я использую шоколадный с включенной функцией агента SSH), запустите службу ssh-agent, откройте закрытый ключ с помощью ssh-add <path to key file> и установите переменную env GIT_SSH на ssh.exe (обычно C:\Program Files\OpenSSH-Win64\ssh.exe ). Моя единственная проблема здесь заключается в том, что после выпуска 8.0 у него, похоже, возникли проблемы с чтением закрытых ключей с традиционным (формат -----BEGIN RSA PRIVATE KEY----- , вместо этого предпочитаемый формат -----BEGIN OPENSSH PRIVATE KEY----- ).

Обновил код моей визуальной студии, больше не могу взаимодействовать с моим github через приложение. Версия 1.37.1

ОС: Windows 10 Pro: версия: 10.0.17134 сборка 17134

Команда MS просто ненавидит SSH?

Какая IDE на самом деле поддерживает пароли SSH? Потому что продукты Jetbrains тоже этого не делают. Итак, у вас есть 2 из 3 ведущих поставщиков, не поддерживающих коды доступа SSH изначально (а другой - Github - я просто не знаю, поддерживает ли их редактор Atom коды доступа SSH изначально).

29 августа 2019 года в 20:43 Крис Мигут [email protected] написал:

Обновлен кодом Visual Studio, больше не могу взаимодействовать с моим github через приложение. Версия 1.37.1

Команда MS просто ненавидит SSH?

-
Вы получаете это, потому что вас упомянули.
Ответить на это сообщение непосредственно, просматривать его на GitHub https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA#issuecomment-526421988 или приглушить нить https://github.com/notifications/ Отписаться-авторизация / ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ .

Я сделал какую-нибудь ошибку? Я просто загружаю Kali Linux как двойную загрузку в Windows

  1. Все прошло хорошо и идеально после долгого процесса, но каким-то образом
    устройство, подключенное к git, прикрепляется и тегируется вместе, и когда я пытаюсь
    получить путь. Бумммммм, на мой жесткий диск втягивается столько файлов ... Что
    это происходит ????

Принц

В субботу, 31 августа 2019 г., 8:59, flaw600, [email protected] написал:

Какая IDE на самом деле поддерживает пароли SSH? Потому что продукты Jetbrains
тоже не надо. Итак, у вас есть 2 из 3 ведущих поставщиков, не поддерживающих SSH
коды доступа изначально (а другой - Github - я просто не знаю,
Редактор Atom изначально поддерживает пароли SSH).

29 августа 2019 г., в 20:43, Крис Мигут [email protected]
написал:

Обновлен кодом Visual Studio, больше не может взаимодействовать с моим github
через приложение. Версия 1.37.1

Команда MS просто ненавидит SSH?

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub <
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=ACKS4GSGSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFMVREVWK3TUL52HS4DFMVREK3TULX5X3DFMVRDWWWK3TUL52HS4DFMVR08
или отключить поток <
https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ
.

-
Вы получаете это, потому что подписаны на эту ветку.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/microsoft/vscode/issues/13680?email_source=notifications&email_token=AH4ENDPM4O6N2MT3BFLXGRTQHG66NA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS443LVMVREX5BODWTUL52HS443DFMVREX5TUL52HS443DFMVREX5
или отключить поток
https://github.com/notifications/unsubscribe-auth/AH4ENDORTBRU3GTGOWJFOVLQHG66NANCNFSM4CSXV3PQ
.

Какая IDE на самом деле поддерживает пароли SSH? Потому что продукты Jetbrains тоже этого не делают. Итак, у вас есть 2 из 3 ведущих поставщиков, не поддерживающих коды доступа SSH изначально (а другой - Github - я просто не знаю, поддерживает ли их редактор Atom коды доступа SSH изначально).

Существует дублированный поток по той же проблеме , кто-то сказал, что Atom изначально поддерживает коды доступа SSH: https://puu.sh/B7qHY/57f3c89f47.png

Ссылка защищена ключом

отправлено из моего Айфона

16 сентября 2019 года в 13:32 vitasam [email protected] написал:

Какая IDE на самом деле поддерживает пароли SSH? Потому что продукты Jetbrains тоже этого не делают. Итак, у вас есть 2 из 3 ведущих поставщиков, не поддерживающих коды доступа SSH изначально (а другой - Github - я просто не знаю, поддерживает ли их редактор Atom коды доступа SSH изначально).

29 августа 2019 г., в 20:43, Крис Мигут @. * > писал (а): Обновлен код Visual Studio, больше не могу взаимодействовать с моим github через приложение. Версия 1.37.1 Команда MS просто ненавидит SSH? - Вы получили это, потому что вас упомянули. Ответить на это сообщение непосредственно, просматривать его на GitHub <# 13680? Email_source = уведомления и email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, или приглушить нить https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ.

Существует дублированный поток по той же проблеме, кто-то сказал, что Atom изначально поддерживает ключ SSH: https://puu.sh/B7qHY/57f3c89f47.png

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub или отключите обсуждение.

Интересно, могу открыть ссылку. Диалог от Atom:
atom_ssh_key_pass

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

если окна

Set-Service ssh-agent -StartupType Automatic 

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

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

если окна

Set-Service ssh-agent -StartupType Automatic 

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

Я получаю ошибку разрешения при этой попытке. Какие-либо предложения?

Set-Service: Сервис «Агент аутентификации OpenSSH (ssh-agent)» не может быть настроен из-за следующей ошибки: Доступ запрещен
В строке: 1 символ: 1
+ Set-Service ssh-agent -StartupType Автоматический
+ ~ ~ ~ ~ ~ ~ ~ ~ ~~~~
+ CategoryInfo: PermissionDenied: (System.ServiceProcess.ServiceController: ServiceController) [Set-Service], ServiceCommandException
+ FullyQualifiedErrorId: CouldNotSetService, Microsoft.PowerShell.Commands.SetServiceCommand

Я получаю ошибку разрешения при этой попытке. Какие-либо предложения?

@seantma : PowerShell необходимо запускать от имени администратора, чтобы иметь необходимые разрешения.

помимо добавления записей конфигурации ssh выше
если окна
Set-Service ssh-agent -StartupType Автоматический

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

В моем случае это не помогло, VCode возвращает следующие ошибки, когда я пытался синхронизировать локальную фиксацию с источником (удаленным):

fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Похоже, что VCode не использует глобальную конфигурацию GIT (имя и адрес электронной почты), может быть?

Сделал это, и он работает (не тестировался с ключом ssh с парольной фразой):

  • Откройте новый терминал внутри Visual Code, при появлении запроса выберите папку текущего проекта.
  • VS откроет терминал с Poweshell
  • Запустите ssh-keygen.exe -> Enter, введите, введите ... -> ключ, созданный в .ssh в папке пользователя (обычно в C: \ Users \)
  • Скопируйте содержимое ключа (.ssh / id_rsa.pub) и добавьте в новый ключ в настройках Github.

это оно

Это неправильное решение, @ leductan-nguyen. Эта проблема не только связана с ключами, защищенными паролем, но также она просто не будет работать, если вам нужно иметь несколько ключей (например, у меня один для GitHub, а другой для GitLab).

Есть ли прогресс с этим?

@Badbreaddead , выше было опубликовано несколько решений или обходных путей. Это зависит от используемой вами ОС:

OS X

Следуйте @ dschu-ЛАБ решение и добавить

Host *
   AddKeysToAgent yes
   UseKeychain yes 

до _ самого конца_ ~/.ssh/config . Если ваш ключ ssh не имеет стандартного имени, вам также может потребоваться указать его с помощью IdentityFile /path/to/your/ssh/private/key как указывали другие.
Затем вам будет предложено добавить кодовую фразу в самый первый раз, когда вы ее используете, и затем она будет сохранена в связке ключей для любого последующего использования.

Linux

Установите связку ключей , например, через sudo apt install keychain , как @ Silentz0r указал выше . Затем он выполняет keychain --eval <ssh-key-name> , но похоже, что keychain <path-to-ssh-key> имеет тот же эффект. Добавление в ваш .bashrc или эквивалент должно сработать.

Windows

Обходной путь @geordanr - единственный, который сработал для меня. Выполните следующие команды в Git Bash, чтобы добавить ключ ssh к агенту и запустить код в том же сеансе:

$ eval `ssh-agent`
$ ssh-add /path/to/key
$ code

Если вы хотите избавить себя от необходимости каждый раз вводить первые две команды, вы также можете добавить что-то вроде

#use fix path for SSH_AUTH_SOCK so it works more then one instance of gitbash
export SSH_AUTH_SOCK="$TEMP/ssh_agent_socket"

ps | grep ssh-agent > /dev/null
RUNNING=$?;

if [ "$RUNNING" -eq "1" ] 
then
# ssh-agent is not yet running
    eval `ssh-agent -a $SSH_AUTH_SOCK`
fi
ssh-add 

в ваш файл ~/.bashrc в Git Bash, чтобы автоматически запустить ssh-agent (взято отсюда и немного скорректировано). Если у вашего ключа нет стандартного имени, вам нужно указать путь к нему после ssh-add , например, ssh-add ~/.ssh/id_rsa_personal_key .

Какая IDE на самом деле поддерживает пароли SSH? Потому что продукты Jetbrains тоже этого не делают. Итак, у вас есть 2 из 3 ведущих поставщиков, не поддерживающих коды доступа SSH изначально (а другой - Github - я просто не знаю, поддерживает ли их редактор Atom коды доступа SSH изначально).

29 августа 2019 г., в 20:43, Крис Мигут @ . * > писал (а): Обновлен код Visual Studio, больше не могу взаимодействовать с моим github через приложение. Версия 1.37.1 Команда MS просто ненавидит SSH? - Вы получили это, потому что вас упомянули. Ответить на это сообщение непосредственно, просматривать его на GitHub <# 13680? Email_source = уведомления и email_token = ACKS4GSGFBF2OGBCXPN55LDQHB3NLA5CNFSM4CSXV3P2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5QI7ZA # issuecomment-526421988>, или приглушить нить https://github.com/notifications/unsubscribe-auth/ACKS4GTHNDBY5DETIRNVX6TQHB3NLANCNFSM4CSXV3PQ .

PyCharm без проблем поддерживает мой ssh-ключ с парольной фразой, он запрашивал у меня парольную фразу один раз и никогда больше, и все функции git работают должным образом.

Выполните следующие команды в Git Bash, чтобы добавить ключ ssh к агенту и запустить код в том же сеансе:

$ eval ssh-agent
$ ssh-add / путь / к / ключу
код $

Как бы то ни было, это работает и в Linux - и нет необходимости запускать code через терминал. Ярлык тоже подойдет. Сам терминал можно закрыть сразу после этих команд.

Я знаю по крайней мере еще один обходной путь:

Установите ssh-askpass (в Arch Linux это предоставляется как x11-ssh-askpass, так и пакетами seahorse , а двоичные файлы находятся в /usr/lib/ssh/ssh-askpass и /usr/lib/seahorse/ssh-askpass соответственно). Все, что нужно - это установить один из этих пакетов. VS Code будет запускать диалог ввода пароля каждый раз, когда это необходимо.

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Я мог бы поклясться, что это было в январе 2020 года . 😕

Добавление к этому https://github.com/microsoft/vscode/issues/13680#issuecomment -559013132

Поскольку bash предлагает вам при каждом входе в систему ввести кодовую фразу, вы можете связать запуск VSCode с помощью ярлыка через bash. Для значка просто используйте тот, который поставляется с VSCode, вероятно, в% LOCALAPPDATA% \ Programs \ Microsoft VS CodeCode.exe.

Если у вас уже запущен ssh-agent, это немедленно запустит код. Если нет, он будет ждать, пока вы введете кодовую фразу.

image

Я хотел бы помочь с этим. Это одна из немногих вещей, которые я все еще хочу, чтобы VSCode сделал, но даже без этого, неважно, мне все еще очень нравится использовать VSCode, поэтому спасибо!

Знаете ли вы, что Git-for-Windows поставляется со сценарием под названием start-ssh-agent , он находится в папке cmd , которая обычно добавляется в путь пользователя при стандартной установке Git-for-Windows. Может быть, есть как-то использовать это для решения этой проблемы?

Мне интересно, может ли кто-нибудь указать мне на цепочку событий, которая происходит, когда вы нажимаете кнопку push / pull, может быть, мы можем попытаться выполнить этот скрипт, возможно, в терминале vscode или во всплывающем окне.

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

Благодаря!

https://github.com/microsoft/vscode/issues/13680#issuecomment -525861890 также работал у меня, но это не очень просто и усложняет ситуацию, если вы также используете Git для Windows, git и bash.

Что я нашел о проблеме и краткое изложение возможных решений

Основная проблема в Windows + Git для Windows (GfW) + VSCode + SSH git repo заключается в следующем:

  • Если вы раньше не запускали ssh-agent Windows или GfW (или у вас нет помощника / службы, выполняющей это), похоже, он не сможет запустить ssh-agent и ssh-add. Возможно, это не является обязанностью VSCode, но приятно знать или получать подсказку о том, что ssh не запущен.
  • Если вы запустили ssh-агент GfW через .bashrc, и если вы запустите VSCode из меню / ярлыка «Пуск», а не в том же сеансе (например, запуск code из cli), то VSCode не получит доступ к ssh-агенту GfW.
  • Если вы запустили версию ssh-agent для Windows и установили GfW, GfW git по умолчанию не использует версию ssh-agent для Windows, поскольку он также поставляется с собственной версией инструментов ssh. Кажется, что VSCode использует GfW git, когда он доступен, поэтому может быть поэтому он не обнаруживает, что Windows ssh-agent уже запущен (с добавленными ключами), и не использует его.

Решение 2 хорошее, но и не очень прямолинейное, вот шаги, которые я предпринял:

  1. Установите клиент OpenSSH в разделе "Дополнительные функции"
  2. Добавьте GIT_SSH в переменные среды, указав на инструменты клиента OpenSSH, вероятно, C: \ Windows \ System32 \ OpenSSHssh.exe
  3. Переключите агент Open SSH в разделе Services на Automatic (если он отключен, мой был)
  4. Запустите ssh-add в PowerShell, и вы увидите, что ваш ключ добавлен.
  5. VSCode теперь должен иметь возможность делать вещи git с репозиторием SSH
  6. Однако GfW git и bash не используют этот агент (я пытался указать bash env GIT_SSH на инструменты Windows OpenSSH, но они отказываются работать вместе), поэтому вам нужно использовать сценарий .bashrc для запуска агента и ввода кодовой фразы в другой раз при запуске GfW bash.

На данный момент я придерживаюсь решения 1, поскольку я также использую системы Mac и Linux, и приятно иметь везде одни и те же инструменты bash / git / ssh.

Я попытался связать вместе скрипт Git-for-Windows под названием start-ssh-agent.cmd в папке cmd, с Code.exe в ярлыке как %COMSPEC% /C %LOCALAPPDATA%\Programs\Git\cmd\start-ssh-agent.cmd && "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" и он работает, но имеет эту странную сторону эффект открытия второго экземпляра VSCode после выхода из первого, но я не знаю почему.

Если я выполняю эту строку из терминала Windows (с предшествующим %COMSPEC% /C или без него), она работает нормально.

Еще я попытался создать файл *.bat или *.cmd с той же командой, что и ярлык, но был удивлен, что это не сработало. VSCode запускается, но не может тянуть / толкать, и отвечает ужасным «отказано в разрешении (открытый ключ)». ошибка.

Я также потратил некоторое время на поиски кодовой базы например, в строках 61-148 в git.ts поскольку он запускает git --version он также может запускать cp.exec('start-ssh-agent.cmd') но должен иметь способ получить кодовую фразу от пользователя.

Наконец, я остановился на копировании start-ssh-agent.cmd в новый файл с именем vscode-ssh-agent.cmd и замене последней строки, в которой он вызывает CMD на <strong i="25">@call</strong> "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe" . Но я не могу закрепить его на панели задач.

В настоящее время я пытаюсь реализовать эту функцию. Это все еще работа, но скоро у меня будет PR.

Сейчас я запускаю ssh-agent, добавляю пользовательский ключ, если установлен git.sshPrivateKeyPath, запрашиваю у пользователя его пароль SSH-ключа, если он запрошен, и использую переменные среды агента для каждого вызова git.
Мои первые тесты на машине с Windows, кажется, работают.

Я прочитал все комментарии здесь, но, возможно, что-то забыл, поэтому, пожалуйста, не стесняйтесь делать любые замечания.

Добавление на https://github.com/microsoft/vscode/issues/13680#issuecomment -583599355 из @weiliddat; Я сам часто использую пункт контекстного меню «Открыть с помощью VSCode» (щелчок правой кнопкой мыши по папке), и я использовал ContextEdit для редактирования записи контекстного меню при открытии папок с помощью VSCode для его запуска через Git Bash, поэтому VSCode имеет доступ к контексту SSH.

  1. Установите ContextEdit .
  2. Запустите ContextEdit от имени администратора
  3. Найдите «Файловую папку» в длинном списке расширений.
    image
  4. Дважды щелкните запись «Открыть с кодом» в разделе «Команды оболочки».
  5. Измените строку «Командная строка» на "C:\Program Files\Git\bin\bash.exe" -l -c "code '%V';exit" . Убедитесь, что "C:\Program Files\Git\" соответствует вашему каталогу установки Git для Windows. Возможно, вы захотите скопировать старую команду на случай, если вам нужно выполнить сброс.
  6. Нажмите «ОК» и «Выйти».

Теперь, если вы щелкните правой кнопкой мыши папку, чтобы «Открыть с помощью VSCode», это должно сначала запустить Git Bash, а затем открыть VSCode в правой папке. Если вы правильно настроили Git Bash для запуска агента SSH перед запуском Git Bash , это должно предлагать вам вводить парольную фразу один раз при перезагрузке компьютера. При последующем открытии это должно напрямую открыть VSCode и настроить ваш SSH-ключ.

Мне не удалось найти запись ContextEdit при щелчке правой кнопкой мыши внутри папки в проводнике вместо прямого щелчка правой кнопкой мыши по самой папке.

Это решение работает как шарм.

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

https://github.com/microsoft/vscode/issues/13680#issuecomment -575204695
Это решает проблему! Большое спасибо!

Пожалуйста, проверьте этот раздел . Короче говоря, он говорит, что вам нужно начать VSCode с GitBash или чего-то подобного, чтобы иметь необходимые переменные среды. Кроме того, если вы проверили эти переменные в GitBash вы могли бы получить что-то вроде этого:
.

Например, если вы не хотите использовать GitBash для запуска VSCode каждый раз ( потому что это ерунда! IMHO ), можно добавить их, используя окно Environment Variables или используя команду rundll32.exe sysdm.cpl,EditEnvironmentVariables (т.е. через cmd.exe).

В результате это может выглядеть так:

Теперь просто перезапустите (не перезагружайте) VSCode и он должен работать:

Забавно, что он работает, даже если DISPLAY=WTHeck , поэтому он может искать только существование этой переменной.

Почему бы просто не определить их ( private key file path или SSH_ASKPASS ) как значение конфигурации JSON где-нибудь в качестве обходного пути, чтобы VSCode добавляло их при запуске в его внутренние переменные среды?

Я не очень знаком с тем, как работают приложения для электронных или Windows, но можно ли разработать оболочку вокруг этого решения, чтобы при установке VSCode он автоматически настраивал эти параметры.

TBH мне кажется, что это не такая уж сложная проблема для решения, но, учитывая, как это обсуждение продолжалось в течение 4 лет, это, вероятно, большая проблема. Было бы здорово увидеть, как VSCode реализует хоть что-то, чтобы пользователи могли использовать эту довольно стандартную функцию git, не прибегая к собственным обходным путям. Хотя я вижу смысл в том, чтобы правильно его реализовать с первого раза.

Спасибо soufiene-slimi за обходное решение и спасибо F8ER за разъяснения. Хотя есть несогласованность пользовательского интерфейса, он, по крайней мере, работает

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

Здесь есть что-нибудь новенькое? Я только начал работать с VSCode на WSL 2 и Git. И поскольку VSCode зависает каждый раз, когда я пытался что-то отправить или опубликовать, я попробовал его на терминале, и он отлично сработал, потому что там у меня была возможность ввести свою кодовую фразу.

Этот выпуск очень старый и вызывает много комментариев. Может быть, где-то есть хороший обходной путь без удаления парольной фразы из моего ключа и без сохранения ключа где-нибудь в конфигурациях.

Эй, ребята,

Я столкнулся с этой проблемой и на своем Mac.
У меня настроен ключ RSA, и моя конфигурация выглядит так

# GitLab.com
Host gitlab.com
  Preferredauthentications publickey
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

Дело в терминале кода VS, когда я нажимаю на источник с помощью CLI, он успешно отправляет мой код с предложением ввести пароль.
Проблема возникает, когда я использую графический интерфейс VScode pull / push / sync, который мне дает

Please make sure you have the correct access rights
and the repository exists.
> git push -u origin v1.5_Testing
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

единственная разница в том, что графический интерфейс не запрашивает пароль, поэтому я предполагаю, что он не работает.

[email protected] : в
...
единственная разница в том, что графический интерфейс не запрашивает пароль, поэтому я предполагаю, что он не работает.

@mohammedpatla Пожалуйста, проверьте это .

Это решение с переменными среды мне не помогает. У меня git не установлен в Windows, но на Ubuntu 20.04, работающем на WSL2. Нигде нет каталога с именем mingw64 или двоичного файла с именем git-gui--askpass .

Поэтому я также думаю, что решение не работает и на Mac, @ F8ER .

Я не могу запустить VScode через git-bash на Mac @ F8ER

Это решение с переменными среды мне не помогает. У меня git не установлен в Windows, но на Ubuntu 20.04, работающем на WSL2. Нигде нет каталога с именем mingw64 или двоичного файла с именем git-gui--askpass .

Я не могу запустить VScode через git-bash на Mac

Вы знаете, что такое Environment Variable ?
@NicolasGoeddel Вы можете проверить эту ссылку на ubuntu.com .
@mohammedpatla Вместо этого вы можете проверить эту ссылку с сайта apple.com .

Также. пожалуйста, сначала попробуйте git-gui--askpass может означать, что пакет git-gui установлен, поэтому он может потребоваться.

Это решение с переменными среды мне не помогает. У меня git не установлен в Windows, но на Ubuntu 20.04, работающем на WSL2. Нигде нет каталога с именем mingw64 или двоичного файла с именем git-gui--askpass .

Я не могу запустить VScode через git-bash на Mac

Вы знаете, что такое Environment Variable ?
@NicolasGoeddel Вы можете проверить эту ссылку на ubuntu.com .
@mohammedpatla Вместо этого вы можете проверить эту ссылку с сайта apple.com .

Также. пожалуйста, сначала попробуйте git-gui--askpas может означать, что не установлен пакет git-gui .

Конечно, я знаю, что такое переменные среды. Но зачем мне устанавливать приложение с графическим интерфейсом пользователя на машину с Linux, работающую на WSL2, если запустить этот графический интерфейс невозможно? Это просто невозможно на безголовой машине. Пожалуйста, в следующий раз внимательно прочтите мои сообщения.

Этот трюк с git-gui просто не подходит для моего сценария. Но, возможно, это работает на Mac, если VSCode и репозиторий изначально работают в одной среде. Затем @mohammedpatla нужно только установить git-gui в своей системе и изменить переменные среды.

Конечно, я знаю, что такое переменные среды. Но зачем мне устанавливать приложение с графическим интерфейсом пользователя на машину с Linux, работающую на WSL2, если запустить этот графический интерфейс невозможно? Это просто невозможно на безголовой машине.
Этот трюк с git-gui просто не подходит для моего сценария.

Почему тогда вы пытаетесь запустить VSCode на машине без графического интерфейса или мне что-то не хватает?
Кроме того, вы можете проверить это .

У меня отлично работает на моем Mac, независимо от того, как я запускаю vscode, но у меня включен ssh-agent и он подключен к моей цепочке ключей учетных данных, поэтому он запускается автоматически.

Я не пробовал извлекать / отправлять из WSL, но использую удаленное соединение с вакциной. Я могу запускать парные приложения из WSL с помощью

В WSL запущен ssh-agent? Запустите терминал WSL и посмотрите на .bashrc или .bash_prifile , если они существуют в вашей домашней папке. Затем добавьте:

eval `ssh-agent`
ssh-add

Может, это поможет, а может, и нет. При использовании wsl я обнаружил, что некоторые вещи просто не работают. Держите терминал открытым и синхронизируйте полученные репозитории вручную

Я думаю, что это заходит слишком далеко, не так ли? У нас уже есть обходные пути. Правильным решением было бы, чтобы VS Code запрашивал пароль изначально, так же, как это уже делается для обычного имени пользователя / пароля.

/ cc @ alarr46 , что скажешь?

Конечно, я знаю, что такое переменные среды. Но зачем мне устанавливать приложение с графическим интерфейсом пользователя на машину с Linux, работающую на WSL2, если запустить этот графический интерфейс невозможно? Это просто невозможно на безголовой машине.
Этот трюк с git-gui просто не подходит для моего сценария.

Почему тогда вы пытаетесь запустить VSCode на машине без графического интерфейса или мне что-то не хватает?
Кроме того, вы можете проверить это .
Ты не понял меня. VSCode работает в Windows, а приложение и его источники, которые я разрабатываю, работают на WSL 2.
Но спасибо за ссылку. Я не знал о совместном использовании учетных данных Git между Windows и WSL. Я это проверю.

С другой стороны, @ranolfi прав. Все это пока обходные пути. Было бы лучше так исправить всю эту проблему. :-)

Да, я хочу, чтобы это было реализовано и в VSCode изначально. Подсказка будет очень признательна.

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

прежде чем вы спросите себя, должен ли быть пробел перед двойным тире, его не должно быть. похоже, это должен быть параметр, но я считаю, что на самом деле это имя файла ... без пробела

Просто добавьте эти ключи в свою среду:

DISPLAY=needs-to-be-defined
SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass

прежде чем вы спросите себя, должен ли быть пробел перед двойным тире, его не должно быть. похоже, это должен быть параметр, но я считаю, что на самом деле это имя файла ... без пробела

Я думаю, что это заходит слишком далеко, не так ли? У нас уже есть обходные пути. Правильным решением было бы, чтобы VS Code запрашивал пароль изначально, так же, как это уже делается для обычного имени пользователя / пароля.

/ cc @ alarr46 , что скажешь?

Просто подожду официального релиза, а пока воспользуюсь Git-CLI.

Я думаю, что это заходит слишком далеко, не так ли? У нас уже есть обходные пути. Правильным решением было бы, чтобы VS Code запрашивал пароль изначально, так же, как это уже делается для обычного имени пользователя / пароля.

/ cc @ alarr46 , что скажешь?

Я согласен, это то, что я реализовал в этом запросе на перенос . Тем не менее, это все еще требует пересмотра.

Я согласен, это то, что я реализовал в этом запросе на перенос . Тем не менее, это все еще требует пересмотра.

Впрочем, очень хорошее начало. Большое спасибо! Ракета.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги