Chức năng FTP dòng lệnh không hoạt động


12

Tôi đang sử dụng Windows 7 và có nhiều ứng dụng khách FTP hoạt động mà không gặp vấn đề gì. Tuy nhiên, khi tôi sử dụng FTP dòng lệnh, tôi có thể được kết nối, đăng nhập (sau khi nhập tên người dùng và mật khẩu), nhưng nó luôn bị ngắt kết nối khi sử dụng lệnh dir hoặc ls. Câu trả lời là:

Kết nối được đóng bởi máy chủ từ xa.

Làm thế nào tôi có thể khắc phục vấn đề này?


Mở các cổng 20, 21 trong tường lửa của bạn.
Sean Perkins

Câu trả lời:


13

Bạn thường sẽ thấy loại điều này xảy ra khi máy chủ cố gắng kết nối lại với bạn nhưng không thể. FTP ban đầu sử dụng hai kênh TCP . Một là cho các lệnh và cái còn lại để truyền dữ liệu. Khi bạn chạy lệnh dir, nó sử dụng một kênh dữ liệu. Kênh dữ liệu được thiết lập theo yêu cầu và kết quả là máy chủ đang cố gắng kết nối lại với bạn.

Điều đó rất có thể bị chặn bởi bộ định tuyến hoặc tường lửa Windows của bạn. Bạn cần một khách hàng hỗ trợ chế độ PASV .

Bạn có thể bật chế độ PASV trong Internet Explorer . Hoặc sử dụng một khách hàng khác. Tôi không chắc liệu phiên bản dòng lệnh có thể sử dụng chế độ PASV hay không. Đó là một khách hàng rất cơ bản.


Cảm ơn, Matt. Tôi nghĩ rằng máy khách FTP dòng lệnh sử dụng chế độ thụ động theo mặc định nhưng tôi vừa tìm thấy nhiều bài viết nói rằng FTP dòng lệnh Windows thực sự loại trừ chế độ thụ động. IE luôn hoạt động tốt trên máy của tôi cho FTP. Tôi chỉ muốn sử dụng dòng lệnh để kiểm tra một số dữ liệu thô từ máy chủ FTP.
Hồng

Là một thử nghiệm, bạn có thể thấy việc bật hoặc tắt PASV trong trình duyệt internet explorer có tạo ra sự khác biệt .. hoặc đưa ra lỗi tương tự hoặc tương tự.
barlop

1
ftp> PASV - Lệnh không hợp lệ. (Windows 7 Ent.). Câu trả lời này chính xác là những gì xảy ra trong công việc.
Bratch

6
nó cần phải được NHANH TAY PASV
JosephStyons

5

Tôi gặp vấn đề với việc truyền tệp qua FTP khi tôi đã đăng nhập vào hộp được đề cập. Nó sẽ tạo tên tệp, nhưng tệp trống. Tôi đã giải quyết nó bằng cách làm như sau:

  • Chuyển đến Bảng điều khiển → Tường lửa Windows → Cài đặt nâng cao → Quy tắc trong
  • Bấm đúp vào cột Tên để sắp xếp theo tên
  • Cuộn xuống cho đến khi bạn thấy hai quy tắc gọi là "Chương trình truyền tệp"; những cái này được đặt thành Chặn trên PC của tôi (vòng tròn lớn màu đỏ với một đường xuyên qua nó)
  • Nhấp đúp vào quy tắc
  • Trên tab Chung , bên dưới Hành động , được đặt thành Cho phép kết nối
  • Nhấp chuột OK
  • Làm điều này cho quy tắc khác

Nó nên được tốt để đi bây giờ.


Ý nghĩa bảo mật của việc này là gì?
Peter Mortensen

Các chương trình trên máy tính của bạn bây giờ có thể sử dụng ftp.
Đánh dấu Deven

Xóa các quy tắc, sau đó kết nối qua FTP và ban hành một cái gì đó như lệnh "dir" (kích hoạt tường lửa Windows để hỏi liệu FTP có được phép hay không và tạo lại các quy tắc, nếu bạn nói Có) cũng có thể hữu ích.
mlvljr

5

Máy khách dòng lệnh Windows FTP chỉ ftp.exehỗ trợ chế độ FTP hoạt động.

Việc thiết lập FTP ở chế độ hoạt động có thể rất khó khăn hiện nay do tường lửa và NAT.

Có thể do tường lửa cục bộ hoặc NAT của bạn mà máy chủ không thể kết nối lại với máy khách của bạn để thiết lập kết nối truyền dữ liệu cho danh sách thư mục ( lshoặc dirlệnh).

Hoặc khách hàng của bạn không biết địa chỉ IP bên ngoài của nó và thay vào đó cung cấp một địa chỉ nội bộ cho máy chủ (theo PORTlệnh) mà máy chủ rõ ràng không thể sử dụng.

Xem bài viết Cấu hình mạng của tôi cho Chế độ hoạt động .


Nếu có thể, bạn nên sử dụng chế độ thụ động vì nó thường không yêu cầu thiết lập bổ sung ở phía máy khách.

Thật không may, máy khách dòng lệnh Windows FTP (the ftp.exe) hoàn toàn không hỗ trợ chế độ thụ động. Nó làm cho nó khá vô dụng ngày nay.

Sử dụng bất kỳ máy khách dòng lệnh Windows FTP nào khác thay thế. Hầu hết các chế độ thụ động hỗ trợ khác.

Ví dụ: WinSCP mặc định ở chế độ thụ động và có một hướng dẫn có sẵn để chuyển đổi tập lệnh Windows FTP sang tập lệnh WinSCP .

