ssh-add жалуется: не удалось открыть соединение с вашим агентом аутентификации

Я пытаюсь получить ssh-add, работающий над RaspberryPi, работающим с Raspbian.

Я могу запустить ssh-agent, когда я это делаю, выдает следующий вывод в терминал:

SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;

Если я запустил ps aux | grep ssh Я вижу, что он работает.

Затем я пытаюсь запустить ssh-add, чтобы добавить кодовую фразу ключа, и получаю следующее:

Could not open a connection to your authentication agent.

Любые идеи?

139 голосов | спросил Daniel Groves 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 22 Sep 2012 19:22:16 +0400 2012, 19:22:16

8 ответов


192

Ваша оболочка предназначена для оценки вывода кода оболочки с помощью ssh-agent. Запустите это вместо:

eval "$(ssh-agent)"

Или, если вы уже запустили ssh-agent, скопируйте его в приглашение оболочки (при условии, что вы используете оболочку Bourne).

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

ответил Stéphane Chazelas 22 ndEurope/Moscowp30Europe/Moscow09bEurope/MoscowSat, 22 Sep 2012 20:26:00 +0400 2012, 20:26:00
22

Попробуйте следующее:

$ ssh-agent /bin/sh
$ ssh-add $yourkey
ответил user48656 7 +04002013-10-07T02:12:39+04:00312013bEurope/MoscowMon, 07 Oct 2013 02:12:39 +0400 2013, 02:12:39
10

Этот вопрос также очень хорошо освещен в Stackoverflow .

eval `ssh-agent -s`

ssh-add
ответил xaa 31 Jam1000000amSat, 31 Jan 2015 02:15:50 +030015 2015, 02:15:50
5

Если вы используете csh как оболочку ( FreeBSD PI ), это может сработать:

eval `ssh-agent -c`

Далее вам нужно только сделать что-то вроде:

ssh-add ~/.ssh/id_rsa
ответил nbari 10 Jpm1000000pmFri, 10 Jan 2014 16:56:04 +040014 2014, 16:56:04
1

Вы также можете использовать следующий синтаксис:

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
ответил kenorb 27 MaramFri, 27 Mar 2015 00:24:15 +03002015-03-27T00:24:15+03:0012 2015, 00:24:15
1

Попробуйте следующее: перейдите в C:\$Installation_Folder$\Git\cmd и выполните:

start-ssh-agent 

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

ssh-add ~/.ssh/id_rsa должен работать.

ответил sab125 14 J0000006Europe/Moscow 2015, 02:59:08
1

Это сбивало с толку и имеет 2 возможных хороших ответа, в зависимости от того, пытается ли пользователь добавить ключ ssh в Linux или в Windows (как и я). Это, вероятно, не отвечает OP, но является расширением для git-bash. Я запускаю как Windows, так и Ubuntu для разработки, а моя установка git немного отличается в каждом.

  

Попробуйте это: перейдите в C: \ $ Installation_Folder $ \ Git \ cmd и выполните:

     

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

.. был хорошим ответом Windows, но не смог указать, что вы должны были пройти через проводник Windows, чтобы найти папку установки Git, и запустить оболочку Windows откроется по завершении шага 1.
"перейдите к C: \ $ Installation_Folder $ \ Git \ cmd"

Шаг 2: вам просто нужно дважды щелкнуть

start-ssh-agent

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

ответил Wolf Halton 28 +03002015-10-28T13:56:49+03:00312015bEurope/MoscowWed, 28 Oct 2015 13:56:49 +0300 2015, 13:56:49
1

Есть несколько способов, если вы хотите использовать личность с sudo, например sudo npm install.

Длинный путь , но также дает вам root-доступ, поэтому вам не нужно многократно использовать sudo.

  1. Запустить
    sudo ssh-agent bash
    Это потребует вашего пароля и после запуска ssh-agent с привилегиями суперпользователя
  2. Перейдите в папку .ssh ваших пользователей
    cd /home/user/.ssh
  3. Оттуда вы можете запустить

    ssh-add id_rsa
    npm install git+ssh://[email protected] -g && npm link PROJECT-NAME
    

Короткий путь , только ваш пользователь (если вы не хотите многое делать)

eval "$(ssh-agent)"
ssh-add
sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install git+ssh://[email protected] -g && sudo npm link PROJECT-NAME
ответил Belldandu 8 TueEurope/Moscow2015-12-08T20:02:56+03:00Europe/Moscow12bEurope/MoscowTue, 08 Dec 2015 20:02:56 +0300 2015, 20:02:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132