Điểm:0

Không thể kết nối với vsftpd trên cổng 21 khi cố gắng thiết lập kết nối FTP

lá cờ us

tôi đã cài vsftpd về tôi LinuxUbuntu 21.04 ví dụ bằng cách sử dụng như sau:

Sudo apt-get cài đặt vsftpd

Tôi đã kích hoạt FTP trong uww tường lửa bằng cách sử dụng như sau:

sudo ufw cho phép ftp

Của tôi /etc/vsftpd.conf tập tin chứa những điều sau đây:

# Tệp cấu hình ví dụ /etc/vsftpd.conf
#
# Mặc định được biên dịch trong cài đặt khá hoang tưởng. tập tin mẫu này
# nới lỏng mọi thứ một chút để làm cho daemon ftp dễ sử dụng hơn.
# Vui lòng xem vsftpd.conf.5 để biết tất cả được biên dịch ở chế độ mặc định.
#
# ĐỌC NÀY: Tệp ví dụ này KHÔNG phải là danh sách đầy đủ các tùy chọn vsftpd.
# Vui lòng đọc trang hướng dẫn vsftpd.conf.5 để biết đầy đủ về vsftpd's
# khả năng.
#
#
# Chạy độc lập? vsftpd có thể chạy từ inetd hoặc độc lập
# daemon bắt đầu từ một initscript.
lắng nghe = CÓ
#
# Lệnh này cho phép nghe trên ổ cắm IPv6. Theo mặc định, lắng nghe
# trên địa chỉ "bất kỳ" của IPv6 (::) sẽ chấp nhận kết nối từ cả IPv6
# và máy khách IPv4. Không cần thiết phải nghe trên *cả* IPv4 và IPv6
# ổ cắm.Nếu bạn muốn điều đó (có lẽ vì bạn muốn nghe cụ thể
# địa chỉ) thì bạn phải chạy hai bản vsftpd với hai cấu hình
# các tập tin.
nghe_ipv6=KHÔNG
#
# Cho phép FTP ẩn danh? (Tắt theo mặc định).
nặc danh_enable=KHÔNG
#
# Bỏ ghi chú này để cho phép người dùng cục bộ đăng nhập.
local_enable=CÓ
#
# Bỏ ghi chú này để kích hoạt bất kỳ dạng lệnh ghi FTP nào.
write_enable=CÓ
#
# Ô mặc định cho người dùng cục bộ là 077. Bạn có thể thay đổi giá trị này thành 022,
# nếu người dùng của bạn mong đợi điều đó (022 được sử dụng bởi hầu hết các ftpd khác)
#local_umask=022
#
# Bỏ ghi chú này để cho phép người dùng FTP ẩn danh tải tệp lên. cái này thôi
# có tác dụng nếu tính năng ghi chung ở trên được kích hoạt. Ngoài ra, bạn sẽ
# rõ ràng là cần tạo một thư mục mà người dùng FTP có thể ghi.
#anon_upload_enable=CÓ
#
# Bỏ ghi chú này nếu bạn muốn người dùng FTP ẩn danh có thể tạo
# thư mục mới.
#anon_mkdir_write_enable=CÓ
#
# Kích hoạt tin nhắn thư mục - tin nhắn được cung cấp cho người dùng từ xa khi họ
# đi vào một thư mục nhất định.
dirmessage_enable=CÓ
#
# Nếu được bật, vsftpd sẽ hiển thị danh sách thư mục theo thời gian
# trong múi giờ địa phương của bạn. Mặc định là hiển thị GMT. Các
# lần được trả về bởi lệnh MDTM FTP cũng bị ảnh hưởng bởi điều này
# Tùy chọn.
use_localtime=CÓ
#
# Kích hoạt ghi nhật ký tải lên/tải xuống.
xferlog_enable=CÓ
#
# Đảm bảo kết nối truyền PORT bắt nguồn từ cổng 20 (ftp-data).
connect_from_port_20=CÓ
#
# Nếu muốn, bạn có thể sắp xếp để các tệp ẩn danh được tải lên thuộc quyền sở hữu của
# một người dùng khác. Ghi chú! Không sử dụng "root" cho các tệp đã tải lên
# khuyến khích!
#chown_uploads=CÓ
#chown_username=bất cứ ai
#
# Bạn có thể ghi đè vị trí của tệp nhật ký nếu muốn. Mặc định được hiển thị
# phía dưới.
#xferlog_file=/var/log/vsftpd.log
#
# Nếu muốn, bạn có thể đặt tệp nhật ký của mình ở định dạng ftpd xferlog tiêu chuẩn.
# Lưu ý rằng vị trí tệp nhật ký mặc định là /var/log/xferlog trong trường hợp này.
#xferlog_std_format=CÓ
#
# Bạn có thể thay đổi giá trị mặc định để hết thời gian cho một phiên không hoạt động.
#idle_session_timeout=600
#
# Bạn có thể thay đổi giá trị mặc định để hết thời gian kết nối dữ liệu.
#data_connection_timeout=120
#
# Bạn nên xác định trên hệ thống của mình một người dùng duy nhất mà
# máy chủ ftp có thể sử dụng như một người dùng hoàn toàn bị cô lập và không có đặc quyền.
#nopriv_user=ftpsecure
#
# Kích hoạt tính năng này và máy chủ sẽ nhận ra các yêu cầu ABOR không đồng bộ. Không
# được khuyến nghị để bảo mật (mã không tầm thường). Không kích hoạt nó,
# tuy nhiên, có thể gây nhầm lẫn cho các máy khách FTP cũ hơn.
#async_abor_enable=CÓ
#
# Theo mặc định, máy chủ sẽ giả vờ cho phép chế độ ASCII nhưng thực tế là bỏ qua
# yêu cầu. Bật các tùy chọn bên dưới để máy chủ thực sự làm ASCII
# xáo trộn các tệp khi ở chế độ ASCII.
# Lưu ý rằng trên một số máy chủ FTP, hỗ trợ ASCII cho phép từ chối dịch vụ
# tấn công (DoS) thông qua lệnh "SIZE /big/file" ở chế độ ASCII. vsftpd
# đã dự đoán cuộc tấn công này và luôn an toàn, báo cáo quy mô của cuộc tấn công
# file thô.
# Xáo trộn ASCII là một tính năng khủng khiếp của giao thức.
#ascii_upload_enable=CÓ
#ascii_download_enable=CÓ
#
# Bạn hoàn toàn có thể tùy chỉnh chuỗi biểu ngữ đăng nhập:
#ftpd_banner=Chào mừng đến với dịch vụ FTP blah.
#
# Bạn có thể chỉ định một tệp địa chỉ e-mail ẩn danh không được phép. Rõ ràng
# hữu ích để chống lại các cuộc tấn công DoS nhất định.
#deny_email_enable=CÓ
# (mặc định sau)
#banned_email_file=/etc/vsftpd.banned_emails
#
# Bạn có thể hạn chế người dùng cục bộ vào thư mục chính của họ. Xem Câu hỏi thường gặp để biết
# những rủi ro có thể xảy ra trong việc này trước khi sử dụng chroot_local_user hoặc
# chroot_list_enable bên dưới.
chroot_local_user=CÓ
#
# Bạn có thể chỉ định một danh sách rõ ràng những người dùng cục bộ để chroot() đến nhà của họ
# danh mục. Nếu chroot_local_user là CÓ, thì danh sách này sẽ trở thành danh sách
# người dùng KHÔNG chroot().
# (Cảnh báo! chroot'ing có thể rất nguy hiểm. Nếu sử dụng chroot, hãy đảm bảo rằng
# người dùng không có quyền ghi vào thư mục cấp cao nhất trong thư mục
#chroot)
#chroot_local_user=CÓ
#chroot_list_enable=CÓ
# (mặc định sau)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# Bạn có thể kích hoạt tùy chọn "-R" cho ls dựng sẵn. Điều này bị vô hiệu hóa bởi
# mặc định để tránh người dùng từ xa có thể gây ra I/O quá mức trên quy mô lớn
# trang web. Tuy nhiên, một số máy khách FTP bị hỏng như "ncftp" và "mirror" giả sử
# sự hiện diện của tùy chọn "-R", vì vậy rất có thể bạn nên bật tùy chọn này.
#ls_recurse_enable=CÓ
#
# Tùy chỉnh
#
# Một số cài đặt của vsftpd không phù hợp với bố cục hệ thống tệp bởi
# mặc định.
#
# Tùy chọn này phải là tên của một thư mục trống. Ngoài ra, các
# thư mục không được ghi bởi người dùng ftp. Thư mục này được sử dụng
# như một nhà tù chroot() an toàn đôi khi vsftpd không yêu cầu hệ thống tập tin
# quyền.
safe_chroot_dir=/var/run/vsftpd/empty
#
# Chuỗi này là tên của dịch vụ PAM vsftpd sẽ sử dụng.
pam_service_name=vsftpd
#
# Tùy chọn này chỉ định vị trí của chứng chỉ RSA sẽ sử dụng cho SSL
# kết nối được mã hóa.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=KHÔNG

