Ключ SSH - все еще спрашивает пароль и фразу-пароль


496

Я несколько «мирился» с Github, всегда спрашивая мое имя пользователя и пароль, когда я клонировал репозиторий. Я хочу обойти этот шаг, потому что это раздражает в моем рабочем процессе.

Я попытался настроить ключ SSH (что я успешно сделал), используя это руководство. https://help.github.com/articles/generating-ssh-keys и я добился успеха.

Моя проблема в том, что меня все еще спрашивают мой пароль и пароль github при клонировании репозитория (используя SSH). Насколько я понимаю, после того, как я настроил этот SSH-ключ, мне больше не нужно это делать.

Я немного не уверен, что спросить, поэтому я просто изложу свою цель.

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

Чего мне не хватает с моим ключом SSH? Если кто-то может предоставить некоторые рекомендации или ресурсы, я был бы признателен, потому что я всегда чувствовал себя немного потерянным, когда дело доходит до аутентификации SSH в GitHub.

Насколько мне известно, это команда, которая проверяет, что все работает правильно, вот вывод из моей консоли:

~ $ ssh -T git@github.com
Saving password to keychain failed
Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa':
Hi MYNAME! You've successfully authenticated, but GitHub does not provide shell access.

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


1
В какой ты ОС? Современный рабочий стол Linux предлагает хранить вашу фразу-пароль в диспетчере ключей. То же самое в Mac OS X. В Windows вы можете использовать pageant, который является частью putty. Во всех этих случаях цель одна и та же: вы вводите парольную фразу только один раз после запуска ПК, агенты менеджера ключей передают ее в ssh при последующем использовании до перезагрузки.
Janos


2
Я немного опаздываю на вечеринку, но на маленькой вкладке / кнопке клона в github есть ссылка "Use SSH". Вы хотите сделать это. Это изменяет вашу ссылку клона на что-то вроде "git @ github: username / project.git". Если вы добавили SSH-ключ в github и он работает на ssh-agent локально, то вы сможете выполнить push-запрос без ввода имени пользователя или пароля.
Logan Kitchen

Ответы:


201

Если вы работаете с HTTPsURL, он всегда будет спрашивать ваше имя пользователя / пароль.

Если вы правильно используете SSHпри клонировании / настройке пультов. Затем убедитесь, что у вас есть ssh-agent, чтобы запомнить ваш пароль. Таким образом, вы будете вводить парольную фразу только один раз в терминальной сессии.

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


2
Спасибо за ответ. Я всегда просто использовал HTTP. Я пытаюсь добиться аутентификации SSH и думал, что настроил ее. Нужно ли устанавливать ssh-agent вне git? Спасибо
HelloWorld

1
@ R11G вы не можете, иначе пароли не будут безопасными ... Просто создайте новый заново.
Саймон Будриас

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

2
Забавно, мои репозитории HTTPS никогда не запрашивают пароли, а мои репозитории SSH всегда делают.
Адам

33
Посмотрите этот документ github, чтобы конвертировать URL удаленного из https в ssh. Чтобы проверить, является ли URL пульта ssh или https, используйте git remote -v. Чтобы переключиться с https на ssh:git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
Manavalan Gajapathy

826

Добавить личность без брелка

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

Вы можете сделать это так:

ssh-add ~/.ssh/id_rsa 

Это попросит вас ввести ключевую фразу, введите ее, и она не будет запрашивать снова, пока вы не перезапустите.

Добавить личность используя брелок

Как отмечает @dennis в комментариях, чтобы сохранить фразу-пароль при перезапуске, сохранив ее в цепочке для ключей, вы можете использовать эту -Kопцию ( -kдля Ubuntu) при добавлении идентификатора, например так:

ssh-add -K ~/.ssh/id_rsa

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


178
Обратите внимание, что это не сохранит идентичность при перезапуске. Вы можете использовать -Kопцию для сохранения ключевой фразы в цепочке для ключей при ее добавлении, напримерssh-add -K ~/.ssh/id_rsa
Деннис

29
строчная -kдля меня ... (база Linux Mint / Ubuntu 14.04) но да! наконец-то отсортировал это ...
Луи Мэддокс

8
просто запустив команду «ssh-add» и введите пароль один раз, командная строка больше не будет запрашивать пароль.
АВИНАШ ШРИМАЛИ

