Komut satırı FTP işlevi çalışmıyor


12

Windows 7 kullanıyorum ve sorunsuz çalışan birden fazla FTP istemci uygulaması var. Ancak, komut satırı FTP kullandığımda, bağlanabilir, oturum açabilir (kullanıcı adı ve parola girdikten sonra), ancak dir veya ls komutu kullanıldığında her zaman bağlantısı kesilir. Yanıt:

Uzak ana bilgisayar tarafından bağlantı kapatıldı.

Bu sorunu nasıl düzeltebilirim?


Güvenlik duvarınızda 20, 21 numaralı bağlantı noktalarını açın.
Sean Perkins

Yanıtlar:


13

Genellikle bu tür bir şey, sunucu size bağlanmaya çalıştığında olur, ancak yapamazsınız. FTP başlangıçta iki TCP kanalı kullanıyordu. Biri komutlar, diğeri veri aktarımı içindi. Dir komutunu çalıştırdığınızda bir veri kanalı kullanır. Veri kanalı istek üzerine oluşturulur ve sunucunun size geri bağlanmaya çalışmasına neden olur.

Bu muhtemelen yönlendiriciniz veya Windows güvenlik duvarınız tarafından engellenir. PASV modunu destekleyen bir istemciye ihtiyacınız var .

Şunları yapabilirsiniz Internet Explorer'da PASV modunu etkinleştirmek . Veya farklı bir istemci kullanın. Komut satırı sürümünün PASV modunu kullanıp kullanamayacağından emin değilim. Çok basit bir müşteri.


Teşekkürler, Matt. Komut satırı FTP istemcisinin varsayılan olarak pasif mod kullandığını düşündüm, ancak Windows komut satırı FTP'nin pasif modu hariç tuttuğunu söyleyen birden fazla gönderi buldum. IE, FTP için makinemde her zaman iyi çalışıyor. Sadece bir FTP sunucusundan bazı ham verileri incelemek için komut satırını kullanmak istiyorum.
Hong

Bir deney olarak, internet explorer'da PASV'yi etkinleştirmenin veya devre dışı bırakmanın bir fark yaratıp yaratmadığını veya benzer veya aynı hatayı verip vermediğini görebilirsiniz.
barlop

1
ftp> PASV - Geçersiz komut. (Windows 7 Ent.). Bu cevap tam da işte olan şeydir.
Haziran'da Bratch

6
QUOTE PASV olması gerekiyor
JosephStyons

5

Söz konusu kutuya giriş yaptıktan sonra dosyaları FTP üzerinden aktarmayla ilgili bir sorun yaşadım. Dosya adını oluşturur, ancak dosya boştu. Aşağıdakileri yaparak çözdüm:

  • Denetim Masası → Windows Güvenlik Duvarı → Gelişmiş Ayarlar → Gelen Kuralları'na gidin
  • Ada göre sıralamak için Ad sütununu çift ​​tıklayın
  • "Dosya Aktarım Programı" adlı iki kural görene kadar ekranı aşağı kaydırın; bunlar PC'imde Engelle olarak ayarlandı (içinden bir çizgi olan büyük kırmızı daire)
  • Kuralı çift tıklayın
  • On Genel sekmesinin altında Eylem , seti için bağlantıya izin ver
  • Tıklayın OK
  • Bunu diğer kural için yap

Şimdi gitmek iyi olmalı.


Bunu yapmanın güvenlik üzerindeki etkileri nelerdir?
Peter Mortensen

PC'nizdeki programlar artık ftp kullanabilir.
Mark Deven