(Tôi là tác giả của WinSCP)


Nó hoạt động trên mọi phiên bản Windows (kể từ XP). lỗi gì bạn nhận được? Xem xét hỏi một câu hỏi riêng biệt mới với nhiều chi tiết hơn.
Martin Prikryl

Bạn cần cả hai winscp.comwinscp.exetrong cùng một thư mục. Tôi tin rằng thông báo lỗi nói rõ rằng winscp.comtìm winscp.exetrong thư mục của nó. Xem thêm woncp.net/eng/docs/executables
Martin Prikryl

Np, xin vui lòng xóa các ý kiến.
Martin Prikryl

4

Tôi gặp vấn đề này trên máy chủ Windows 2008.

Bài viết này đề nghị kích hoạt Dịch vụ Cổng lớp ứng dụng. Điều này đã không khắc phục vấn đề cho tôi.

Điều gì đã khắc phục sự cố là thêm một ngoại lệ trong Tường lửa Windows cho C: \ Windows \ system32 \ ftp.exe


1
Theo mặc định, tường lửa bao gồm ftp.exe trong ngoại lệ nhưng chỉ dành cho mạng gia đình / cơ quan. Hãy chắc chắn rằng bạn không ở trên mạng công cộng, người khác cũng cho phép ftp cho mạng công cộng.
Jags

1

Tôi đã gặp vấn đề tương tự với phần mềm POS của bên thứ ba trên máy Windows 7, xử lý dữ liệu giao dịch của khách hàng trở lại máy chủ SQL.

Nó hoạt động tốt cho đến khi vị trí máy khách thay đổi ISP và do đó, địa chỉ IP tĩnh. Các lệnh FTP dòng lệnh không hoạt động ngoài đăng nhập ban đầu và không có biện pháp khắc phục nào tôi tìm thấy trực tuyến hoặc chuỗi này hoạt động.

Chỉ để đá, tôi đã tạo lại quy tắc FTP trong tường lửa, bộ định tuyến / tường lửa D-Link giá rẻ và viola, nó dường như đang hoạt động trở lại.


0

Sự cố FTP

Cổng mở trên NSG và tường lửa máy chủ: 21,20,4000-40009,990,14147

Vấn đề: Máy khách không thể kết nối với ftp từ dòng lệnh và Powershell

Chúng tôi có thể kết nối với người dùng thử nhưng không thể xem thư mục / Danh sách

Đã cài đặt Wireshark trên máy chủ và trên máy tính xách tay của tôi để chụp các gói Tạo một bộ lọc trên wireshark với Wm ftp và và IP IP Việc chụp gói không cho biết thời tiết là chế độ thụ động hay chủ động và IP nguồn là chính xác. (chúng tôi định cấu hình IP chính và IP phụ trên máy chủ)

Chúng tôi thấy rằng kết nối ftp không hoạt động từ dấu nhắc lệnh. cố gắng bắt đầu một kết nối đến ftp.abcd.com đã được phân giải thành 11,22.33.44 và không đến máy chủ FTP thực tế 44.33.22.11 địa chỉ IP 11.22.33.44 và 44.33.22.11 đều được định cấu hình trên cùng một Máy. Tuy nhiên, DNS đã được phân giải thành IP FTP thứ cấp thay vì Chính

Ban đầu, chúng tôi cũng nhận thấy rằng các kết nối FTP đến 11,22.33.44 đang hoạt động tốt và các kết nối này là kết nối Hoạt động. Chúng tôi không thể thấy chế độ Bị động hoạt động ở đây. Ngoài ra, trong khi bắt đầu kết nối tới 11,22.33.44 từ Commad, sẽ đóng băng phiên sau khi bạn đưa ra lệnh 'dir', tuy nhiên, hoạt động tương tự với các máy khách ftp khác như FileZilla và Winscp.

Tôi đã thử kiểm tra với WinSCP và FileZilla và nhận thấy các kết nối chế độ thụ động đang hoạt động tốt và Active không phải là hành vi được mong đợi. Chúng tôi đã kiểm tra tại sao lệnh 'dir' không hoạt động từ các thiết bị sau khi xác thực thành công, chúng tôi đã thấy rằng tường lửa windows đang chặn kết nối. Chúng tôi đã vô hiệu hóa tường lửa và mọi thứ bắt đầu hoạt động như mong đợi. Tôi đã kiểm tra tương tự sau khi tạo quy tắc tường lửa, các vấn đề đã được giải quyết. Có một hệ thống mà ngay cả sau khi vô hiệu hóa tường lửa đã bị kẹt trong danh sách thư mục, đây có thể là một vấn đề trong hệ thống đó hoặc các kết nối đang bị chặn bởi một yếu tố bên ngoài. Vì sau khi vô hiệu hóa hầu hết chúng ta có thể làm việc tốt.

các cài đặt cần được thực hiện trên máy Truy cập Bảng điều khiển → Tường lửa Windows → Cài đặt nâng cao → Quy tắc trong nước Nhấp đúp vào cột Tên để sắp xếp theo tên Cuộn xuống cho đến khi bạn thấy hai quy tắc gọi là "Chương trình truyền tệp"; những cái này được đặt thành Chặn trên PC của tôi (vòng tròn lớn màu đỏ với một dòng xuyên qua nó) Nhấp đúp vào quy tắc Trên tab Chung, bên dưới Hành động, được đặt thành Cho phép kết nối Nhấp OK


Đây là những gì câu trả lời của @Keljo đã nói (thực ra bạn đã sao chép câu trả lời của anh ấy / cô ấy).
Martin Prikryl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.