14
Вам не нужны никакие аргументы; просто запуск ssh-addавтоматически добавит ~/.ssh/id_rsa(среди других файлов). И нет причин отправлять вывод /dev/null; гораздо лучше увидеть отчет о том, что он сделал.
Тед Хопп

6
Любая идея, почему я получаю «Не удалось открыть соединение с вашим агентом аутентификации.»?
Докаспар

252

В Mac OSX вы можете добавить свой закрытый ключ в цепочку для ключей, используя команду:

ssh-add -K /path/to/private_key

Если ваш закрытый ключ хранится в ~ / .ssh и называется id_rsa:

ssh-add -K ~/.ssh/id_rsa

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

Изменить - Ручка перезапуска

Чтобы не нужно было вводить пароль даже после перезапуска, добавьте следующее в файл конфигурации ssh (обычно находится в ~ / .ssh / config)

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

7
В моем случае после перезапуска все еще запрашивается пароль (macOS Sierrra 10.12.2). Есть идеи, как это решить?
inigo333 22.12.16

9
Неважно, я только что нашел проблему. Это ошибка (функция?) В Mac OS X 10.12, в которой ssh-agent автоматически не загружает пароли в цепочку для ключей во время запуска. github.com/lionheart/openradar-mirror/issues/15361
inigo333

2
@ inigo333 интересно. Я просто обновился и сам это заметил!
Гроот

1
@Groot, кстати, добавление «Host * UseKeychain yes» в «~ / .ssh / config», как предложено в других ответах, решает проблему.
inigo333

1
Это должен быть принятый ответ. Специально файл конфигурации в~/.ssh
Xavi

186

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

Из этого OpenRadar и этого обсуждения в Твиттере я узнал, что Apple намеренно изменила поведение ssh-agent в macOS 10.12 Sierra, чтобы больше не загружать предыдущие ключи SSH автоматически. Чтобы сохранить то же поведение, что и в El Cap, я сделал следующее:

  1. ssh-add -K ~/.ssh/id_rsa
    Примечание: измените путь к месту, где находится ваш ключ id_rsa.
  2. ssh-add -A
  3. Создайте (или отредактируйте, если он существует) следующий ~/.ssh/configфайл:

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

И теперь мой пароль запоминается между перезагрузками моего Mac!


2
Это может быть полезным для добавления на страницы документации github или osx . Труднее всего было выяснить, почему мой Mac работает под управлением 10.11, а другой - под управлением 10.12, где ведет себя иначе.
17

5
Произошло со мной после обновления OSX, спасибо (я думаю, что ssh-add -Aэто не нужно, если у вас есть только одна клавиша в ~/.ssh/id_rsa)
Дориан

1
Это невероятно полезный ответ. Спасибо, ты сделал мой день.
Ян Нэш

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

3
И это теперь на github docs: help.github.com/articles/…
Тодд Прайс

35

Вы можете удалить ключевую фразу для ключа

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

или вы можете запустить

$ ssh-keygen -p

вы получите подсказку для ключевого файла. По умолчанию это ~/.ssh/id_rsaтак, нажмите Enter

Вам будет предложено ввести текущую пароль.

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


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

1
Это единственное что работало для меня при перезапуске, все команды ssh-add -K, -k и т. Д. Ничего не сделали для меня.
Амальговинус

28

Просто запустите следующую команду:

ssh-add -K

Он никогда не попросит вас снова ввести пароль.


3
Это прекрасно работает, но я был немного обеспокоен выполнением случайной команды. Однако, если вы проверите документы, ssh-addпросто «добавляет идентификаторы закрытого ключа в агент аутентификации», а -Kопция просто делает это так: «При добавлении идентификаторов каждая ключевая фраза также будет храниться в цепочке ключей пользователя».
machineghost

