SFTP エラー - パケットを読み取れませんでした: ピアによって接続がリセットされました

SFTP エラー - パケットを読み取れませんでした: ピアによって接続がリセットされました

Centos 7 で SFTP を設定しようとしましたが、最初のサーバーでは問題なく動作しますが、2 番目のサーバーで接続しようとすると次のエラーが発生します。

sftp USERNAME@serveripaddress

このエラーがあります:

Could not read packet: Connection reset by peer

私はこの方法を使います:

adduser USERNAME
passwd USERNAME
groupadd sftp_only
usermod -aG sftp_only USERNAME

SSH chroot を設定します:

vi /etc/ssh/sshd_config

コメントを追加:

#Subsystem Sftp /usr/libexec/openssh/sftp-server

次の行を追加します:

Subsystem sftp internal-sftp

ファイルの最後に以下を追加します:

Group sftp_only Match
ChrootDirectory /var/www
ForceCommand internal-sftp
X11Forwarding No
AllowTcpForwarding No

SSHを再起動します:

service sshd restart

2 台のサーバーに同じ iptables ルールがあり、iptables を無効にして試しています。

VSFTPD のような FTP サーバーをインストールする必要があるのでしょうか?

数時間前から完全にブロックされているため、助けていただきありがとうございます。

答え1

SFTP フロントエンドを提供する proftpd を使用できます。この方法では、SFTP、FTP、FTP/S を 1 つのデーモンに統合できます。ただし、SFTP にポート 22 を使用することはできません。また、proftpd と sshd は SFTP に同じポートをバインドできないため、そのポートでの SSH をあきらめる必要があります。

答え2

ログを /var/log/auth.log に記録する

May 10 17:08:32 machine sshd[31902]: fatal: bad ownership or modes for chroot directory component "/var/www/html/nextcloud/"

それが私の問題でした

これをフォローした後chroot ディレクトリ コンポーネントの所有権またはモードが不正です

ところで、私は結局バインドソリューションを使うことにしたヘルプが必要です - sftp ユーザーへのアクセスを他のユーザーのホーム -> サブフォルダーに制限します

答え3

ファイル内PasswordAuthentication noの に変更し、コマンドで再起動します。PasswordAuthentication yes/etc/ssh/sshd_configservice sshd restart

答え4

ホーム フォルダがルートによって所有され、デフォルト フォルダが sftp ユーザによって所有されていることを確認します。たとえば、incoming をユーザ 'guestuser' のホーム ディレクトリにする場合は、ユーザ /guestuser/incoming でフォルダを作成する必要があります。guestuser フォルダはルートによって所有され、incoming は guestuser によって所有される必要があります。

関連情報