2つの新しいCentOS7ボックスを同時にセットアップしたので、構成は同じである必要があります。 IPアドレスとホスト名。
VSFTPDをインストールし、パッシブポート用に構成しました。 1つのボックスは正常に接続され、問題はありませんが、2番目のボックスは継続的にこのエラーをスローします:
GnuTLS error -15: An unexpected TLS packet was received.
デバッグFileZillaトレースは次のとおりです:
Status: Connecting to 192.168.20.68:21... Status: Connection established, waiting for welcome message... Trace: CFtpControlSocket::OnReceive() Response: 220 (vsFTPd 3.0.2) Trace: CFtpControlSocket::SendNextCommand() Command: AUTH TLS Trace: CFtpControlSocket::OnReceive() Response: 234 Proceed with negotiation. Status: Initializing TLS... Trace: CTlsSocket::Handshake() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnSend() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: CTlsSocket::OnRead() Trace: CTlsSocket::ContinueHandshake() Trace: TLS Handshake successful Trace: Protocol: TLS1.2, Key exchange: ECDHE-RSA, Cipher: AES-256-GCM, MAC: AEAD Status: Verifying certificate... Status: TLS connection established. Trace: CFtpControlSocket::SendNextCommand() Command: USER datamover Trace: CTlsSocket::OnRead() Trace: CFtpControlSocket::OnReceive() Response: 331 Please specify the password. Trace: CFtpControlSocket::SendNextCommand() Command: PASS ******* Trace: CTlsSocket::OnRead() Trace: CTlsSocket::Failure(-15) Error: GnuTLS error -15: An unexpected TLS packet was received. Trace: CRealControlSocket::OnClose(106) Trace: CControlSocket::DoClose(64) Trace: CFtpControlSocket::ResetOperation(66) Trace: CControlSocket::ResetOperation(66) Error: Could not connect to server
エラーは常にパスワードチェックの直後です。
無効にしたので、問題はSELinuxではないことがわかりました。ファイアウォールデーモン(firewalld)を無効にしようとしたので、問題はファイアウォールでもありません。
/etc/vsftpd/vsftpd.confファイルの関連部分は次のとおりです。
listen=YES listen_ipv6=NO pasv_enable=YES pasv_max_port=10100 pasv_min_port=10090 pasv_address=192.168.20.88 ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO ssl_ciphers=HIGH require_ssl_reuse=NO rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
Google検索を実行しましたが、15個のエラーコードが表示されませんでした。
考えますか?
回答
CENTOS 7でPASSコマンドを実行した後、同じエラーが発生しました(GnuTLSエラー-15:予期しないTLSパケットを受信しました。)
解決策は次のとおりです:
vsftpd.confに以下を追加する必要がありました:
allow_writeable_chroot=YES chroot_local_user=YES local_root=/ftphome/$USER user_sub_token=$USER
コメント
- ありがとうございます。ファイル/etc/vsftpd.confを追加します:user_sub_token = $ USERで、GNUTLSエラーは発生しません-15現在、別のエラーが発生します:データ接続を確立できませんでした:ECONNREFUSED-サーバーによって接続が拒否されました
- ファイル/etc/vsftpd.confで解決しました。” listen_address = 192.168.1.2 ” & ” pasv_address = 192.168.1.2 “これを最後に追加して機能します:D
- 私の場合はlocal_rootが欠落しているディレクトリを指していました-その変数を変更すると、エラー15はなくなりました。
回答
私はこの問題を解決するのに苦労したので、将来誰か、おそらく私に役立つことを願ってこの回答を投稿しています。
私はlocal_root
を持っていませんでした/etc/vsftpd/vsftpd.conf
ファイルが正しく設定されている。設定は存在しないフォルダを指しています。
FileZillaのpasswordコマンドで失敗が見られたので、パスワードが気に入らないと思いました。正しい方向に考えさせられたのは、詳細なログを受け取らなかった理由を時間をかけて調査したことです。ログを受け取りませんでした。 FTPプロトコルを見たデバッグログの受信を開始すると、FTPサーバーがパスワードに対してOKと言っているのがわかりました。残念ながら、どのような種類のロギングもありませんでしたが、パスワードを認証した後、ローカルルートをネゴシエートすることが次のアクションになると思いました。私は正しかったので、問題が発生しました。
ローカルルートを含む/etc/vsftpd/vsftpd.conf
ファイルのコードフラグメントを次に示します。
# You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot"ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) chroot_local_user=YES #local_root=/mnt/raid1 local_root=/ftproot #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list
これが最終的に詳細ログをオンにした方法ですが、ディスク領域を節約してパフォーマンスを向上させるために、ここでオフにします。
# Activate logging of uploads/downloads. xferlog_enable=YES # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. xferlog_std_format=NO log_ftp_protocol=YES # # Activate logging of uploads/downloads. xferlog_enable=YES
私見ですが、xferlog_enableは実際のファイルのアップロードとダウンロード以上のものであるため、コメントはバグだと思います。このプロパティは、ロギングもオンにします。 Googleの調査によると、log_ftp_protocol=YES
にはxferlog_enable=YES
が必要です。
コメント
- スペルミスが原因で、同じトラップに遭遇しました。有効なlocal_rootディレクトリを設定すると、問題が解決しました。
回答
まったく同じエラーが発生しました(エラー:GnuTLSエラー-15:予期しないTLSパケットが受信されました。)そして、1時間ほど頭を叩きましたが、Glusterボリューム上にあるftpユーザーのホームディレクトリがマウントされていないことがわかりました。マウントされたGlusterボリュームと問題が解決されました。
回答
構成ファイルで書き込み可能なchrootを許可する必要があります:
sudo nano /etc/vsftpd.conf
次に、この行を下部に追加します:
allow_writeable_chroot=YES
そして、サービスを再起動します:
sudo service vsftpd restart
回答
奇妙なことに、ls
ログイン後。
nginx
とnginx
を優先して、httpd
をアンインストールしたことが判明しました。使用していたフォルダはapache:apache
が所有しており、httpd
を削除するとユーザーが削除されました。 chcon
“ディレクトリをnginx:nginx
に移動し、構成ファイルの次の行のユーザーを置き換えました: guest_username=nginx nopriv_user=nginx
エラーメッセージがまったく役に立たなかったので、これが誰かの助けになることを願っています。
回答
Ndianabasiに追加したい:
お持ちの場合:
allow_writeable_chroot=NO
chrootを有効にしている場合、ログインしようとしているユーザーがChrootディレクトリに書き込むことはできません。これは私の場合であり、同じエラーが発生しました。私はそれ(ルートディレクトリ)をroot:rootに変更し、それで修正しました。
P.S。マニュアルページで上記のオプションが見つからないことを確認しましたが、古いバージョンで利用できる可能性があります。
コメント
- 回答があれば書き込み可能なchrootを許可する必要があるということですが、これはこの問題を抱えている人をどのように助けますか?
回答
ディレクトリとその親ディレクトリがsftpユーザーにとって読み取り可能で実行可能かどうかを確認します。
コメント
- これに注意してください特定の質問には承認済みの回答があります。これは、問題がすでに解決されていることを意味します。
- ありがとうございますが、この問題をどのように解決したかを追加したかっただけです。私の場合、それとも何かを追加するのはまだ不適切だと思いますか?
- この特定の問題には非常に具体的な答えがあるように聞こえたので、既存の答えに言及しました。まったく同じ症状に遭遇しましたか?そうではなく、いつでも&に自分の特定の問題に答えてもらうことができます
- はい、まったく同じ症状でした。
回答
まだコメントを投稿できないので、これは部分的にスコットのコメントへの応答であり、ファンタスティック氏の回答を明確にするためです…
私はこの同じ問題に遭遇しました試行錯誤の結果、allow_writeable_chroot = YESを設定するよりも、これが実際に何を意味し、より良い解決策(IMHO)であるかがわかりました。
これは、vsftpdで、ユーザーのホームディレクトリがそのユーザーによって書き込み可能である状況を許可する必要があることを意味します。 。代わりに、セキュリティ上の理由から、ユーザーのルートフォルダの権限を555に変更しました。別のスレッドによると、これにより「ROARINGBEASTATTACK」が軽減されます。
私の場合、元の設定は(777)drwxrwxrwxでした。 / home / ftpuser /
ユーザーのディレクトリを次のように変更します:(555)dr-xr-xr-x / home / ftpuser /
ユーザーのホームディレクトリをNOTにしましたユーザーが書き込み可能であるため、allow_writeable_chroot = YESを使用する必要はありませんでした。事前設定されたディレクトリ構造があり、ユーザーがルートフォルダに新しいファイルやディレクトリを作成することを望まないので、これは私の状況では問題ありません(そしてより安全です)。
切り替えたときにこれを理解しましたvsftpdのlocal_root =パラメータを介してホームディレクトリを/ var / ftpに移動し、allow_writeable_chroot = YESを設定しなくても機能しました。このフォルダ/ var / ftpは(755)ですが、rootが所有しているため、ftpuserは書き込みできません。