8
На самом деле, это только установил ее , пока не перезапущен :(
machineghost

5
в оболочке bash для Windows флаг "-k" должен быть в нижнем регистре. Просто к вашему сведению
Фергус

27

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

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin git@github.com:eMahtab/jenkins-cje-2017.git (fetch) origin git@github.com:eMahtab/jenkins-cje-2017.git (push)

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

Не используйте https, если ваш пульт использует https, он будет запрашивать пароль, даже если вы добавили открытый ключ в Github и добавили закрытый ключ в ssh-agent. Ниже всегда будет спрашивать пароль

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin https://github.com/eMahtab/jenkins-cje-2017.git (fetch) origin https://github.com/eMahtab/jenkins-cje-2017.git (push)


Да, различие между двумя удаленными типами URL было для меня полезным. Это помогло мне с точки зрения git pullи git push. Я переключил свой URL с типа HTTPS на тип SSH, и это сработало - git pullперестал запрашивать пароль.
Майкл Р

1
Переключение может быть сделано с помощью этой команды:git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
Guido

17

Я должен был выполнить:

eval `ssh-agent -s`
ssh-add

Примечание : вам придется делать это снова после каждого перезапуска. Если вы хотите избежать этого, то введите его в свой файл .bashrc, который находится в C:\Users\<<USERNAME>>\.bashrcWindows. Вероятно, он скрыт, поэтому убедитесь, что вы видите скрытые файлы.

Решение найдено здесь .


15

Если вы используете Windows, это работает для меня:

eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa

Во второй команде будет запрошена фраза-пароль, и все.


1
Когда вы выходите из системы и повторно входите в систему, вы должны повторно вводить пароль каждый раз.
trainoasis

12

TL; DR
Вам нужно использовать агент ssh. Итак, откройте терминал и попробуйте

ssh-add

перед нажатием на мерзавца Введите ваш пароль при появлении запроса.

Проверьте оригинальный ответ StackExchange здесь



6

Недавно я обновил MacOS до Mojave и установил некоторые инструменты с помощью homebrew, который, похоже, поменял версию Apple ssh-addна другую. Моя версия по умолчанию ssh-add не имела -Kопции. Это привело к следующей ошибке:

# ssh-add: illegal option -- K

Вы можете увидеть, какая у ssh-addвас версия , запустивwhich ssh-add .

(Шахта хранилась в /usr/local/bin/ssh-add)

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

/usr/bin/ssh-add -K ~/.ssh/id_rsa

Git / GitHub отлично работал потом. Для получения дополнительной информации см .: Ошибка: ssh-add: недопустимая опция - K


У меня была та же проблема на моем iMac с High Sierra 10.13.6 - это сработало для меня. Спасибо!
Emccracken

Мой работал нормально и случайно начал снова запрашивать пароли - возможно, после недавнего обновления. Это исправлено! Спасибо
Mc01

5

Для Mac OSX Sierra я обнаружил, что исправления, предложенные в выпуске github для Open Radar, исправили мою проблему. Похоже, Сьерра изменила поведение по умолчанию (у меня возникла эта проблема после обновления).

Этот, который я нашел особенно полезным: https://github.com/lionheart/openradar-mirror/issues/15361#issuecomment-249059061

ssh-add -A 

Это привело к тому, что моя личность была добавлена ​​к агенту после того , как я побежал

ssh-add -K {/path/to/key}

Подводя итог, в OSX.12:

ssh-add -K {/path/to/key}
ssh-add -A 

должно привести к:

Identity added: {/path/to/file} ({/path/to/file})

РЕДАКТИРОВАТЬ: я заметил в следующий раз, когда я сделал полную перезагрузку (он же агент остановил и перезапустил), это больше не работает. Более полное решение - то, что @ChrisJF упомянул выше: создание ~/.ssh/configфайла. Вот мой вывод:

$ cat ~/.ssh/config
Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

Вы можете добавить столько IdentityFileзаписей, сколько вам нужно, но это настройка по умолчанию. Это «трендовый» ответ по открытой ссылке выше, банкомат, а также.


Отредактированный решил мою проблему. MacOS Mojave 10.14.3
Хосе

4

Работал в LinuxMint / Ubuntu

Сделайте следующие шаги

Шаг 1:

Перейти к файлу => /.ssh/config

Сохраните следующие строки в файл

Host bitbucket.org
    HostName bitbucket.org
    User git
    IdentityFile /home/apple/myssh-privatekey
    AddKeysToAgent yes

Не забудьте добавить эту строку AddKeysToAgent yes

Шаг 2:

Откройте терминал и добавьте набор ключей в ssh-add

$ ssh-add -k /home/apple/myssh-privatekey

предоставить пароль.


3

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


это только загружает ключи, а не сертификаты
numediaweb


2

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

Используя osxkeychain helperвот так:

  1. Узнайте, установлен ли он у вас.

    git credential-osxkeychain

  2. Если он не установлен, вам будет предложено загрузить его как часть инструментов командной строки Xcode.

  3. Если он установлен, скажите Git использовать его osxkeychain helperс помощью глобальной credential.helperконфигурации:

    git config --global credential.helper osxkeychain

В следующий раз, когда вы клонируете URL-адрес HTTPS, вам будет предложено ввести имя пользователя / пароль и предоставить доступ к цепочке ключей OSX. После того, как вы сделаете это в первый раз, он должен быть сохранен в вашей цепочке для ключей, и вам не придется вводить его снова.


2

Этот ответ в первую очередь предназначен для пользователей Windows, а также в равной степени актуален, если у вас возникают проблемы с клонированием с помощью tfs, github или gitlab в любой другой ОС.

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

Существует несколько причин, по которым аутентификация на основе ключей по умолчанию могла быть неудачной. Ниже приведены наиболее распространенные случаи:

a) ssh-agent не может найти файл закрытого ключа по умолчанию, который является id_rsa , и никакой другой путь ключа не указан явно.

