Két új CentOS 7 dobozt egyszerre állítottam fel, így a konfigurációknak azonosaknak, csak különbözőeknek kell lenniük ip címek és hosztnevek.
Telepítettem a VSFTPD-t és konfiguráltam a passzív portokra. Az egyik doboz jól összekapcsolódik, nincs probléma, azonban a második doboz folyamatosan dobja el ezt a hibát:
GnuTLS error -15: An unexpected TLS packet was received.
Itt található a FileZilla hibakereső nyomkövetése:
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
A hiba mindig a jelszó ellenőrzése után következik be.
Tudom, hogy a probléma NEM SELinux, mivel ezt letiltottam. A probléma nem is a tűzfal, mivel megpróbáltam letiltani a tűzfal démonot (tűzfal).
Itt található az /etc/vsftpd/vsftpd.conf fájl megfelelő része.
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-keresést végeztem, de nem láttam 15 hibakódot.
Gondolatok?
Válasz
Ugyanaz a hibám volt a PASS parancs után a CENTOS 7-ben. (GnuTLS -15 hiba: váratlan TLS csomag érkezett.)
Megoldásom a következő:
A következőt kellett felvennem a vsftpd.conf fájlba:
allow_writeable_chroot=YES chroot_local_user=YES local_root=/ftphome/$USER user_sub_token=$USER
Megjegyzések
- Köszönöm, az /etc/vsftpd.conf fájlomhoz hozzáadom: user_sub_token = $ USER, és most nincs meg a GNUTLS -15 hiba
- megoldottam az /etc/vsftpd.conf fájlomra, ugyanazt az értéket tettem fel a ” listen_address = 192.168.1.2 ” & ” pasv_address = 192.168.1.2 ” ezt utoljára adom hozzá, és működik, szükségem van rá: D
- Esetemben I a local_root hiányzó könyvtárra mutatott – amikor módosítottam ezt a változót, a 15. hiba eltűnt.
Válasz
Abban a reményben teszem közzé ezt a választ, hogy a jövőben segíthet valakinek, esetleg nekem, mivel szenvedtem ennek a problémának a megoldásában.
Nem volt local_root
a /etc/vsftpd/vsftpd.conf
fájl megfelelően van beállítva. A beállítás egy mappára mutatott, amely nem létezett.
Ami rajtam keresztül volt, hogy a FileZilla jelszóparancsának hibáját láttam, úgy gondoltam, hogy nem tetszik neki a jelszó. Ami jó irányba gondolt, az az volt, hogy időt szántam arra, hogy megvizsgáljam, miért nem kapok részletes naplókat. Nem kaptam naplót. Miután elkezdtem kapni a hibakeresési naplókat, ahol láttam az FTP protokollokat, láttam, hogy az FTP szerver rendben van a jelszóval. Sajnos nem volt semmiféle naplózás, de találkoztam azzal a gondolattal, hogy a helyi gyökér tárgyalása lesz a következő lépés a jelszó hitelesítése után. Igazam volt, és ez vezetett a problémához.
Itt található a kódrészlet a /etc/vsftpd/vsftpd.conf
fájlban, amely a helyi gyökeret tartalmazza.
# 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
Így kapcsoltam be végül a részletes naplózást, bár ezt most kikapcsolom a lemezterület megőrzése és a teljesítmény javítása érdekében.
# 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
IMHO, hibának tartanám a megjegyzést, mivel az xferlog_enable több, mint a fájlok tényleges feltöltése és letöltése. Ez a tulajdonság bekapcsolja a naplózást is. Egy Google-kutatás igazolja, hogy a log_ftp_protocol=YES
xferlog_enable=YES
szükséges.
Megjegyzések
- Csak egy elírás miatt futott be ugyanabba a csapdába. Érvényes local_root könyvtár beállítása megoldotta a problémát.
Válasz
Pont ugyanazzal a hibával szembesültem (Hiba: GnuTLS hiba -15: Váratlan TLS csomag érkezett.) És egy órán át megütötte a fejem, de aztán rájöttem, hogy az ftp felhasználók Gluster köteten lévő otthoni könyvtárát nem csatlakoztatták. A felszerelt Gluster kötet és a probléma megoldódott.
Válasz
Engedélyeznie kell az írható chroot-t a konfigurációs fájlban:
sudo nano /etc/vsftpd.conf
Ezután adja hozzá ezt a sort alul:
allow_writeable_chroot=YES
És indítsa újra a szolgáltatást:
sudo service vsftpd restart
Válasz
Furcsa módon számomra ez a probléma felvetődött, amikor ls
bejelentkezés után.
Kiderült, hogy eltávolítottam a httpd
alkalmazást a nginx
javára. Az általam használt mappa a apache:apache
tulajdona volt, és a felhasználó eltávolításra került, amikor eltávolítottam a következőt: httpd
. chcon
“a könyvtárakat nginx:nginx
-re helyeztem, majd kicseréltem a felhasználót a konfigurációs fájlom következő soraiba: guest_username=nginx nopriv_user=nginx
Remélhetőleg ez segít valakinek odakinn, mert a hibaüzenetek egyáltalán nem voltak hasznosak.
Válasz
Szeretném hozzáadni az Ndianabasi-hoz:
Ha:
allow_writeable_chroot=NO
és engedélyezte a chroot funkciót, a Chroot könyvtárat nem írhatja le az a felhasználó, akinek bejelentkezni próbál. Ez az én esetem volt, és ugyanaz a hiba merült fel. A root (root) könyvtárat a root: root-ra gondoltam, és ez kijavította nekem.
P.S. Megnéztem, hogy a man oldalakon már nem találom az említett opciót, de régebbi verziókban elérhető lehet.
Megjegyzések
- Ha a válasz az, hogy engedélyezned kell az írható chroot-t, hogyan segíthet ez bárkinek, akinek ilyen problémája van?
Válasz
ellenőrizze, hogy a könyvtár és annak szülőkönyvtárai olvashatók-e és végrehajthatók-e az sftp felhasználó számára.
Megjegyzések
- Felhívjuk figyelmét, hogy ez egy adott kérdésre van egy elfogadott válasz , vagyis a problémájuk már megoldódott.
- köszönöm, de csak azt akartam hozzáadni, hogyan oldottam meg ezt a problémát az én esetemben. vagy szerinted még mindig nem megfelelő hozzáadni valamit?
- Azért említettem a meglévő választ, mert úgy hangzott, hogy ennek a problémának nagyon konkrét válasza volt. Ugyanezen tünetekkel találkozott? nem, mindig megkérdezheted & a saját problémád megválaszolását a konkrét válaszoddal.
- Igen, pontosan ugyanazok a tünetei voltak.
Válasz
Még nem tudok hozzászólásokat küldeni, így ez részben válasz Scott válaszára és a Mr.Fantastic válaszának tisztázására …
Ugyanezen problémába ütköztem és néhány kísérlet és hiba kitalálta, hogy ez valójában mit jelent, és jobb megoldás (IMHO), mint az allow_writeable_chroot = YES beállítása.
Ez azt jelenti, hogy a vsftpd lehetővé teszi azt a helyzetet, amikor a felhasználó saját könyvtárát az adott felhasználó írja . Ehelyett biztonsági okokból megváltoztattam a felhasználó gyökérmappájának engedélyeit 555-re. Egy másik szál szerint ez enyhíti a “ROARING BEAST ATTACK” -t.
Esetemben az eredeti beállítás a következő volt: (777) drwxrwxrwx / home / ftpuser /
A felhasználó könyvtárának megváltoztatása erre: (555) dr-xr-xr-x / home / ftpuser /
a felhasználó saját könyvtárát NEM tette meg írható a felhasználó által, ezért nem kellett használnom az allow_writeable_chroot = IGEN parancsot. Ez jó (és biztonságosabb) a helyzetem szempontjából, mivel előre beállított könyvtárstruktúrám van, és nem akarom, hogy a felhasználó mindenképpen új fájlokat vagy könyvtárakat készítsen a gyökérmappájukba.
Ezt rájöttem, amikor váltottam az otthoni könyvtár a / var / ftp fájlra a vsftpd local_root = paraméterén keresztül, és úgy működött, hogy nem kellett volna beállítanunk az allow_writeable_chroot = IGEN parancsot. Ez a / var / ftp mappa (755), de a root tulajdonában van, így az ftpuser nem írható.