Windows could not open a connection to your authentication agent
Git Bash: Could not open a connection to your authentication agent [duplicate]
I’m new to Github and Generating SSH Keys look a neccessity. And was informed by my boss about this, so I need to comply.
I successfully created SSH Key but when I’m going to add it to the ssh-agent
this is what happens
What seems to be the problem?
8 Answers 8
It seems you need to run ssh-agent before using it:
/.ssh/id_rsa – leipzy Jun 11 ’14 at 11:14
I checked all the solutions on this post and the post that @kenorb referenced above, and I did not find any solution that worked for me.
I used the ‘Git Bash‘ console for everything. And all was well until I tried to install the SSH keys. GitHub’s documentation says to do the following (don’t run these commands until you finish reading the post):
Ensure ssh-agent is enabled:
If you are using Git Bash, turn on ssh-agent: If you are using another terminal prompt, such as msysgit, turn on ssh-agent:
Now of course I missed the fact that you were supposed to do one or the other. So, I ran these commands multiple times because the later ssh-add command was failing, so I returned to this step, and continued to retry over and over.
This results in 1 Windows ‘ssh-agent’ process being created every single time you run these commands (notice the new PID every time you enter those commands?)
So, Ctrl + Alt + Del and hit End Process to stop each ‘ssh-agent.exe‘ process.
Now that all the messed up stuff from the failed attempts is cleaned up, I will tell you how to get it working.
In ‘Git Bash‘:
Start the ‘ssh-agent.exe‘ process
And install the SSH keys
* Adjust the path above with your username, and make sure that the location of the* /.ssh directory is in the correct place. I think you choose this location during the Git installation? Maybe not.
The part I was doing wrong before I figured this out was I was not using quotes around the ‘ssh-add‘ location. The above is how it needs to be entered on Windows.
Не удалось открыть соединение с вашим агентом аутентификации
Я столкнулся с этой ошибкой:
Я попытался добавить ключи, и я получаю эту ошибку ниже:
Вам может потребоваться запустить ssh-agent перед запуском команды ssh-add :
Обратите внимание, что это запустит агент для msysgit Bash в Windows. Если вы используете другую оболочку или операционную систему, возможно, вам придется использовать вариант команды, например, перечисленные в других ответах.
Посмотрите следующие ответы:
Чтобы автоматически запустить ssh-agent и разрешить работу одного экземпляра в нескольких консольных окнах, см. Запустить ssh-agent при входе в систему.
Чтобы узнать, почему, см. ответ Робин Грин.
Открытые и закрытые ключи
/.ssh/id_rsa.pub выглядит как открытый ключ, я не уверен, что это сработает. У вас есть файл
Я попробовал другие решения безрезультатно. Я сделал больше исследований и обнаружил, что работала следующая команда. Я использую Windows 7 и Git Bash.
Для меня работала следующая команда. Я использую CentOS.
MsysGit или Cygwin
Если вы используете Msysgit или Cygwin, вы можете найти хороший учебник в SSH-Agent в msysgit и cygwin и bash:
Откройте файл и вставьте его:
Это предполагает, что ваш ключ находится в обычном месте
Добавить или создать файл
/.ssh/config с содержимым
Перезапустите Msysgit. Он попросит вас ввести кодовую фразу один раз и что он (пока вы не закончите сеанс, или ваш ssh-agent не будет убит.)
Mac/OS X
Если вы не хотите запускать новый ssh-agent при каждом открытии терминала, проверьте Keychain. Я сейчас на Mac, поэтому я использовал учебник ssh-agent с zsh и keychain в Mac OS X, чтобы настроить его, но я уверен, что Google поиск будет иметь много информации для Windows.
Обновить. Лучшим решением для Mac является добавление вашего ключа в цепочку ключей Mac OS:
Не удалось открыть соединение с вашим агентом проверки подлинности
Чтобы устранить эту ошибку:
Горячий совет:
Теперь вместо использования ssh-agent я могу использовать ssh-agent-cyg
Исходный исходный код исправления:
Я столкнулся с той же проблемой для Linux, и вот что я сделал:
В принципе, команда ssh-agent запускает агент, но на самом деле он не устанавливает переменные среды для его запуска. Он просто выводит эти переменные в оболочку.
ssh-add и ssh (при условии, что вы используете реализации openssh) требуется переменная среды, чтобы знать, как разговаривать с агентом ssh. Если вы запустили агент в другом окне командной строки к тому, который вы используете сейчас, или если вы начали его неправильно, ни ssh-add, ни ssh не увидит, что эта переменная среды установлена (поскольку переменная окружения локально установлена в команду запросите его установить).
Вы не говорите, какую версию ssh вы используете, но если вы используете cygwin, вы можете использовать этот рецепт из агента SSH на Cygwin:
Это автоматически запустит агент для каждого нового окна командной строки, которое вы открываете (что является субоптимальным, если вы открываете несколько командных подсказок за один сеанс, но по крайней мере он должен работать).
Попробуйте выполнить следующие действия:
1) Откройте Git Bash и запустите: cd
Вот что я выполнил шаг за шагом (шаг 2 и далее на GitBash):
В Windows 10 я попробовал все ответы, перечисленные здесь, но ни один из них, похоже, не работал. На самом деле они дают ключ. Чтобы решить проблему просто вам нужно 3 команды. Идея этой проблемы заключается в том, что ssh-add требует, чтобы переменные среды SSH_AUTH_SOCK и SSH_AGENT_PID устанавливались с текущим пути файла ssh-agent sock и номером pid.
Это сохранит вывод ssh-agent в файле. Содержимое текстового файла будет выглядеть примерно так:
Скопируйте что-то вроде «/tmp/ssh-kjmxRb2764/agent.2764» из текстового файла и выполните следующую команду непосредственно в консоли:
Скопируйте что-то вроде «3044» из текстового файла и выполните следующую команду непосредственно в консоли:
Теперь, когда переменные среды (SSH_AUTH_SOCK и SSH_AGENT_PID) установлены для текущего сеанса консоли, запустите команду ssh-add, и она не сможет снова подключиться к агенту ssh.
После этого я столкнулся с проблемой, что мой закрытый ключ был слишком открытым, решение, которое мне удалось найти для этого (от здесь):
Наконец, я смог использовать:
Чтобы усилить ответ n3o для Windows 7.
Моя проблема была в том, что некоторые требуемые переменные среды не были установлены, а n3o правильно, что ssh-agent сообщает вам, как устанавливать эти переменные среды, но на самом деле не устанавливает их.
Поскольку Windows не позволяет вам делать «eval», вот что делать:
Перенаправить вывод ssh-agent в пакетный файл с помощью
Теперь удалите третью строку. Ваш temp.bat должен выглядеть примерно так:
Запустите temp.bat. Это установит переменные среды, которые необходимы для работы ssh-add.
Я только что получил эту работу. Откройте файл
Страница, которая дала мне подсказку Настройка SSH для Git сказал, что отступы в одном пространстве важны. хотя у меня была конфигурация здесь от Heroku, у которой не было этого места и работает должным образом.
Если вы будете следовать этим инструкциям, ваша проблема будет решена.
Если вы используете компьютер Mac или Linux, введите:
Если вы на машине Windows, введите:
Все до шага 5.6, где вы можете столкнуться с небольшим запахом. Если агент SSH уже запущен, вы можете получить следующее сообщение об ошибке при перезапуске bash
Если вы это сделаете, используйте следующую команду, чтобы увидеть, работает ли более одного процесса ssh-agent
После удаления всех процессов ssh-agent запустите px aux | grep ssh, чтобы убедиться, что они ушли, а затем перезапустите Bash.
Воила, теперь вы должны получить что-то вроде этого:
Теперь вы можете продолжить работу на шаге 5.7 и далее.
Примечание: это ответ на этот вопрос, который был объединен с этим. Этот вопрос был для Windows 7, то есть мой ответ был для Cygwin/MSYS/MSYS2. Это похоже на некоторый Unix, где я не ожидал бы, что с агентом SSH нужно будет управлять таким образом.
Это запустит агент SSH и выполнит аутентификацию только в первый раз, когда вам это нужно, а не каждый раз, когда вы открываете свой терминал Bash. Он может быть использован для любой программы, использующей SSH в целом, включая ssh и scp. Просто добавьте это в /etc/profile.d/ssh-helper.sh :
Основное решение для запуска ssh-agent дано во многих ответах. Однако многократный запуск ssh-agent (для каждого открытого терминала или для удаленного входа в систему) создаст много копий ssh-agent работающих в памяти. Сценарии, которые предлагаются, чтобы избежать этой проблемы, являются длинными и должны записывать и/или копировать отдельный файл или должны записывать слишком много строк в
Для sh, bash и т.д.:
Для csh, tcsh и т.д.:
Нет необходимости защищать созданный сценарий оболочки
Не удалось открыть соединение с вашим агентом аутентификации
Я сталкиваюсь с этой ошибкой:
Я попытался добавить ключи, и я получаю эту ошибку ниже:
Вам может потребоваться запустить ssh-agent перед запуском ssh-add команды:
Смотрите следующие ответы:
Публичные и частные ключи
/.ssh/id_rsa.pub выглядит как открытый ключ, я не уверен, что это будет работать. У вас есть
/.ssh/id_rsa файл? Если вы откроете его в текстовом редакторе, он говорит, что это закрытый ключ?
Следующая команда работала для меня. Я использую CentOS.
MsysGit или Cygwin
Если вы используете Msysgit или Cygwin, вы можете найти хорошее руководство в SSH-Agent по msysgit, cygwin и bash :
Откройте файл и вставьте в:
Это предполагает, что ваш ключ находится в обычном
/.ssh/id_rsa месте. Если это не так, укажите полный путь после ssh-add команды.
Добавить или создать файл
/.ssh/config с содержимым
Перезапустите Msysgit. Он попросит вас ввести пароль один раз, и все (до тех пор, пока вы не закончите сеанс или пока ваш ssh-agent не будет убит).
Mac OS X
Не удалось открыть соединение с вашим агентом аутентификации
Чтобы устранить эту ошибку:
Затем используйте ssh-add как обычно.
Горячий совет:
Теперь вместо использования ssh-agent я могу использовать ssh-agent-cyg
Первоначальный источник исправления:
Я столкнулся с той же проблемой для Linux, и вот что я сделал:
По сути, команда ssh-agent запускает агент, но на самом деле не устанавливает переменные среды для его запуска. Он просто выводит эти переменные в оболочку.
Для получения более подробной информации вы можете искать
Для ssh-add и ssh (при условии, что вы используете реализации openssh) требуется переменная окружения, чтобы знать, как общаться с агентом ssh. Если вы запустили агент в окне командной строки, отличном от того, которое вы используете сейчас, или если вы запустили его неправильно, ни ssh-add, ни ssh не увидят, что эта переменная окружения установлена (поскольку переменная окружения установлена локально для команды подскажите он установлен).
Вы не говорите, какую версию ssh вы используете, но если вы используете cygwin, вы можете использовать этот рецепт от агента SSH на Cygwin :
Это автоматически запустит агента для каждого нового окна командной строки, которое вы открываете (что неоптимально, если вы открываете несколько командных строк в одном сеансе, но по крайней мере это должно работать).
Попробуйте выполнить следующие действия:
1) Откройте Git Bash и запустите: cd
Вот что я выполнил шаг за шагом (шаг 2 и далее на GitBash):
В Windows 10 я попробовал все ответы, перечисленные здесь, но ни один из них, похоже, не работал. На самом деле они дают подсказку. Чтобы решить проблему просто вам нужно 3 команды. Идея этой проблемы заключается в том, что ssh-add необходимо установить переменные окружения SSH_AUTH_SOCK и SSH_AGENT_PID с текущим путем к файлу sock-файла ssh-agent и номером pid.
Это сохранит вывод ssh-agent в файл. Содержание текстового файла будет примерно таким:
Скопируйте что-то вроде «/tmp/ssh-kjmxRb2764/agent.2764» из текстового файла и выполните следующую команду прямо в консоли:
Скопируйте что-то вроде «3044» из текстового файла и выполните следующую команду прямо в консоли:
Теперь, когда переменные среды (SSH_AUTH_SOCK и SSH_AGENT_PID) установлены для текущего сеанса консоли, запустите команду ssh-add, и она не сможет снова подключиться к агенту ssh.
После этого я столкнулся с проблемой, что мой закрытый ключ был слишком открытым, решение, которое мне удалось найти для этого ( отсюда ):
наконец я смог использовать:
Моя проблема заключалась в том, что некоторые обязательные переменные среды не были установлены, и n3o правильно, что ssh-agent говорит вам, как установить эти переменные среды, но на самом деле не устанавливает их.
Поскольку Windows не позволяет вам делать «eval», вот что нужно сделать вместо этого:
Перенаправить вывод ssh-agent в командный файл с
Теперь удалите третью строку. Ваш temp.bat должен выглядеть примерно так:
Запустите temp.bat. Это установит переменные окружения, необходимые для работы ssh-add.
Я только что получил это работает. Откройте свой
Если вы будете следовать этим инструкциям, ваша проблема будет решена.
Если вы работаете на компьютере Mac или Linux, введите:
Если вы работаете на компьютере с Windows, введите:
Все до шага 5.6, где вы можете столкнуться с небольшим препятствием. Если агент SSH уже запущен, вы можете получить следующее сообщение об ошибке при перезапуске bash
Если вы это сделаете, используйте следующую команду, чтобы увидеть, запущено ли более одного процесса ssh-agent.
После удаления всех процессов ssh-agent запустите px aux | Снова выполните команду grep ssh, чтобы убедиться, что они исчезли, затем перезапустите Bash.
Вуаля, теперь вы должны получить что-то вроде этого:
Теперь вы можете перейти к шагу 5.7 и далее.
У меня была такая же проблема на Ubuntu и другие решения не помогли мне. Я наконец понял, в чем была моя проблема. Я создал ssh ключи в /root/.ssh папке, поэтому даже когда я запускался ssh-add с правами root, он не мог выполнять свою работу и продолжал говорить
Я создал мои открытые и закрытые ключи SSH в /home/myUsername/ папке, и я использовал
и проблема была решена таким образом.
со страницы руководства:
Основное решение для запуска ssh-agent ответили во многих ответах. Однако ssh-agent многократное выполнение (для каждого открытого терминала или для удаленного входа в систему) создаст много копий, не ssh-agent запущенных в памяти. Сценарии, которые предлагаются, чтобы избежать этой проблемы, являются длинными и требуют записи и / или копирования отдельного файла или необходимости записи слишком большого количества строк в
Нет необходимости защищать созданный сценарий оболочки
Fix: Could not open a connection to your authentication agent
You might get an error that reads “could not open a connection to your authentication agent” when you try and add a key passphrase by using the ssh-add command. This particular problem is usually caused by the ssh-agent not getting correctly assigned, which is why so many people find it becomes a problem in slightly unusual circumstances.
For instance, you might find that you get this error when using RaspberryPi running Raspbian, an embedded router with a fished out command prompt or an Android Linux terminal. You can easily fix it with a simple command that doesn’t require you to play around at all no matter what type of device that you’re working on or which shell you happen to be working from.
Fixing Authentication Agent Errors
Assuming that you already have the ssh-agent running, you shouldn’t have to start it up again. Instead, you’ll want to try adding your key passphrase by running ssh-add from the command line. When you do, you more than likely receive some kind of error that reads “Could not open a connection to your authentication agent” along with generally no other text at all. This isn’t exactly the most helpful command, and some users find that they play around for a long time before they found the answer because it doesn’t lead them in the path of the right answer.
First off, while it seems a bit pedantic, check to make sure that you’re connected to the Internet or whatever other type of networking protocol you’re working with because it could be that you’re merely not connected to the network. This is especially a problem when you’re working with some kind of non-standard LAN equipment where you are only using ssh over some sort of a private network instead of through Ethernet or Wi-Fi.
As long as you’re sure you’re connected, try using ssh-add
/.ssh/id_rsa, having replaced the file name with the actual file name of the key that you were trying to add. We actually named the key on our test machine
/.ssh/id_rsa, which is the name of the sample one though you probably have a different name. You might get a prompt to “Enter passphrase,” which is silent like those in a Linux virtual terminal. Should this accept your passphrase, then you’re perfectly fine and need no further work.
On the other hand, if you get the “Could not open a connection to your authentication agent” error again, the agent needs full reassignment. If you’re working with the regular shell, then just run ssh-agent /bin/sh and then ssh-add
/.ssh/id_rsa, once again making sure to replace the name of the key. You should have the prompt at this point. Those using pure bash who don’t mind what some in the Linux community refer to as “bashisms” in their ssh client can merely use ssh-agent bash and then use the ssh-add command. Most people will find that both root and regular users have bash in their path and don’t need anything else.
Users of fish-shell will want to try either ssh-agent /usr/bin/fish and then ssh-add
/.ssh/id_rsa instead. The above, however, would work fine for those using the Bourne, bash or Almquist shells in an overwhelming majority of cases. If things are working now, then you don’t need to do anything else. Those using the C-Shell or tcsh might run into a problem at this point, though.
/.ssh/id_rsa to get your shell agent registered. This is because tcsh does things a bit differently, though most embedded systems and the like won’t have it. In either case, you should have a working ssh connection at this point as long as you’ve typed everything correctly. If you make any mistakes, then you can just repeat the command as none of these are destructive.
Depending on your configuration, you may have to do this each time that you log onto your ssh connection after a restart. In any case, though, the problem is easily fixed with a single command so you won’t have to sit there playing around afterwards.
Не удалось открыть соединение с вашим агентом аутентификации
Я столкнулся с этой ошибкой:
Я попытался добавить ключи, и я получаю эту ошибку ниже:
Вам может потребоваться запустить ssh-agent перед запуском команды ssh-add :
Обратите внимание, что это запустит агент для msysgit Bash в Windows. Если вы используете другую оболочку или операционную систему, возможно, вам придется использовать вариант команды, например, перечисленные в других ответах.
Посмотрите следующие ответы:
Чтобы автоматически запустить ssh-agent и разрешить работу одного экземпляра в нескольких консольных окнах, см. Запустить ssh-agent при входе в систему.
Чтобы узнать, почему, см. ответ Робин Грин.
Открытые и закрытые ключи
/.ssh/id_rsa.pub выглядит как открытый ключ, я не уверен, что это сработает. У вас есть файл
Я попробовал другие решения безрезультатно. Я сделал больше исследований и обнаружил, что работала следующая команда. Я использую Windows 7 и Git Bash.
Для меня работала следующая команда. Я использую CentOS.
MsysGit или Cygwin
Если вы используете Msysgit или Cygwin, вы можете найти хороший учебник в SSH-Agent в msysgit и cygwin и bash:
Откройте файл и вставьте его:
Это предполагает, что ваш ключ находится в обычном месте
Добавить или создать файл
/.ssh/config с содержимым
Перезапустите Msysgit. Он попросит вас ввести кодовую фразу один раз и что он (пока вы не закончите сеанс, или ваш ssh-agent не будет убит.)
Mac/OS X
Если вы не хотите запускать новый ssh-agent при каждом открытии терминала, проверьте Keychain. Я сейчас на Mac, поэтому я использовал учебник ssh-agent с zsh и keychain в Mac OS X, чтобы настроить его, но я уверен, что Google поиск будет иметь много информации для Windows.
Обновить. Лучшим решением для Mac является добавление вашего ключа в цепочку ключей Mac OS:
Не удалось открыть соединение с вашим агентом проверки подлинности
Чтобы устранить эту ошибку:
Горячий совет:
Теперь вместо использования ssh-agent я могу использовать ssh-agent-cyg
Исходный исходный код исправления:
Я столкнулся с той же проблемой для Linux, и вот что я сделал:
В принципе, команда ssh-agent запускает агент, но на самом деле он не устанавливает переменные среды для его запуска. Он просто выводит эти переменные в оболочку.
ssh-add и ssh (при условии, что вы используете реализации openssh) требуется переменная среды, чтобы знать, как разговаривать с агентом ssh. Если вы запустили агент в другом окне командной строки к тому, который вы используете сейчас, или если вы начали его неправильно, ни ssh-add, ни ssh не увидит, что эта переменная среды установлена (поскольку переменная окружения локально установлена в команду запросите его установить).
Вы не говорите, какую версию ssh вы используете, но если вы используете cygwin, вы можете использовать этот рецепт из агента SSH на Cygwin:
Это автоматически запустит агент для каждого нового окна командной строки, которое вы открываете (что является субоптимальным, если вы открываете несколько командных подсказок за один сеанс, но по крайней мере он должен работать).
Попробуйте выполнить следующие действия:
1) Откройте Git Bash и запустите: cd
Вот что я выполнил шаг за шагом (шаг 2 и далее на GitBash):
В Windows 10 я попробовал все ответы, перечисленные здесь, но ни один из них, похоже, не работал. На самом деле они дают ключ. Чтобы решить проблему просто вам нужно 3 команды. Идея этой проблемы заключается в том, что ssh-add требует, чтобы переменные среды SSH_AUTH_SOCK и SSH_AGENT_PID устанавливались с текущим пути файла ssh-agent sock и номером pid.
Это сохранит вывод ssh-agent в файле. Содержимое текстового файла будет выглядеть примерно так:
Скопируйте что-то вроде «/tmp/ssh-kjmxRb2764/agent.2764» из текстового файла и выполните следующую команду непосредственно в консоли:
Скопируйте что-то вроде «3044» из текстового файла и выполните следующую команду непосредственно в консоли:
Теперь, когда переменные среды (SSH_AUTH_SOCK и SSH_AGENT_PID) установлены для текущего сеанса консоли, запустите команду ssh-add, и она не сможет снова подключиться к агенту ssh.
После этого я столкнулся с проблемой, что мой закрытый ключ был слишком открытым, решение, которое мне удалось найти для этого (от здесь):
Наконец, я смог использовать:
Чтобы усилить ответ n3o для Windows 7.
Моя проблема была в том, что некоторые требуемые переменные среды не были установлены, а n3o правильно, что ssh-agent сообщает вам, как устанавливать эти переменные среды, но на самом деле не устанавливает их.
Поскольку Windows не позволяет вам делать «eval», вот что делать:
Перенаправить вывод ssh-agent в пакетный файл с помощью
Теперь удалите третью строку. Ваш temp.bat должен выглядеть примерно так:
Запустите temp.bat. Это установит переменные среды, которые необходимы для работы ssh-add.
Я только что получил эту работу. Откройте файл
Страница, которая дала мне подсказку Настройка SSH для Git сказал, что отступы в одном пространстве важны. хотя у меня была конфигурация здесь от Heroku, у которой не было этого места и работает должным образом.
Если вы будете следовать этим инструкциям, ваша проблема будет решена.
Если вы используете компьютер Mac или Linux, введите:
Если вы на машине Windows, введите:
Все до шага 5.6, где вы можете столкнуться с небольшим запахом. Если агент SSH уже запущен, вы можете получить следующее сообщение об ошибке при перезапуске bash
Если вы это сделаете, используйте следующую команду, чтобы увидеть, работает ли более одного процесса ssh-agent
После удаления всех процессов ssh-agent запустите px aux | grep ssh, чтобы убедиться, что они ушли, а затем перезапустите Bash.
Воила, теперь вы должны получить что-то вроде этого:
Теперь вы можете продолжить работу на шаге 5.7 и далее.
Примечание: это ответ на этот вопрос, который был объединен с этим. Этот вопрос был для Windows 7, то есть мой ответ был для Cygwin/MSYS/MSYS2. Это похоже на некоторый Unix, где я не ожидал бы, что с агентом SSH нужно будет управлять таким образом.
Это запустит агент SSH и выполнит аутентификацию только в первый раз, когда вам это нужно, а не каждый раз, когда вы открываете свой терминал Bash. Он может быть использован для любой программы, использующей SSH в целом, включая ssh и scp. Просто добавьте это в /etc/profile.d/ssh-helper.sh :
Основное решение для запуска ssh-agent дано во многих ответах. Однако многократный запуск ssh-agent (для каждого открытого терминала или для удаленного входа в систему) создаст много копий ssh-agent работающих в памяти. Сценарии, которые предлагаются, чтобы избежать этой проблемы, являются длинными и должны записывать и/или копировать отдельный файл или должны записывать слишком много строк в
Для sh, bash и т.д.:
Для csh, tcsh и т.д.:
Нет необходимости защищать созданный сценарий оболочки