เหตุใดฉันจึงถูกเตะออกจากเซสชัน FTP เมื่อฉันเรียกใช้คำสั่ง


12

เหตุใดฉันจึงถูกเตะออกจากเซสชัน FTP เมื่อฉันเรียกใช้คำสั่ง ดูเหมือนว่าเมื่อฉันประสบความสำเร็จในการเข้าสู่เซิร์ฟเวอร์จะได้รับต่อไปนี้หลังจากใช้คำสั่งเช่น "ls" (ฉันได้แนบส่วนข้อผิดพลาดในแท็ก "[ข้อผิดพลาด"):

allen92@allen92-VirtualBox:~/Videos$ ftp -n ftp.FreeBSD.org
Connected to ftp.FreeBSD.org.
220 beastie.tdk.net FTP server (Version 6.00LS) ready.
ftp> user
(username) anonymous
331 Guest login ok, send your email address as password.
Password: 
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
[ERROR]
421 Service not available, remote server has closed connection
[ERROR]
ftp> 

ดูเหมือนว่าจะเกิดขึ้นบนเซิร์ฟเวอร์ FTP ระยะไกล ทุกอย่างทำงานได้ดีเมื่อฉันเข้าสู่ระบบในเครื่องและรันคำสั่ง FTP หากในความเป็นจริงข้อผิดพลาด "421" เป็นข้อผิดพลาดทั่วไปมีวิธีใดที่จะค้นหาสาเหตุของปัญหาได้หรือไม่ ใด ๆ ที่นำไปสู่การนี้จะได้รับการชื่นชม ฉันยังไม่ได้สามารถที่จะหาการสนับสนุนใด ๆ เกี่ยวกับเรื่องนี้โดยเฉพาะอย่างยิ่งปัญหา ใครที่มีปัญหาคล้ายกันกรุณาแบ่งปันความคิดของคุณ

หมายเหตุ: ฉันติดตั้งVSFTPDแล้ว

คำตอบ:


13

น่าจะเป็น NAT-firewall ระหว่างคุณกับเซิร์ฟเวอร์ที่แสดงอาการ (NAT-firewalls ซ่อนเครือข่ายทั้งหมดที่อยู่ด้านหลังหมายเลข IP เดียว)

ปัญหาคือ ftp ต้องการส่งข้อมูลที่เป็นผลมาจากคำสั่งในการเชื่อมต่อ TCP / IP ใหม่ที่แยกต่างหากและที่ไม่สามารถผ่านไฟร์วอลล์ได้เนื่องจากต้องการไปจากเซิร์ฟเวอร์ถึงคุณและคุณถูกซ่อนอยู่หลังไฟร์วอลล์ซึ่งมี เบาะแสว่าข้อมูลมีไว้สำหรับเครื่องของคุณ เมื่อโปรโตคอล FTP ได้รับการออกแบบอุปกรณ์ที่ทันสมัยจำนวนมากเช่น NAT-router (ซึ่งจำเป็นเมื่อมีอุปกรณ์มากกว่าที่อยู่ IP ที่มีอยู่) ยังไม่ได้ถูกประดิษฐ์ขึ้นมา

ใช้pasvคำสั่ง (อาจเรียกว่าสิ่งที่แตกต่างในไคลเอนต์ของคุณ) เพื่อเปลี่ยนเป็นการเชื่อมต่อแบบพาสซีฟซึ่งการเชื่อมต่อข้อมูลจากคุณไปยังเซิร์ฟเวอร์

ดูhttp://slacksite.com/other/ftp.htmlสำหรับคำอธิบายโดยละเอียดเพิ่มเติม


ขอบคุณมาก. ในกรณีของ VSFTPD คำสั่งสำหรับเข้าสู่โหมดพาสซีฟคือ "passive" ดูเหมือนว่าจะใช้งานได้ในตอนนี้ ฉันคิดว่าสถานการณ์ทั้งหมดนี้เกี่ยวข้องกับฉันที่ใช้การติดตั้ง Linux บนเครื่องเสมือนจริงและการตั้งค่าที่ไม่เป็นมาตรฐาน ฉันจะหาวิธีเปิดใช้งานโหมด "แฝง" ตามค่าเริ่มต้น เมื่อฉันพบฉันจะโพสต์สำหรับทุกคนที่สนใจ
AllenD

ไม่ใช่เรื่องแปลกที่เครือข่ายเริ่มต้นสำหรับเครื่องเสมือนคือ NAT บางประเภทดังนั้นเครื่องจึงไม่เปิดเผย สำหรับ VirtualBox ที่เปลี่ยนไปเป็นบริดจ์ทำให้มันปรากฏขึ้นเหมือนเครื่องอื่น ๆ ในเครือข่ายท้องถิ่น
Thorbjørn Ravn Andersen

0

เพิ่มหรือเปิดใช้งานบรรทัดนี้ใน /etc/vsftpd.conf

seccomp_sandbox = ไม่


คำตอบนี้แก้ปัญหาของฉันได้ แต่ฉันยังมีคำถามเกี่ยวกับการกำหนดค่าที่ไม่มีเอกสารนี้
A1rPun

ทำไมseccomp_sandbox=NOคำตอบที่ถูกต้องภายใต้สถานการณ์บางอย่างถูกบันทึกไว้ใน/etc/vsftpd.confไฟล์: `` # # seccomp_sanbox เพิ่มเลเยอร์ความปลอดภัยแบบ aditional จำกัด จำนวนของ # syscalls สามารถทำได้ผ่าน vsftpd อย่างไรก็ตามอาจเกิดขึ้นได้ว่า # บัญชีขาวไม่อนุญาตให้มีการโทรที่ถูกต้อง (โดยปกติจะถูกเรียกทางอ้อมโดย # ห้องสมุดบุคคลที่สามเช่น pam หรือ openssl) และกระบวนการนี้ถูกเคอร์เนลฆ่า # # ถ้าเซิร์ฟเวอร์ของคุณเสียชีวิตในสถานการณ์ทั่วไป (ดาวน์โหลดไฟล์, อัพโหลด), # uncomment บรรทัดต่อไปนี้และอย่าลืมเปิดบั๊กที่ # bugzilla.novell.com se
GSchukat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.