我想知道是否可以使用 ssh 连接中使用的 ssh 密钥以不同的方式 chroot/chdir/process 同一个 unix 用户...
用例可能是仅使用一个 linux/本地用户的 rsync 服务器用于多个虚拟帐户。
这有点像 github/gitlab 管理用户的方式。
编辑:chrooting 不是重点。重点是使用相同的 *nix 用户但使用不同的 SSH 密钥来区分“虚拟”帐户。Chrooting 是一个额外的好处。
附言:我在 F25 服务器上快速完成了 POC。
答案1
我不确定您是否想要不同的 chroot,但诀窍通常是识别 authorized_keys 中的用户。以 Gitolite 为例:
command="/usr/share/gitolite/gl-auth-command john",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAA...
尽管每个人都以用户身份登录,但随后gl-auth-command
就知道是谁git
。