我一直在浏览代码gitlab-shell。我无法理解它是如何被调用的。如果我对我的服务器(安装了 gitlab-shell)进行了拉取,那么 gitlab-shell 如何知道它?bin/gitlab-shell有这一行作为评论:
GitLab shell,从 ~/.ssh/authorized_keys 调用
里面有没有线authorized_keys
它调用 gitlab-shell? (听起来不太可能)。
The 你提到的斑点线将authorized_keys 行构建为:
"command=\"#{ROOT_PATH}/bin/gitlab-shell [auserID]\",\
no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa [aPubKey]
这是利用 SSH 功能(与 Git 或 GitLab 无关),称为“强制命令".
可以看图文硅镁石, 这解释了强制命令允许:
- 限制 shell 访问
- 将一个用户与另一用户区分开来
对于 GitLab,这允许将 SSH 调用限制为gitlab-shell
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)