Я пытаюсь сохранить аутентификацию ssh с помощью команды ssh-add для использования sudo:

linux$ sudo ssh-add /root/.ssh/id_rsa
Could not open a connection to your authentication agent.

но, как указано, он возвращает ошибку

Я провел некоторое исследование и обнаружил, что мне нужно выполнить команду eval "ssh-agent -s" как указано в следующей ссылке: https://stackoverflow.com/questions/17846529/could-not-open-a- подключение к вашей аутентификации агента /17695338 # 17695338

Но я получил ошибку, если выполнить его с помощью команды sudo

$ sudo eval `ssh-agent -s`
sudo: eval: command not found

Чего мне не хватает?

1 ответ1

1

Из следующей ссылки:

К счастью, есть способ решить эту проблему. Sudo имеет опцию конфигурации, которая позволяет сохранить заданные переменные окружения от пользователя, выполняющего команду sudo. Параметры называются env_keep и могут быть настроены путем изменения настроек в файлах /etc /sudoers следующим образом (всегда используйте visudo для редактирования файла):

visudo

Defaults    env_reset
Defaults>root    env_keep+=SSH_AUTH_SOCK

Другими словами, добавьте строку, сохраняя переменную SSH_AUTH_SOCK ниже строки по умолчанию env_reset. Затем сохраните файл и запустите

ssh-agent bash
ssh-add

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .