sudo ssh-добавляют ошибку возврата/root/.ssh/id_rsa

Я пытаюсь сохранить аутентификацию 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-connection-to-your-authentication-agent/17695338#17695338

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

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

Что я пропускаю?

4
задан 23 May 2017 в 15:39

2 ответа

От следующего ссылка :

, К счастью, существует способ решить эту проблему. 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 управляют что доступы сервер с помощью non-sudo user’s ключ, не попросившись ключевого пароля.

2
ответ дан 1 December 2019 в 10:18

К сожалению, я не могу найти первоисточник этого предложения, но это помогло мне. По сути, он использует переменные среды ssh текущих пользователей при запуске команды с помощью sudo.

sudo sh -c 'export SSH_AUTH_SOCK="'"$SSH_AUTH_SOCK"'"; export SSH_AGENT_PID="'"$SSH_AGENT_PID"'"; ssh-add /root/.ssh/id_rsa'
0
ответ дан 14 April 2020 в 11:07

Другие вопросы по тегам:

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