chrootとコマンドのみを使用するSSH SFTP

chrootとコマンドのみを使用するSSH SFTP

SFTPへのアクセスを1つのユーザーアカウントに制限しようとしています。ログインしたら、いくつかのコマンドを実行する必要があります。だから私は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 以降は chroot 以降に sftp サーバーが見つからないため、sftp サーバーを起動できません。ただし、ChrootとこのSFTPサーバーが必要です。これを行う方法はありますか?

PS:すべてが必要なカーネルモジュールなしで仮想サーバーで実行されるため、マウント用のAutofsはオプションではありません。

ベストアンサー1

sftp-serverバイナリとすべての依存関係()をldd /usr/lib/openssh/sftp-serverchrootにコピーすると実行できます。

おすすめ記事