использование sudo с аутентификацией mercurial и ssh

Как мне запустить
ssh-add key
sudo hg clone [email protected]/etc/etc

, но использовать мои ssh-ключи, а не суперпользователей.

Привет всем, когда я использую sudo, например, с sudo hg clone [email protected]/etc/etc после того, как я добавил ключ в свою учетную запись пользователя, это не работает. Я помню, что это потому, что sudo запускается от имени суперпользователя, но этому пользователю нельзя добавлять ключи. Я помню, как устанавливал некоторую директиву (я использую debian), которая позволяла мне запускать эту команду как sudo, но все же мои ключи ssh были взяты из моей обычной учетной записи пользователя, но в то время я не отмечал этого. Спасибо.


person Shawn    schedule 09.05.2010    source источник
comment
Зачем нужно запускать hg под sudo?   -  person Marcelo Cantos    schedule 10.05.2010
comment
Я думал, по той же причине, что всем нужно запускать sudo, я не хочу давать разрешения на запись моей учетной записи. Я тоже нашел то, что искал. env_keep = SSH_AUTH_SOCK, добавленный к вашим значениям по умолчанию в visudo, позволяет sudo использовать аутентификацию SSH из учетной записи, в которой запущена sudo, а также позволяет этому cmd использовать повышение привилегий.   -  person Shawn    schedule 10.05.2010


Ответы (2)


Ответ Ry4an указал мне правильное направление, но я обнаружил, что, по крайней мере, с текущей версией (1.6.4) Hg, вам нужно поставить --ssh (или эквивалентный -e) после команды hg .

e.g.

hg clone -e 'ssh -i /path/to/key' ssh://user@host/path
person Thomas Dufour    schedule 26.10.2010

Я вижу, вы нашли способ связать пользовательскую цепочку sudo с ключом вашего основного пользователя, но вместо использования ssh-agent для чего-то вроде этого вы более безопасны, явно указывая ключ:

sudo hg --ssh '/usr/bin/ssh -i /path/to/private.key' clone [email protected]/etc/etc 
person Ry4an Brase    schedule 10.05.2010
comment
ох, это хорошо. Теперь не нужно изменять файл sudoers. Спасибо! - person Shawn; 11.05.2010
comment
У меня не работает, отображается ошибка: hg: option --ssh не распознан - person Kristjan Adojaan; 27.12.2018