SSH SFTP 仅使用 chroot 和命令

SSH SFTP 仅使用 chroot 和命令

我尝试限制仅使用一个用户帐户访问 SFTP。登录后应该执行一些命令。因此我在 sshd_config 中插入了forcecommmand:

Match group stream
   #ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand sudo /etc/mountsftp.sh
   #ForceCommand internal-sftp

这工作正常,我的命令脚本:

#!/bin/bash
now=$(date +"%T,%D")
echo "Login : $now" >> /login.log
sshfs usrl@server:/usbshare1-2 /media/pp -o reconnect -o allow_other -o workaround=all
mount --bind /media/pp/Serien /home/stream/Serien
J=$HOME
#
#exit by calling a shell to open for the ssh session
#internal-sftp
#cp -v /usr/lib/openssh/sftp-server $J/bin/
chroot $J /usr/lib/openssh/sftp-server

被执行。但是在 chroot 后,无法启动 sftp 服务器,因为在 chroot 后找不到它。但我需要 Chroot 以及这个 sftp 服务器。有什么办法可以做到这一点吗?

PS:用于挂载的 Autofs 不是选项,因为所有内容都在没有所需内核模块的虚拟服务器上执行。

答案1

sftp-server将二进制文件及其所有依赖项 ( )复制ldd /usr/lib/openssh/sftp-server到 chroot,然后您就可以运行它了。

相关内容