Jam*_*ell 5 ssh git account-restrictions
使用command=""
in authorized_keys
,我可以限制可以由特定键运行的命令。
我需要允许哪些命令才能拥有正常运行的 git remote?
从临Git的书,我可以推断git-upload-pack
和git-receive-pack
是必需的,但有什么事吗?
注意我仍然希望能够正常登录用户,只是不能使用此密钥。
Git 包含一个git-shell
适合用作仅限 Git 的登录 shell 的命令。它完全接受以下命令:
git receive-pack
git upload-pack
git upload-archive
git-receive-pack
git-upload-pack
git-upload-archive
cvs 服务器(用于模拟 CVS 服务器,Git 协议不需要)
所以这些是您需要允许的唯一命令。我可以访问的每个版本的 Git 都只使用带连字符的版本。
git-shell
对于你想做的事情,它本身可能已经足够好了。
您可以通过设置GIT_SSH
回显参数的垫片来验证 Git 正在为任何特定命令运行什么。制作脚本ssh.sh
:
#!/bin/bash
echo "$@" >&2
Run Code Online (Sandbox Code Playgroud)
然后运行:
GIT_SSH="./ssh.sh" git push
Run Code Online (Sandbox Code Playgroud)
你会看到它试图运行的远程命令。
归档时间: |
|
查看次数: |
1328 次 |
最近记录: |