Kuralları silmek, ardından FTP yoluyla bağlanmak ve "dir" komutu gibi bir şey vermek (FTP'ye izin verilip verilmeyeceğini sormak için Windows güvenlik duvarını tetiklemek ve Evet derseniz kuralları yeniden oluşturmak) da yardımcı olabilir.
mlvljr

5

Windows FTP komut satırı istemcisi ftp.exeyalnızca etkin bir FTP modunu destekler.

FTP'yi etkin modda ayarlamak, günümüzde güvenlik duvarları ve NAT'lar nedeniyle hantal olabilir.

Yerel güvenlik duvarınız veya NAT nedeniyle, sunucunun dizin listesi ( lsveya dirkomutları) için veri aktarım bağlantısı kurmak üzere istemcinize geri bağlanamaması muhtemeldir .

Veya istemciniz harici IP adresinin farkında değildir ve sunucuya ( PORTkomutta) bunun yerine sunucunun kullanamadığı açık bir dahili adres sağlar .

Bkz benim yazı Aktif Modu için Ağ Yapılandırma .


Mümkünse, genellikle istemci tarafında ek kurulum gerektirmediğinden pasif bir mod kullanmalısınız.

Ne yazık ki Windows FTP komut satırı istemcisi (the ftp.exe) pasif modu hiç desteklemiyor. Günümüzde oldukça işe yaramaz hale getiriyor.

Bunun yerine başka bir Windows FTP komut satırı istemcisi kullanın. Diğer çoğu pasif modu destekler.

Örneğin WinSCP varsayılan olarak pasif moda sahiptir ve Windows FTP komut dosyasını WinSCP komut dosyasına dönüştürmek için bir kılavuz vardır .

(WinSCP'nin yazarıyım)


Windows'un herhangi bir sürümünde (XP'den beri) çalışır. Hangi hatayı alıyorsun? Daha fazla ayrıntı içeren yeni bir soru sormayı düşünün.
Martin Prikryl

Her ikisine winscp.comve winscp.exeaynı klasöre ihtiyacınız var. Hata mesajının klasöründe winscp.comaradığını açıkça söylediğine inanıyorum winscp.exe. Ayrıca bakınız winscp.net/eng/docs/executables
Martin Prikryl

Np, lütfen yorumları silin.
Martin Prikryl

4

Bir Windows 2008 sunucusunda bu sorunla karşılaştım.

Bu makalede , Uygulama Katmanı Ağ Geçidi Hizmeti'nin etkinleştirilmesi önerilmektedir. Bu benim için sorunu çözmedi.

Sorunu gideren, C: \ Windows \ system32 \ ftp.exe için Windows Güvenlik Duvarı'na bir istisna eklemekti


1
Windows güvenlik duvarı varsayılan olarak istisnasında ftp.exe'yi içerir, ancak yalnızca ev / iş ağı içindir. Ortak ağda olmadığınızdan emin olun, aksi takdirde ortak ağ için ftp'ye izin verin.
Keşler

1

İstemci işlem verilerini bir SQL sunucusuna toplu olarak işleyen bir Windows 7 makinesinde üçüncü taraf POS yazılımında da aynı sorunu yaşıyordum.

İstemci konumu ISS'leri ve dolayısıyla statik IP adreslerini değiştirene kadar iyi çalıştı . Komut satırı FTP komutları, ilk oturum açma işleminin ötesinde çalışmadı ve çevrimiçi bulduğum çözümlerin hiçbiri veya bu iş parçacığı işe yaramadı.

Sadece tekmeler için, FTP duvarını güvenlik duvarında, bir cheapo D-Link yönlendirici / güvenlik duvarında ve viyolada yeniden oluşturdum, tekrar çalışıyor gibi görünüyor.


0

FTP sorunu

Masmavi NSG ve sunucu güvenlik duvarındaki Açık Bağlantı Noktaları: 21,20,4000-40009,990,14147

Sorun: İstemci komut satırından ve Powershell'den ftp'ye bağlanamıyor

Test kullanıcısı ile bağlantı kurabiliyoruz ancak dizini / Listeyi göremiyoruz

Paketleri yakalamak için Wireshark'ı sunucuya ve dizüstü bilgisayarıma kurdu “ftp” ve “IP” ile wireshark üzerinde bir filtre oluşturdu. (birincil IP ve ikincil IP'yi sunucuda yapılandırıyoruz)

Ftp bağlantısının komut isteminden çalışmadığını tespit ettik. gerçek FTP Sunucusuna değil 11.22.33.44'e çözümlenen ftp.abcd.com'a bir bağlantı başlatmaya çalışmak 44.33.22.11 IP adresleri 11.22.33.44 ve 44.33.22.11 aynı Makinede yapılandırılır. Ancak DNS, Birincil yerine ikincil FTP IP'sine çözümleniyordu

Başlangıçta, 11.22.33.44'e yapılan FTP bağlantılarının iyi çalıştığını ve bu bağlantıların Aktif bağlantılar olduğunu gördük. Pasif modun burada çalıştığını göremedik. Ayrıca Commad promt'den 11.22.33.44'e bağlantı başlatılırken, 'dir' komutunu verdikten sonra oturum donar, ancak aynı şey FileZilla ve Winscp gibi diğer ftp istemcileriyle de çalışır.

WinSCP ve FileZilla ile test etmeyi denedim ve Pasif mod bağlantılarının iyi çalıştığını ve beklenen bir davranış olmadığını aktif olarak gördüm. Başarılı kimlik doğrulamasından sonra 'dir' komutunun neden aygıtlardan çalışmadığını kontrol ettik, Windows güvenlik duvarının bağlantıyı engellediğini görmeliyiz. Güvenlik duvarını devre dışı bıraktık ve her şey beklendiği gibi çalışmaya başladı. Güvenlik duvarı kuralını oluşturduktan sonra da aynı şeyi kontrol ettim, sorunlar çözüldü. Güvenlik listesinin devre dışı bırakılmasından sonra bile dizin listesinde takılı kalsa bile, bu sistemde bir sorun olabilir veya bağlantılar harici bir faktör tarafından engelleniyor olabilir. Çünkü devre dışı bıraktıktan sonra çoğumuz iyi çalışabiliyoruz.

ayarların makinede yapılması gerekir Denetim Masası'na gidin → Windows Güvenlik Duvarı → Gelişmiş Ayarlar → Gelen Kuralları Ada göre sıralamak için Ad sütununu çift tıklatın "Dosya Aktarım Programı" adlı iki kural görene kadar aşağı kaydırın; bunlar PC'imde Engelle olarak ayarlandı (içinden bir çizgi olan büyük kırmızı daire) Kuralı çift tıklayın Genel sekmesinde, Eylem altında, Bağlantıya izin ver olarak ayarla Tamam'ı tıklatın.


@Keljo'nun cevabı zaten bunu söylüyor (aslında cevabını kopyaladınız).
Martin Prikryl
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.