我需要在chroot监狱中隔离一些用户,一切正常。但是还有一个问题:对于这些用户(重定向到chroot),来自ssh客户端的env变量将丢失。
例如,我的用户通过他们的ssh客户端发送env LANG ,此变量位于 sshd_config 文件的 AcceptEnv 列表中, 但它不会传递给chrooted用户会话,即使它非常适合非chrooted的会话。
这是我的 / etc / ssh / sshd_config 更新:
AcceptEnv LANG MY_SPECIFIC_VARS_*
Match Group chrooted
ChrootDirectory /chroot
AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AllowAgentForwarding yes
PermitRootLogin no
不幸的是:
是否有解决此问题的解决方案?
答案 0 :(得分:0)
如果您不想将其添加到全局配置范围,则无法从服务器端强制执行此操作。以为有一些可能性:
AcceptEnv
(不匹配)。客户端解决方案,如果没有太多变量(可以是bash别名或函数):
ssh server "MY_SPECIFIC_VARS=$MY_SPECIFIC_VARS bash"
正如您所说,整个服务器(CentOS 6?)的更新是有意义的。当前的openssh支持AcceptEnv
块中的Match
。