git 和 Gitolite 等一些实用程序可以通过修改authorized_key
文件来限制 SSH 密钥可以运行的命令。
例如,Gitolite 更改会修改authorized_keys
文件中的条目,因此:
command="/usr/bin/gitolite/src/gitolite-shell username",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
由于此命令在接收端运行,它必须处理来自 SSH 连接的数据流。
像这样的命令如何处理传入的数据,例如读取传入的数据流并将其发送到使用它的任何目录或进程?