Дилемма: программа для Linux, над которой я работаю, должна:
- Получить «пакет» по протоколу git+ssh:// (используя Git).
- Установите этот «пакет» в систему.
Чтобы git+ssh работал, Git должен видеть мои ключи.
Для «пакетной» установки программа должна иметь права суперпользователя.
Ограничение: программа не должна повышать привилегии (вызывать sudo) сама по себе. Пользователь должен явно вызвать его с помощью sudo. (Давайте проигнорируем случай, когда пользователь запускает программу, войдя в систему как root — при условии, что тогда он правильно настроит ключи.)
Итак, вопрос: как сделать доступ по ssh с пользовательскими ключами из программы, которая вызывается с помощью sudo?