我在配置 sshd 守护进程的方式上遇到了一个问题,这里我们在服务器中公开了几个 RO 路径,最终用户必须在他们的机器上使用该 RO 中的服务并使用 sshfs 来挂载它。
配置如下:
Match Group ADGroup1
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /ADGroup1Dir
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Match Group ADGroup2
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /ADGroup2Dir
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
通常,每个想法都有效,除非某些用户同时存在于两个组中。 ssh chrootdirectory 第一个匹配的用户和挂载仅使用以下命令起作用:
sshfs aduser@server:/ /localpath
使用以下命令我们收到没有这样的文件或目录的错误:
sshfs aduser@server:/ADGroup2Dir
但是通过观察 ssh 服务器的调试日志,唯一的“没有这样的文件或目录”错误表明/usr/libexec/openssh/sftp-server
未找到。
有人可以帮忙解决这个问题吗?