sshd Match 指令

sshd Match 指令

我在配置 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未找到。

有人可以帮忙解决这个问题吗?

相关内容