12.04LTS - не удалось открыть соединение с вашим агентом аутентификации [дубликат]

Я работаю над добавлением аутентификации ssh в новое развертывание Linode Ubuntu 12.04LTS. Я следовал их руководству до того момента, пока мне не нужно было ввести ssh в ящик с моим недавно добавленным ключом ssh, но вместо этого я получаю:

"Error: agent admitted failure to sign using the key"

И это нормально, Ubuntu В руководстве по OpenSSH сказано, что все, что вам нужно сделать, это запустить

ssh-add

на сервере, и вы станете золотым.За исключением того, что когда я это делаю, я получаю

Could not open a connection to your authentication agent.

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

alex@mybox:~$ ps aux | grep ssh
root      2645  0.0  0.1  49948   776 ?        Ss   Mar13   0:00 /usr/sbin/sshd -D
alex     16989  0.0  0.0  12492   324 ?        Ss   Mar13   0:00 ssh-agent
root     18986  0.0  0.7  73360  3564 ?        Ss   09:03   0:00 sshd: alex [priv]   
alex     19119  0.0  0.3  73360  1676 ?        S    09:03   0:00 sshd: alex@pts/0    
alex     19785  0.0  0.0  12492   316 ?        Ss   09:59   0:00 ssh-agent
root     20026  0.0  0.7  73360  3568 ?        Ss   10:02   0:00 sshd: alex [priv]   
alex     20184  0.0  0.3  73360  1680 ?        S    10:03   0:00 sshd: alex@pts/1    
alex     20325  0.0  0.1   9384   924 pts/1    S+   10:13   0:00 grep --color=auto ssh

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

Как правильно решить эту проблему?

3
задан 13 April 2017 в 15:37
4 ответа

Попробуйте запустить ssh-agent для текущего сеанса bash. Вот что вам нужно сделать.

  1. Протестируйте текущий env для ssh-agent PID:

     env | grep ^ SSH
    
  2. Если вы ничего не заметили, запустите ssh-agent для вашего текущего env:

     exec ssh-agent bash
    
  3. Теперь попробуйте добавить ключ:

     ssh-add
    
3
ответ дан 3 December 2019 в 06:10

Убедитесь, что для переменной среды SSH_AGENT_PID задан PID агента SSH, а в SSH_AUTH_SOCK задан путь к сокету агента. (обычно в каталоге / tmp , например: /tmp/ssh-wpNhPp3007/agent.3007 )

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

2
ответ дан 3 December 2019 в 06:10

Ваша проблема связана с клиентом , а не с сервером. Система, в которой работает sshd, не заботится о ssh-add / ssh-agent. Он просто проверяет, может ли клиентская система выполнить авторизационную цифровую подпись. Создана ли эта подпись ssh, ssh-agent или даже смарт-картой, не имеет значения.

Если вы не используете один из стандартных файлов (например, ~ / .ssh / id_rsa_newbox), вам необходимо сообщите ssh ( -i ~ / .ssh / id_rsa_newbox) или ssh-agent ( ssh-add ~ / .ssh / id_rsa_newbox`), чтобы использовать этот нестандартный файл.

-1
ответ дан 3 December 2019 в 06:10

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

ssh-agent sh -c 'ssh-add && echo Do some stuff here.'
0
ответ дан 3 December 2019 в 06:10

Теги

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