б) открытый ключ хранится на сервере неверно.

в) путь, который вы пытаетесь клонировать, неверен.

В любом случае, для устранения проблемы прежде всего выполните команду git clone с подробным ведением журнала командой:

GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone ssh://pathToYourRepo

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


Устранение неполадок в случае (а)

  • Убедитесь, что у вас есть имя ключа по умолчанию id_rsa в каталоге .ssh. Возможно, вы указали какое-то другое имя ключа при генерации ключа с помощью команды ssh-keygen или, возможно, ключа вообще не существует).
  • Если вы хотите указать другой ключ для аутентификации, используйте следующую команду:

    ssh-agent bash -c 'ssh-add ~/.ssh/anotherKey; git clone ssh://pathToYourRepo'
    

Устранение неполадок в случае (б)

  • Убедитесь, что при хранении открытого ключа на сервере нет лишних пробелов.

Устранение неполадок в случае (с)

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

1

Если вы используете ssh url для git, при запросе пароля для ssh укажите имя пользователя как « git », а пароль - как пароль для входа в систему.


Изменение хранилища удаленного типа URL из HTTPSдля SSHрешить мою проблему. Спасибо @MichaelR, ваша статья была действительно полезной, хотя я ничего не читал из нее: D
Geradlus_RU

1

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

После того, как я сгенерировал ключ и скопировал его на сервер:

ssh-keygen
ssh-copy-id -i ~/.ssh/12gpu_server.pub lerner@192.168.20.160

Я обнаружил, что это не сработало.

Затем я пошел, чтобы проверить ~/.ssh/configфайл, я увидел это внизу:

Host *
IdentitiesOnly yes

Тогда я добавлю это выше:

Host 12gpu
HostName 192.168.20.160
User lerner
IdentityFile ~/.ssh/12gpu_server

Я могу просто войти, введя ssh 12gpu.

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

Хост - это имя, которое вы хотите ввести при последующем подключении к серверу; HostName является IP - сервера или домена , как github.com; Пользователь - это имя пользователя, которое вы регистрируете на сервере, например, имя пользователя или git для github или gitlab; и IdentityFile - это файл, в котором вы храните сгенерированный вами ключ.


1

Как правило, вот шаги, позволяющие вам сделать удаленное подключение к вашему серверу, используя ssh без пароля:

  • Создайте пару RSA частного и открытого ключа

    $ ssh-keygen -t rsa -b 4096 -C "your comments"
    
  • Скопируйте ваш открытый ключ и войдите на удаленный сервер.

  • Добавьте ваш открытый ключ в .ssh / авторизованный_кей

  • Если у вас есть несколько ключей ssh ​​на вашем компьютере, вы можете добавить свой ключ, используя ssh-add

    $ ssh-add /path/to/private/key

  • Затем попробуйте SSH к вашему серверу

    $ ssh username@your_ip_address

Источник: http://diary-of-programmer.blogspot.com/2018/08/tips-how-to-ssh-to-your-digitalocean.html



0

Если вы используете Windows и GIT без сторонних инструментов и ваш ключ не защищен паролем / парольной фразой, используйте это:

  1. Переменная среды HOME должна быть настроена на ваш профиль пользователя (например, C: \ Users \ Laptop)
  2. Перейдите в папку C: \ Users \ Laptop \ .ssh \ и отредактируйте файл «config» (или создайте файл!). Пример: C: \ Users \ Laptop.ssh ​​\ config (примечание: в конце нет!)
  3. Добавьте хост git-сервера в файл config следующим образом:

    #Example host entry
    Host myhostname.com
        HostName myhostname.com
        User git
        IdentityFile c:/users/laptop/.ssh/id_rsa.pub
        PasswordAuthentication no
        Port 422
    
  4. Сохраните файл и клонируйте репозиторий следующим образом:

    git clone ssh: //myhostname.com/git-server/repos/picalc.git

