残念ながら、AclExtension はユーザー名からアクセスをキーにしています。hg-ssh を使用してそれぞれに個別の UNIX ユーザー アカウントを作成している場合、必要なものはすべて揃っていますが、すべての ssh ユーザーが同じ Unix ユーザー アカウントを使用している場合、AclExtension は機能しません。
そうでもなければ...
acl.py ファイルを調べたところ、次のコードを使用してユーザー名の環境をチェックする getpass.py モジュールの getuser を使用しているようです。
for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
user = os.environ.get(name)
if user:
return user
したがって、次のように hg-ssh ユーザーのauthorized_keysファイルに環境変数を設定することで、それを偽造することが可能かもしれません:
command="hg-ssh path/to/repo" environment="LOGNAME=fakeusername" ssh-dss ...
次に、偽のユーザー名を ACL ルールに配置し、キーごとに異なる偽のユーザー名を設定して、すべて同じ UNIX アカウントで実行することができます。
ところで: 誰もが hg-ssh を単独で使用しているようですが、(非公式の) mercurial-server アプリが使用されていることはもうありません。