Bir komut çalıştırdığımda neden bir FTP oturumundan atıldım?


12

Bir komut çalıştırdığımda neden bir FTP oturumundan atıldım? Bir kez başarıyla bir sunucuya giriş kez "ls" gibi bir komut çalıştırdıktan sonra aşağıdaki gibi görünüyor ("[HATA]" etiketleri hata kısmını ekledim):

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> 

Bu herhangi bir uzak FTP sunucusunda gerçekleşiyor gibi görünüyor. Yerel makineye giriş yaptığımda ve FTP komutlarını çalıştırdığımda her şey iyi çalışıyor. Aslında "421" hatası genel bir hataysa, sorunun kaynağını bulmanın herhangi bir yolu var mı? Bununla ilgili olası satışlar takdir edilecektir. Bu konuda herhangi bir destek bulmak mümkün olmamıştır özellikle konuyla. Benzer bir sorunu olan herkes lütfen düşüncelerinizi paylaşın.

NOT: VSFTPD yükledim.

Yanıtlar:


13

Büyük olasılıkla sizinle belirtiyi gösteren sunucular arasında bir NAT güvenlik duvarı vardır. (NAT güvenlik duvarları tüm ağı tek bir IP numarasının arkasına gizler).

Sorun ftp yeni, içinde komuta kaynaklanan veri göndermek istediği olmasıdır ayrı TCP / IP bağlantısı ve o size sunucudan gitmek gerekiyor çünkü güvenlik duvarı üzerinden gidemez ve sahip güvenlik duvarının arkasında gizlidir verilerin makinenize yönelik olduğuna dair hiçbir ipucu yok. FTP protokolü tasarlandığında, NAT yönlendiricisi gibi (mevcut IP adreslerinden daha fazla cihaz olduğunda gerekli hale gelen) birçok modern cihaz henüz icat edilmemiştir.

pasvVeri bağlantılarının sizden sunucuya gittiği pasif bir bağlantıya geçmek için komutu (istemcinizde farklı bir şey olarak adlandırılabilir) kullanın.

Daha ayrıntılı bir açıklama için http://slacksite.com/other/ftp.html adresine bakın .


Çok teşekkürler. VSFTPD durumunda, pasif moda girme komutu "pasif" tir. Şimdilik işe yarıyor gibi görünüyor. Tüm bu durumun Linux kurulumunu sanal bir makinede çalıştırması ve standart olmayan ayarları ile ilgili olduğunu düşünüyorum. Varsayılan olarak "pasif" modun nasıl etkinleştirileceğini bulacağım. Bir kez öğrendim ben ilgilenen herkes için göndereceğiz.
AllenD

Sanal makineler için varsayılan ağın bir çeşit NAT olması nadir değildir, bu nedenle makine maruz kalmaz. Bridged'a geçmek için VirtualBox, yerel ağdaki diğer makineler gibi görünmesini sağlar.
Thorbjørn Ravn Andersen

0

Bu satırı /etc/vsftpd.conf dosyasına ekleyin veya etkinleştirin

seccomp_sandbox = HAYIR


Bu cevap sorunumu çözdü, ancak bu belgelenmemiş yapılandırma hakkında hala sorularım var.
A1rPun

Neden seccomp_sandbox=NObelirli koşullar altında doğru cevap /etc/vsftpd.confdosyada belgelenmiştir : `` # seccomp_sanbox, # syscall'ların sayısını sınırlayan ek bir güvenlik katmanı eklemek vsftpd aracılığıyla gerçekleştirilebilir. Ancak, # beyaz listenin meşru bir çağrıya izin vermemesi (genellikle pam veya openssl gibi # üçüncü taraf kütüphane tarafından dolaylı olarak tetiklenir) ve işlem çekirdek tarafından öldürülür. # # Bu nedenle, sunucunuz yaygın durumlarda (dosya indirme, yükleme), # rahatsızlığı takip eden satırda
ölürse
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.