Вы можете использовать дополнительные параметры конфигурации для записи хоста файла "config". Их можно найти в локальной папке установки git, например, « C: \ Program Files \ Git \ etc \ ssh \ ssh_config ». Выдержка:

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h

0

Та же проблема для меня, и решение было:

Посмотрите этот документ github, чтобы конвертировать URL удаленного из https в ssh. Чтобы проверить, является ли URL пульта ssh или https, используйте git remote -v. Чтобы переключиться с https на ssh: git origin set-url origin git@github.com: USERNAME / REPOSITORY.git @jeeYem


0

У Mobaxterme был интерфейс для этого

setting > configuration > SSH > SSH Agent > [check] Use internal SSH agent "moboAgent" > add [your id_rsa and restart mobaxterme to set changes]


0

Ключ SSH - все еще спрашивает пароль и фразу-пароль

Если в Windows использовать PuTTY в качестве генератора ключей SSH , это быстрое и простое решение оказалось для меня единственным работающим решением с использованием простой командной строки Windows:

  1. Ваша установка PuTTY должна поставляться с несколькими исполняемыми файлами, среди прочего, pageant.exeиplink.exe
  2. При генерации ключа SSH с PuttyGen ключ сохраняется с .ppkрасширением
  3. Выполнить "full\path\to\your\pageant.exe" "full\path\to\your\key.ppk"( необходимо указать). Это запустит pageantсервис и зарегистрирует ваш ключ (после ввода пароля).
  4. Установить переменную окружения GIT_SSH=full\path\to\plink.exe( не должно быть в кавычках). Это перенаправит команды, связанные с git ssh-communication, plinkкоторые будут использовать pageantсервис для аутентификации без повторного запроса пароля.

Выполнено!

Примечание 1: Эта документация предупреждает о некоторых особенностях при работе с GIT_SHHнастройками переменных среды. Я могу push, pull, fetchс любым количеством дополнительных параметров в команде и все работает просто отлично для меня (без необходимости писать дополнительный скрипт , как это было предложено в нем).

Примечание 2: Путь к PuTTYустановке обычно указан,PATH поэтому может быть пропущен. В любом случае, я предпочитаю указывать полные пути.

Автоматизация:

Следующий командный файл можно запустить перед использованием git из командной строки. Это иллюстрирует использование настроек:

git-init.bat
   @ECHO OFF
   :: Use start since the call is blocking
   START "%ProgramFiles%\PuTTY\pageant.exe" "%HOMEDRIVE%%HOMEPATH%\.ssh\id_ed00000.ppk"
   SET GIT_SSH=%ProgramFiles%\PuTTY\plink.exe

В любом случае, у меня установлена GIT_SSHпеременная SystemPropertiesAdvanced.exe > Environment variablesи pageant.exeдобавлена ​​в качестве Runключа реестра (*).

(*) Действия по добавлению Runраздела реестра>

  1. запустить regedit.exe
  2. Перейдите к HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > Run
  3. Do (меню) Edit > New > String Value
  4. Введите произвольное (но уникальное) имя
  5. Do (меню) Edit > Modify...(или двойной щелчок)
  6. Введите заключенный в кавычки путь к pageant.exeи public key, например, "C:\Program Files\PuTTY\pageant.exe" "C:\Users\username\.ssh\id_ed00000.ppk"(обратите внимание, что %ProgramFiles%переменные и т. Д. Здесь не работают, если не выбраны Expandable string valueвместо на String valueшаге 3.).

0

Как объясняется в разделе «Клонирование репозитория Git из VSTS через SSH», запрашивается пароль! непредвиденный

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

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

Так что вы можете проверить id_rsa.pub и даже создать новый.


-1

Я думаю, что ответ @sudo bangbang должен быть принят.

Когда вы генерируете ключ ssh, вы просто нажимаете «Enter», чтобы пропустить ввод пароля, когда он предложит вам настроить пароль.

Это означает, что вам НЕ НУЖЕН пароль при использовании ключа ssh, поэтому помните, что при генерации ключа ssh НЕ вводите пароль, просто нажмите «Ввод», чтобы пропустить его.


1
Это очень плохие предложения. Смотрите @ user456814 комментарий
Sos
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.