Создание ssh-ключа только для ртутных пулов / клонов
4137
goathens
Я хочу создать ключ ssh (без пароля), который я мог бы раздать удаленным пользователям, чтобы они могли выполнять hg pull или hg clone моих репозиториев. Я дошел до создания ключа ssh, который использует только команду / usr / bin / hg, но он не работает при использовании команд clone или pull, потому что строка команды не совпадает с тем, что удаленный вызов команды mercurial использует внутренне.
Можно ли получить команды, которые Mercurial выполняет на удаленном хосте, когда вы делаете:
И могу ли я надежно придумать пару командных строк, которые охватят все мои базы? Если бы они собирались вытащить с определенной ревизией, будет ли это использовать другую удаленную команду через ssh?
3 ответа на вопрос
5
Ry4an Brase
Mercurial поставляется с удобным скриптом, уже настроенным именно для такого рода ограниченного доступа. Сценарий, вероятно, уже находится на вашем сервере и называется hg-ssh, но вы также можете найти его здесь: http://www.selenic.com/repo/hg-stable/raw-file/tip/contrib/hg-ssh
Чтобы использовать это просто поместите строку в вашем /home/user/.ssh/authorized_keysфайле:
это гарантирует, что люди с этим ключом могут использовать только Mercurial (не оболочку) и только в репозиториях, которые вы перечисляете.
2
Takayuki SHIMIZUKAWA
Поэтому, если вы не хотите, чтобы они давили, то я рекомендую использовать опцию --read-only для команды hg-ssh в дополнение к ответу Ry4an.
0
Alasdair
Зарегистрируйтесь в Bitbucket и клонируйте в него свой репозиторий.
Затем вы можете создавать ключи развертывания и распространять их среди своих пользователей.
Кроме того, попросите пользователей подписаться на Bitbucket и предоставьте им разрешение только на чтение. Затем они могут получить доступ к хранилищу с помощью https или ssh, если загрузят свой открытый ключ.
Это было изменено на - любое количество частных репозиториев.
viraptor 13 лет назад
0