Я хочу сделать ssh ключ (passwordless), что я могу раздать удаленным пользователям, таким образом, они могут сделать получение по запросу hg или hg клон моих репозиториев. Я добрался до создания ssh ключа, который использует только команду/usr/bin/hg, но это не работает при использовании клона или вытягивает команды, потому что командная строка не соответствует что удаленный вызов команды подвижное использование внутренне.
Это возможный получить подвижные команды выполняется на удаленном хосте, когда Вы делаете a:
hg clone ssh://user@host//path-to-repo
hg pull ssh://user@host//path-to-repo
И я могу надежно придумать пару командных строк, которые будут касаться всех моих баз? Если бы они собирались вытянуть с определенным пересмотром, который использовал бы другую удаленную команду через ssh?
Подвижный прибывает с удобным сценарием, уже устанавливают для точно этого вида ограниченного доступа. Сценарий, вероятно, уже находится на Вашем сервере и назван hg-ssh, но можно также найти его здесь: http://www.selenic.com/repo/hg-stable/raw-file/tip/contrib/hg-ssh
Использовать его просто поместило строку как это в Вашем /home/user/.ssh/authorized_keys
файл:
command="hg-ssh path/to/repo1 /path/to/repo2 ~/repo3 ~user/repo4" ssh-dss ...
это удостоверится, что люди w/, что ключ может только использовать подвижный (не оболочка) и только на repos, который Вы перечисляете.
Знак до Битоприемника и клона Ваш репозиторий к нему.
Затем можно создать ключи развертывания и распределить их пользователям.
С другой стороны, заставьте своих пользователей регистрироваться в Битоприемнике и давать им разрешение только для чтения. Они могут затем получить доступ к репозиторию с помощью https или ssh, если они загружают свой открытый ключ.