#ssh #git #authorization #authz

app git-shell-enforce-directory

将git-shell限制在一个目录中

2个稳定版本

使用旧的Rust 2015

1.0.1 2022年6月14日
1.0.0 2018年3月29日

#8 in #authz

每月 21 次下载

ISC 许可证

6KB
124 代码行

通过force-command将ssh-key限制到特定的git仓库。

受启发于 http://eagain.net/blog/2007/03/22/howto-host-git.html

使用方法

  1. 安装
$ cargo install git-shell-enforce-directory
  1. 修改并运行
$ cat >> ~/.ssh/authorized_keys <<EOF
command="$HOME/.cargo/bin/git-shell-enforce-directory $PATH_TO_GIT_REPO",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-[...] AAAA[...]
EOF

待办事项

  • 使用日志记录
    • -v 启用调试级别
    • 创建 fatal! 宏,它执行 error! 并退出
  • 添加 --read-only 标志
  • 添加测试
  • 修复Cargo.toml元数据的文档路径等。

依赖关系

约3-11MB
约106K SLoC