#
# Bỏ ghi chú này để chỉ ra rằng vsftpd sử dụng hệ thống tệp utf8.
#utf8_filesystem=CÓ

user_sub_token=$USER
local_root=/home/$USER/ftp_user

userlist_enable=CÓ
userlist_file=/etc/vsftpd.user_list
userlist_deny=KHÔNG

Tôi đã thêm tài khoản người dùng dự định của mình ftpuser đến /etc/vsftpd.user_list. Sau đây được chứa trong đầu ra của netstat-tanp:

tcp 0 0 0.0.0.0:27017 0.0.0.0:* NGHE 939/docker-proxy
tcp 0 0 0.0.0.0:21 0.0.0.0:* NGHE 585614/vsftpd
tcp 0 0 127.0.0.53:53 0.0.0.0:* NGHE 582461/systemd-reso
tcp 0 0 0.0.0.0:22 0.0.0.0:* NGHE 581200/sshd: /usr/s

Những điều trên dường như chỉ ra rằng vsftpd đang lắng nghe trên cổng 21 như nó phải vậy. Tuy nhiên, tôi không thể kết nối với nó bằng WinSCP trên cổng 21 với giao thức FTP. Tuy nhiên, điều lạ là tôi có thể kết nối trên cổng 22 bằng giao thức SFTP.

