假设我正在使用Match Group
在我正在使用的那个块的内部ForceCommand
有没有办法以类似的方式引用连接用户的名称或用户的主文件夹AuthorizedKeysFile
可以使用代币 %h
,%U
, 和%u
?
或者是否ForceCommand
以其他形式获取这些令牌的内容?也就是说,如果我用来/etc/ssh/sshrc
输出环境变量,我会看到$USER
,$HOME
等等;是否合适/允许使用里面的那些ForceCommand
?
如果重要的话:我使用的是 8.2p1 版本。
答案1
该命令以您要连接的用途运行。因此,您已将$USER
、$LOGNAME
、$HOME
等设置为同一用户。使用它们没有问题。
命令本身是使用用户 shell 运行的(通常是 bash,所以/bin/bash -c 'your_forcecommand'
),因此您可以在 ForceCommand 中包含此类变量,它们将由 shell 扩展。
该命令是通过使用用户的登录 shell 和 -c 选项来调用的。
你可以在 OpenSSH 代码中查找它设置PATH
、USER
和。LOGNAME
HOME