マウントされたHDDにSFTPサーバーを設定しようとする(client_loop:切断された転送:接続をリセット)

マウントされたHDDにSFTPサーバーを設定しようとする(client_loop:切断された転送:接続をリセット)

マウントされたハードドライブにSFTPサーバーを設定し、多数のチュートリアルの指示に従って試しましたが、ログインしても「client_loop:切断された転送:接続をリセットする」というメッセージが表示され続けました。

まず、sftpという名前のグループを作成し、ホームディレクトリがHDDのグループにユーザーを割り当てます。

sudo useradd -g sftp -d /media/linux/MyHDD/NAS/USERNAME -s /sbin/nologin USERNAME-nas

sudo passwd USERNAME

ここで、USERNAME は私の個人ユーザー名です。

その後、USERNAMEフォルダの上のすべてのアイテムの所有権をrootに設定し、USERNAMEフォルダをユーザーに設定してみました。

sudo chown -R root:root /media

sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME

以下を含むようにsshd_configファイルを編集します。

Subsystem sftp internal-sftp

Match Group sftp
ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
ForceCommand internal-sftp
AllowTcpForwarding no
X11 Forwarding no

sshdサービスを再起動することを忘れないでください

sudo systemctl restart sshd

私はLinuxコンピュータでこのフォルダにアクセスしたいので、メディアフォルダの権限を777に設定しました。

sudo chmod -R 777 /media

これをすべて行った後、sftpにログインしてパスワードを入力しようとすると、次のメッセージが表示されます。

sftp -P PORTNO USERNAME@IP

client_loop: send disconnect: Connection reset
Connection closed

これが権限の問題か所有権の問題かわかりません。私は長い間この問題を解決しようとしてきましたが、理解できないようです。助けてくれてありがとう。

ベストアンサー1

ChrootDirectory /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chown -R USERNAME:sftp /media/linux/MyHDD/NAS/USERNAME
[...]
sudo chmod -R 777 /media

「ChrootDirectory」機能を使用するには、chrootディレクトリとその親ディレクトリに次のものが必要です。特定の所有権と権限:

Chroot ディレクトリ
認証後にchroot(2)のディレクトリパス名を指定します。 sshd(8) はセッションの開始を確認します。パス名のすべてのコンポーネントはルートが所有するディレクトリであり、他のユーザーやグループは書き込めません。。 chrootの後、sshd(8)は作業ディレクトリをユーザーのホームディレクトリに変更します。 ChrootDirectoryのパラメータは、TOKENSセクションで説明されているトークンを受け入れます。

chrootディレクトリを設定する方法には2つの問題があります。

まず、/mediaおよび/media/linux/MyHDD/NAS/USERNAMEその間のすべてのディレクトリはグローバルに、またはグループ書き込みはできません。モードは777ではなく755でなければなりません。

第二に、/media/linux/MyHDD/NAS/USERNAMEルートは独自に所有する必要があります。その中のディレクトリとファイルはユーザーが所有できますが、USERNAMEディレクトリ自体はルートが所有する必要があります。

おすすめ記事