Tôi cũng nên đề cập rằng trước đây tôi đã có vsftpd đã cài đặt và định cấu hình cho SFTP. tôi đã làm sudo apt-get thanh lọc vsftpd và đã cố gắng cài đặt lại kể từ đó.

Chỉnh sửa Ngay cả khi tôi chạy máy chủ ftp Tôi nhận được thông báo lỗi: ftp: kết nối: Hết thời gian kết nối

Đây là những bước tôi đã thực hiện.

Cài đặt VSFTPD

cập nhật sudo apt
sudo apt cài đặt vsftpd
trạng thái vsftpd dịch vụ sudo

Cấu hình tường lửa

sudo ufw cho phép 20/tcp
sudo ufw cho phép 21/tcp
sudo ufw cho phép 40000:50000/tcp
sudo ufw cho phép 990/tcp
Sudo ufw cho phép mở
kích hoạt sudo ufw
trạng thái sudo ufw

Tạo ftpuser và thư mục

sudo adduser ftpuser
sudo mkdir /home/ftpuser/ftp
sudo chown không ai:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo mkdir/home/ftpuser/ftp/tệp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

Thiết lập cấu hình VSFTPD

sudo nano /etc/vsftpd.conf

Với các mục sau

lắng nghe = KHÔNG
nghe_ipv6=CÓ
anonymos_enable=KHÔNG
local_enable=CÓ
write_enable=CÓ
local_mask=022
dirmessage_enable=CÓ
use_localtime=CÓ
xferlog_enable=CÓ
connect_from_port_20=CÓ
chroot_local_user=CÓ
safe_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
force_dot_files=CÓ
pasv_min_port=400000
pasv_max_port=500000

user_sub_token=$USER
local_root=/home/$USER/ftp

Khởi động lại VSFTPD để các thay đổi có hiệu lực

Sudo systemctl khởi động lại vsftpd.service

Hãy thử kết nối với Filezilla và WinSCP. Không làm việc. Tuy nhiên, giống như trước đây, tôi có thể kết nối qua SFTP trên cổng 22.

Tôi đang làm gì sai?

Điểm:0
lá cờ us

tôi đã cài đặt lại Ubuntu 21.04 và làm theo các bước trong hướng dẫn này: https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-18-04và nó đang hoạt động như mong đợi.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.