ftp là gì là câu hỏi đầu tiên bạn cần giải quyết khi muốn chuyển file từ máy tính lên VPS mà không muốn dùng dòng lệnh. Việc kéo thả file qua giao diện đồ họa sẽ nhanh và trực quan hơn nhiều so với scp hay rsync đối với người mới. Bài viết này giải thích bản chất giao thức FTP, phân tích sự khác biệt giữa FTP và SFTP, rồi hướng dẫn bạn kết nối và upload file lên VPS bằng FileZilla từ A-Z. Nếu bạn đang tìm một máy chủ để thực hành, ThueVPSGiaRe.vn cung cấp VPS giá rẻ phù hợp để bắt đầu.
NỘI DUNG BÀI VIẾT
- FTP là gì và giao thức này hoạt động ra sao?
- FTP dùng để làm gì trong thực tế quản lý VPS?
- FTP và SFTP khác gì nhau? Đâu là lựa chọn an toàn?
- Điểm mạnh và điểm hạn chế của giao thức FTP
- Các ứng dụng thực tế và phương thức truyền tải dữ liệu qua FTP
- Hướng dẫn quy trình xây dựng máy chủ FTP chi tiết
- FileZilla là gì và tại sao nên dùng nó?
- Hướng dẫn kết nối FTP/SFTP tới VPS bằng FileZilla
- Cách tạo tài khoản FTP riêng trên VPS Linux
- Xử lý lỗi kết nối FTP timeout và phản hồi 530
- Câu hỏi thường gặp về FTP và SFTP
FTP là gì và giao thức này hoạt động ra sao?
FTP (File Transfer Protocol) là giao thức truyền tải file qua mạng, ra đời từ năm 1971. Nó cho phép bạn upload file từ máy tính cá nhân lên máy chủ (VPS) hoặc download file từ máy chủ về máy tính thông qua hai kênh kết nối riêng biệt.

Giao thức FTP sử dụng mô hình client-server. Máy tính của bạn cài phần mềm FTP client (như FileZilla), còn VPS chạy phần mềm FTP server (như vsftpd hay ProFTPD). Khi kết nối được thiết lập, FTP mở hai port:
- Port 21 (Control Channel): Dùng để gửi lệnh điều khiển như đăng nhập, liệt kê thư mục, thay đổi đường dẫn.
- Port 20 (Data Channel – chế độ Active): Dùng để truyền dữ liệu thực tế (file). Trong chế độ Passive, port dữ liệu sẽ là một port ngẫu nhiên.
Điểm quan trọng cần hiểu: FTP truyền mọi thứ, kể cả mật khẩu đăng nhập, dưới dạng văn bản thô (plaintext). Ai đó nghe lén mạng giữa bạn và VPS có thể đọc được username, password và nội dung file đang truyền. Đây là lý do chính khiến FTP truyền thống đang dần bị thay thế.
FTP dùng để làm gì trong thực tế quản lý VPS?
Khi bạn thuê một VPS và muốn đưa mã nguồn website (như khi cài WordPress lên VPS), hình ảnh, file cấu hình hay bản backup dữ liệu VPS từ máy tính lên server, bạn có ba cách chính: dòng lệnh (scp, rsync), bảng điều khiển (như cPanel hay DirectAdmin), hoặc FTP/SFTP client.
FTP đặc biệt hữu ích trong các tình huống sau:
- Upload khối lượng file lớn: Kéo thả hàng trăm file hình ảnh, thư mục plugin qua giao diện đồ họa dễ kiểm soát hơn lệnh scp.
- Làm việc với người không rành command line: Designer hoặc content writer cần upload ảnh mà không biết dùng terminal.
- Quản lý file trên hosting: Nếu bạn dùng shared hosting thay vì VPS, FTP thường là cách duy nhất để truy cập file. Nếu muốn hiểu rõ sự khác biệt, có thể tham khảo thêm về hosting là gì.
- Phân quyền truy cập thư mục: Tạo tài khoản FTP giới hạn quyền truy cập vào một thư mục cụ thể, không có quyền root toàn hệ thống.
FTP và SFTP khác gì nhau? Đâu là lựa chọn an toàn?
SFTP (SSH File Transfer Protocol) là giao thức truyền file chạy trên nền tảng SSH. Mặc dù tên có chứa “FTP”, SFTP hoạt động hoàn toàn khác biệt và là lựa chọn bắt buộc nếu bạn quan tâm đến bảo mật.

Bảng phân tích sự khác biệt giữa FTP và SFTP:
| Tiêu chí | FTP | SFTP |
|---|---|---|
| Mã hóa dữ liệu | Không. Truyền dưới dạng văn bản thô. | Có. Toàn bộ dữ liệu và mật khẩu được mã hóa qua SSH. |
| Port mặc định | Port 21 (và port ngẫu nhiên cho dữ liệu). | Port 22 (cùng port với SSH). |
| Yêu cầu cài đặt | Phải cài phần mềm FTP server riêng (vsftpd, ProFTPD). | Không cần cài thêm. Dùng trực tiếp service SSH có sẵn trên VPS Linux. |
| Vấn đề Firewall | Phức tạp. Phải mở port 21 và dải port dữ liệu (Passive mode). | Đơn giản. Chỉ cần mở port 22. |
Khuyến nghị thực tế: luôn dùng SFTP khi kết nối tới VPS. Bạn không cần cài đặt thêm phần mềm nào trên VPS, không cần đau đầu cấu hình firewall cho port dữ liệu, và dữ liệu truyền đi được mã hóa. Chỉ sử dụng FTP truyền thống khi bạn có lý do cụ thể, ví dụ client cũ không hỗ trợ SFTP hoặc cần chia sẻ file công khai (anonymous FTP).
Điểm mạnh và điểm hạn chế của giao thức FTP
Những ưu thế nổi bật
- Gửi đồng thời nhiều tệp tin cùng lúc: FTP hỗ trợ truyền tải song song nhiều tài nguyên khác nhau trong một phiên làm việc, giúp rút ngắn thời gian chờ đợi và nâng cao hiệu suất truyền gửi dữ liệu của hệ thống.
- Tiếp tục truyền tải khi gián đoạn kết nối: Trong trường hợp đường truyền mạng bị ngắt giữa chừng, giao thức này cho phép phục hồi và tiếp tục tiến trình tải lên hoặc tải xuống ngay tại vị trí bị ngắt quãng mà không cần phải tiến hành lại từ đầu.
- Tự động hóa tác vụ bằng kịch bản (Script): Người dùng có thể kết hợp các tệp mã lệnh (script) để tự động hóa quy trình chuyển tệp tin theo lịch trình, giúp giảm bớt các thao tác thủ công.
- Sắp xếp hàng đợi và lên lịch trình chuyển file: FTP hỗ trợ quản lý danh sách các tệp đang chờ xử lý, thiết lập mức độ ưu tiên và lên lịch truyền tải dữ liệu vào các khung giờ thấp điểm để tối ưu hóa băng thông.
- Đồng bộ dữ liệu đa thiết bị: Cơ chế đồng bộ hóa của FTP đảm bảo dữ liệu trên máy tính cá nhân và máy chủ luôn được cập nhật đồng nhất, hạn chế sự sai lệch thông tin giữa các môi trường làm việc.
Những giới hạn cần lưu ý
- Cơ chế bảo mật nguyên bản còn hạn chế: Giao thức FTP truyền thống truyền tải thông tin đăng nhập và dữ liệu dưới dạng văn bản thuần (clear text), chưa tích hợp sẵn các công nghệ mã hóa như SSL/TLS, dẫn đến nguy cơ bị can thiệp và đánh cắp thông tin trên đường truyền.
- Chưa tối ưu cho môi trường đòi hỏi tính bảo mật cao: Do thiếu vắng các lớp bảo vệ dữ liệu nâng cao, FTP nguyên bản thường không được khuyến nghị sử dụng trực tiếp trong các hệ thống doanh nghiệp yêu cầu tính bảo mật thông tin nghiêm ngặt.
- Rủi ro rò rỉ cổng kết nối máy chủ: Trong một số cấu hình mạng mở, hệ thống máy chủ FTP có thể bị khai thác để chuyển tiếp dữ liệu đến các cổng ngẫu nhiên chưa được kiểm soát, gây mất an toàn cho toàn bộ hạ tầng.
Các ứng dụng thực tế và phương thức truyền tải dữ liệu qua FTP
Nhờ vào khả năng vận hành ổn định, khả năng tương thích cao với hầu hết các hệ điều hành và tính năng đa dạng, FTP đã trở thành một trong những phương thức truyền tải tệp tin phổ biến nhất hiện nay.
Phân phối các tệp tin dung lượng lớn
FTP hỗ trợ truyền tải các tệp tin có dung lượng lớn vượt quá giới hạn cho phép của các dịch vụ gửi thư điện tử hay trình duyệt web thông thường. Giải pháp này thường được dùng để tải lên các tệp video độ phân giải cao, cơ sở dữ liệu nặng, bản vẽ kỹ thuật CAD hoặc các tệp ảnh đĩa hệ điều hành.
Tính năng hỗ trợ tiếp tục truyền tải (resume) giúp các doanh nghiệp duy trì việc trao đổi thông tin thông suốt giữa hệ thống nội bộ và máy chủ từ xa, ngay cả khi chất lượng kết nối mạng chưa thực sự lý tưởng.
Quản trị hệ thống tệp tin từ xa
Bên cạnh việc truyền tải dữ liệu, FTP còn cung cấp các công cụ quản lý cấu trúc thư mục trên máy chủ từ xa. Người quản trị có thể thực hiện trực tiếp các tác vụ như:
- Khởi tạo, xóa hoặc thay đổi tên các thư mục.
- Di chuyển hoặc nhân bản các tệp tin.
- Phân bổ quyền truy cập cho từng tệp dữ liệu dựa theo cấu hình của hệ thống.
Mô hình cây thư mục của FTP được thiết kế trực quan, mang lại trải nghiệm quản lý tương tự như khi thao tác trên Windows Explorer hay macOS Finder.
Bảo mật hóa kênh truyền tải dữ liệu
Dù FTP truyền thống thiếu đi tính năng mã hóa, người dùng hiện đại hoàn toàn có thể áp dụng các biến thể bảo mật như FTPS và SFTP để bảo vệ thông tin. Nhờ đó, phương thức truyền tải này vẫn đáp ứng tốt các tiêu chuẩn an toàn thông tin trong ngành ngân hàng, tài chính và y tế:
- FTPS: Tích hợp giao thức SSL/TLS để mã hóa phiên truyền tải, giúp bảo vệ an toàn cho thông tin tài khoản và nội dung tệp tin gửi đi.
- SFTP: Sử dụng giao thức SSH để mã hóa toàn bộ luồng thông tin và các lệnh điều khiển, ngăn chặn tối đa các hành vi nghe lén.
Khả năng tương thích và tích hợp hệ thống
FTP nhận được sự hỗ trợ từ hầu hết các hệ điều hành phổ biến như Windows, Linux, macOS hay Android. Nhiều ứng dụng phát triển phần mềm có thể tích hợp trực tiếp giao thức này để thực hiện đồng bộ hóa dữ liệu tự động, lưu trữ tệp log hoặc chuyển các bản báo cáo định kỳ. Ngoài ra, FTP còn hoạt động hiệu quả trong các chu trình DevOps và quy trình CI/CD của các dự án lập trình website.
Quản trị và vận hành website
FTP là công cụ cốt lõi để đưa mã nguồn lên môi trường lưu trữ (hosting/VPS). Các hệ quản trị nội dung phổ biến như WordPress, Joomla hay Magento đều hỗ trợ cập nhật dữ liệu qua kênh truyền này. Người quản trị có thể:
- Cập nhật nhanh các tệp giao diện, mã nguồn HTML, CSS, PHP hoặc JavaScript.
- Chỉnh sửa trực tiếp các tệp cấu hình hệ thống quan trọng như .htaccess hoặc wp-config.php.
- Tải toàn bộ thư mục web về máy tính cá nhân để lưu giữ bản sao lưu an toàn.
Lưu trữ và sao lưu dữ liệu dự phòng
Nhiều giải pháp sao lưu hệ thống lựa chọn FTP để vận chuyển các bản sao dữ liệu định kỳ lên máy chủ lưu trữ từ xa. Phương pháp này giúp phân tán rủi ro khi máy chủ chính gặp sự cố phần cứng ổ đĩa, đồng thời dễ dàng tự động hóa thông qua các kịch bản lệnh hoặc phần mềm chuyên dụng như Cobian, Acronis hay R1Soft. Người dùng cũng có thể dễ dàng kiểm tra lịch sử sao lưu để tiến hành phục hồi thông tin khi cần thiết.
Đồng bộ thông tin giữa các văn phòng thành viên
Các doanh nghiệp sở hữu nhiều chi nhánh ở các khu vực địa lý khác nhau có thể sử dụng FTP như một trung tâm lưu trữ và đồng bộ dữ liệu tập trung. Các tài liệu nội bộ, báo cáo tài chính hay thông tin khách hàng được chia sẻ nhanh chóng qua mạng nội bộ hoặc kênh truyền VPN kết hợp FTP. Phương thức này giúp tối ưu hóa dung lượng hòm thư điện tử bằng cách tránh gửi các tệp đính kèm quá nặng qua email.
Khôi phục hệ thống sau sự cố kỹ thuật
Trong các tình huống xảy ra vấn đề kỹ thuật nghiêm trọng như hỏng hóc thiết bị, tấn công mã độc mã hóa dữ liệu hay thiên tai, FTP hỗ trợ tải ngược lại các bản sao lưu đã được lưu trữ an toàn trước đó. Đây là một mắt xích thiết yếu trong chiến lược dự phòng và khôi phục hoạt động sau sự cố của doanh nghiệp.
Hướng dẫn quy trình xây dựng máy chủ FTP chi tiết
Quy trình thiết lập và đưa vào vận hành một máy chủ FTP riêng biệt bao gồm các bước triển khai sau:
Lựa chọn hệ điều hành phù hợp
Bạn có thể lựa chọn một trong hai nền tảng hệ điều hành phổ biến nhất hiện nay tùy theo nhu cầu sử dụng:
- Nền tảng Linux (Ubuntu, CentOS, Debian…): Thích hợp cho môi trường VPS hoặc máy chủ chuyên dụng không có giao diện đồ họa. Sở hữu ưu thế về chi phí vận hành tối ưu, độ ổn định cao và bảo mật tốt. Các dịch vụ FTP phổ biến đi kèm gồm có vsftpd, ProFTPD hoặc Pure-FTPd.
- Nền tảng Windows Server: Thích hợp cho các doanh nghiệp đang vận hành hạ tầng công nghệ trên hệ sinh thái của Microsoft. Ưu điểm là trực quan, dễ quản lý thông qua giao diện đồ họa, có thể sử dụng tính năng IIS FTP Server tích hợp sẵn hoặc cài đặt thêm FileZilla Server.
Tiến hành cài đặt phần mềm FTP
Trên hệ điều hành Linux (Ví dụ cài đặt vsftpd trên nền tảng Ubuntu):
sudo apt update sudo apt install vsftpd
Trên hệ điều hành Windows Server:
- Nếu sử dụng dịch vụ tích hợp IIS: Bạn mở trình quản trị Server Manager → chọn Add Roles and Features → kích hoạt tính năng FTP Server nằm trong nhóm Web Server (IIS).
- Nếu sử dụng ứng dụng FileZilla Server: Bạn tải bộ cài đặt trực tiếp từ trang chủ của dự án FileZilla và tiến hành cài đặt theo các bước hướng dẫn của trình cài đặt.
Cấu hình các thông số vận hành máy chủ
Để dịch vụ FTP hoạt động chính xác và an toàn, bạn cần tiến hành tinh chỉnh các tham số cấu hình hệ thống:
Trên hệ điều hành Linux (Dịch vụ vsftpd):
Tiến hành mở tệp tin cấu hình bằng lệnh: sudo nano /etc/vsftpd.conf và điều chỉnh các dòng giá trị sau:
anonymous_enable=NO(Ngăn chặn quyền truy cập ẩn danh không xác thực)local_enable=YES(Cho phép các tài khoản người dùng cục bộ của hệ thống đăng nhập)write_enable=YES(Cho phép người dùng thực hiện quyền tải lên và chỉnh sửa tệp tin)- Cấu hình chế độ Passive Mode nếu cần thiết: Thiết lập
pasv_enable=YESkèm theo giới hạn dải cổng truyền tải dữ liệu quapasv_min_portvàpasv_max_port.
Trên hệ điều hành Windows (IIS hoặc FileZilla Server):
- Chỉ định chính xác đường dẫn đến thư mục gốc lưu trữ dữ liệu (Home Directory).
- Thiết lập phân quyền Đọc (Read) và Ghi (Write) cho từng nhóm đối tượng cụ thể.
- Cấu hình tường lửa của hệ điều hành để cho phép lưu lượng mạng đi qua cổng dịch vụ FTP (mặc định là cổng 21).
Phân chia quyền hạn người dùng và thiết lập cổng kết nối
Hãy tạo lập các tài khoản người dùng riêng biệt phục vụ cho mục đích truyền tệp tin (tránh cấp quyền quản trị hệ thống cho các tài khoản này):
- Trên Linux: Sử dụng lệnh khởi tạo tài khoản mới:
adduser ftpuser. - On Windows: Thêm người dùng mới thông qua công cụ quản lý Local Users and Groups.
Cấu hình phân quyền truy cập chi tiết:
- Chỉ định thư mục giới hạn mà tài khoản đó được phép thao tác, tránh việc người dùng đọc được dữ liệu của các thư mục hệ thống khác.
- Cấp các quyền đọc, ghi, xóa hoặc liệt kê tệp tin dựa theo vai trò công việc thực tế.
Thiết lập cổng kết nối an toàn:
- Cổng giao tiếp mặc định của dịch vụ là cổng 21.
- Nếu máy chủ hoạt động ở chế độ Passive mode, cần mở thêm một dải cổng phụ (Ví dụ từ cổng 50000 đến cổng 51000) trên tường lửa của nhà cung cấp VPS/Server để đảm bảo luồng dữ liệu truyền tải không bị chặn.
Kiểm tra và xác thực kết nối máy chủ FTP
Sử dụng các ứng dụng FTP Client phổ biến như FileZilla, WinSCP hoặc thực hiện trực tiếp lệnh kiểm tra từ Terminal:
ftp <Dia-Chi-IP-May-Chu>
Hãy nhập thông tin đăng nhập và mật khẩu để xác thực quyền truy cập. Bạn cần kiểm tra kỹ lưỡng xem hệ thống có hiển thị danh sách thư mục chính xác không, có thể tải lên tệp mới, tải xuống tệp tin hiện có hoặc đổi tên thư mục thành công hay không để đảm bảo các quyền hạn đã được phân bổ đúng như thiết kế.
Một số lưu ý quan trọng khi sử dụng giao thức FTP
Để đảm bảo tính bảo mật thông tin và tối ưu hóa hiệu năng truyền tải dữ liệu trên máy chủ FTP, bạn nên tuân thủ các nguyên tắc vận hành an toàn sau đây:
- Kiểm soát tài khoản truy cập: Đảm bảo lưu giữ an toàn thông tin định danh (tên tài khoản và mật khẩu truy cập). Phân bổ quyền hạn vừa đủ cho từng nhân sự, tránh chia sẻ chung một tài khoản quản trị tối cao cho nhiều người dùng.
- Tối ưu hóa địa chỉ kết nối: Sử dụng tên miền thay cho địa chỉ IP trực tiếp của máy chủ để thuận tiện cho việc ghi nhớ và dễ dàng thay đổi cấu hình hạ tầng phía sau mà không làm ảnh hưởng đến trải nghiệm kết nối của người dùng.
- Đặt tính an toàn lên hàng đầu: Thiết lập các chính sách bảo mật đa lớp để bảo vệ dữ liệu trong suốt quá trình truyền tải. Chuẩn bị sẵn sàng các phương án dự phòng kỹ thuật để khắc phục nhanh chóng các sự cố đột xuất liên quan đến phần cứng thiết bị hoặc gián đoạn nguồn điện máy chủ.
- Đầu tư cơ sở hạ tầng mạng ổn định: Chất lượng phần cứng máy chủ và băng thông đường truyền quyết định tốc độ trao đổi dữ liệu. Hãy đảm bảo máy chủ tệp tin (file server) luôn hoạt động ổn định và liên tục để đáp ứng nhu cầu truy cập dữ liệu của doanh nghiệp.
- Sử dụng kết nối mã hóa an toàn: Thay vì sử dụng giao thức FTP truyền thống, hãy ưu tiên chuyển sang các phiên bản nâng cấp có tính năng mã hóa dữ liệu đường truyền như FTPS hoặc SFTP nhằm ngăn chặn các hành vi nghe lén hay can thiệp thông tin từ bên ngoài.
- Kiểm tra tệp tin trước khi truyền tải: Trước khi tải lên máy chủ hoặc tải xuống máy tính cá nhân, bạn nên quét sạch các tệp dữ liệu bằng phần mềm diệt virus uy tín để đảm bảo không lây lan mã độc hay chứa các tệp tin không hợp lệ.
- Lựa chọn phần mềm FTP Client đáng tin cậy: Chỉ sử dụng các ứng dụng quản lý FTP có uy tín lâu năm, được cộng đồng đánh giá cao về tính bảo mật và thường xuyên phát hành các bản cập nhật vá lỗi bảo mật định kỳ.
- Chủ động quản lý và chịu trách nhiệm về dữ liệu: Luôn ý thức rõ về tính nhạy cảm của thông tin đang truyền tải, tuân thủ nghiêm ngặt các quy định nội bộ và quy chuẩn pháp lý về bảo mật dữ liệu của ngành nghề đang hoạt động.
- Ghi nhật ký hoạt động của máy chủ: Kích hoạt tính năng lưu tệp log ghi nhận lịch sử truy cập và các thao tác thay đổi tệp tin trên hệ thống. Việc này sẽ giúp người quản trị dễ dàng phát hiện sớm các hành vi truy cập bất thường để kịp thời ngăn chặn.
- Duy trì thói quen sao lưu dữ liệu định kỳ: Thực hiện sao lưu dữ liệu máy chủ FTP thường xuyên sang một phân vùng lưu trữ độc lập để đảm bảo khả năng khôi phục nhanh chóng khi xảy ra các sự cố mất mát dữ liệu không mong muốn.
FileZilla là gì và tại sao nên dùng nó?
FileZilla là phần mềm FTP/SFTP client mã nguồn mở, miễn phí, chạy trên Windows, macOS và Linux. Nó là lựa chọn phổ biến nhất vì giao diện trực quan, hỗ trợ kéo thả file qua hai cột (máy tính bên trái, VPS bên phải), và lưu trữ thông tin kết nối để dùng cho những lần sau.
Khi bạn dùng các bảng điều khiển như cPanel, DirectAdmin hay aaPanel, đôi khi chúng có sẵn File Manager trên web. Nhưng File Manager trong browser thường chậm và giới hạn dung lượng upload khi file lớn. FileZilla không bị giới hạn này vì nó truyền trực tiếp từ máy tính lên VPS qua giao thức native.
Hướng dẫn upload file lên VPS bằng FileZilla (SFTP)
Dưới đây là các bước thực tế để kết nối SFTP từ máy tính Windows tới VPS Linux (Ubuntu/CentOS). Điều kiện đầu vào: bạn đã có IP VPS, port SSH (thường là 22), username (root hoặc user khác) và mật khẩu.
- Tải và cài đặt FileZilla: Truy cập trang chủ filezilla-project.org, tải bản Client (không phải Server) phù hợp với hệ điều hành của bạn. Quá trình cài đặt tiêu chuẩn, không cần thay đổi tùy chọn gì đặc biệt.
- Mở FileZilla và nhập thông tin kết nối: Ở thanh trên cùng, điền các thông số:
- Host: Nhập IP VPS của bạn (ví dụ
103.45.67.89). - Username:
roothoặc username SSH bạn đã tạo. - Password: Mật khẩu tương ứng với username.
- Port:
22(vì chúng ta dùng SFTP).
- Host: Nhập IP VPS của bạn (ví dụ
- Nhấn Quickconnect: Nếu đây là lần đầu kết nối, FileZilla sẽ hiện cảnh báo về khóa SSH fingerprint của server. Hãy kiểm tra kỹ fingerprint có khớp với thông tin VPS provider cung cấp không. Nếu khớp, tích “Always trust this host” và nhấn OK. Nếu đây là VPS mới tạo từ nhà cung cấp uy tín và bạn là người khởi tạo, có thể xác nhận fingerprint sau khi kiểm tra thông tin máy chủ.
- Upload file lên VPS qua FTP: Khi kết nối thành công, cột bên phải hiển thị thư mục trên VPS, cột bên trái hiển thị thư mục máy tính. Để upload, bạn chỉ cần kéo file từ bên trái thả sang bên phải. Để download, làm ngược lại.
- Theo dõi trạng thái truyền: Phần dưới cùng của FileZilla hiển thị log các lệnh đang thực thi và tiến trình truyền file với tốc độ thực tế. Nếu có lỗi, thông báo chi tiết sẽ xuất hiện ở đây.
Cảnh báo: khi kéo thả file, hãy chú ý đến thư mục đích trên VPS. Nếu bạn đăng nhập bằng root, thư mục mặc định thường là /root. Website thường được đặt ở /var/www/html/ hoặc /home/user/public_html/. Bạn cần double-click vào thư mục đích trước khi kéo file sang.
Cách tạo tài khoản FTP riêng trên VPS Linux
Dùng tài khoản root để kết nối SFTP là cách nhanh nhất, nhưng không an toàn nếu bạn muốn chia sẻ quyền upload cho người khác (như thư viện ảnh, folder upload chung). Bạn cần tạo một user hệ thống riêng và giới hạn quyền truy cập của user đó.
Lưu ý: các lệnh dưới đây áp dụng cho VPS Linux (Ubuntu/Debian). Trên CentOS, lệnh tạo user tương tự nhưng cách cấu hình shell và quyền hạn có thể khác đôi chút.
Bước 1: Tạo user mới và đặt mật khẩu
sudo adduser ftpuser
Hệ thống sẽ yêu cầu bạn nhập mật khẩu hai lần và một số thông tin phụ (có thể bỏ trống bằng cách nhấn Enter). User ftpuser sẽ có thư mục home mặc định là /home/ftpuser.
Bước 2: Giới hạn user chỉ truy cập SFTP, không có quyền terminal
sudo usermod -s /usr/sbin/nologin ftpuser
Lệnh này thay đổi shell của ftpuser thành nologin, nghĩa là user này không thể đăng nhập vào VPS qua SSH để chạy lệnh, chỉ có thể kết nối qua SFTP để truyền file.
Bước 3: Thiết lập quyền truy cập thư mục (chroot)
Mặc định, user SFTP có thể duyệt toàn bộ file system. Để giới hạn user chỉ thấy thư mục của mình (chroot jail), bạn cần chỉnh file cấu hình SSH.
sudo nano /etc/ssh/sshd_config
Thêm các dòng sau vào cuối file (hoặc tìm và sửa nếu đã tồn tại):
Match User ftpuser
ChrootDirectory /home/ftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Lưu ý quan trọng: thư mục ChrootDirectory (/home/ftpuser) bắt buộc phải thuộc sở hữu của root và không được phép user khác ghi vào. Nếu không, SSH service sẽ từ chối kết nối.
sudo chown root:root /home/ftpuser sudo chmod 755 /home/ftpuser
Vì user ftpuser không có quyền ghi vào /home/ftpuser, bạn cần tạo một thư mục con bên trong để user này upload file:
sudo mkdir /home/ftpuser/upload sudo chown ftpuser:ftpuser /home/ftpuser/upload
Bước 4: Khởi động lại SSH service
sudo systemctl restart sshd
Bây giờ mở FileZilla, dùng thông tin của ftpuser và port 22 để kết nối. Bạn sẽ thấy user này chỉ có thể truy cập thư mục /upload và không thể leo lên các thư mục cao hơn.
Xử lý lỗi kết nối FTP timeout và phản hồi 530
Khi kết nối FTP/SFTP tới VPS, hai lỗi phổ biến nhất bạn sẽ gặp là timeout (quá thời gian kết nối) và mã lỗi 530 (xác thực thất bại). Mỗi lỗi có nguyên nhân và cách xử lý khác nhau.
Lỗi Connection timed out (ECONNABORTED)
Nếu bạn dùng FTP truyền thống (port 21) và gặp lỗi timeout sau khi đăng nhập thành công, nguyên nhân gần như chắc chắn là firewall chặn port dữ liệu.
- Nguyên nhân: FTP dùng port 21 cho điều khiển và một dải port ngẫu nhiên cho dữ liệu (Passive mode). Nếu firewall trên VPS (UFW hoặc iptables) chỉ mở port 21, kết nối dữ liệu sẽ bị chặn.
- Cách xử lý: Cấu hình FTP server (ví dụ vsftpd) giới hạn dải port Passive trong một khoảng cụ thể (ví dụ 50000-51000), rồi mở dải port đó trên firewall. Hoặc đơn giản hơn: chuyển sang dùng SFTP (port 22) để tránh hoàn toàn vấn đề này.
Lỗi 530 Permission denied (SFTP)
Mã lỗi 530 xuất hiện khi bạn nhập đúng IP, đúng port, nhưng SSH service từ chối đăng nhập.
- Sai mật khẩu hoặc username: Kiểm tra lại chính xác username và password. Chú ý phân biệt chữ hoa chữ thường.
- User bị khóa shell: Nếu bạn vừa cấu hình
usermod -s /usr/sbin/nologinmà quên thêm blockMatch Usertrongsshd_config, SSH sẽ từ chối user này hoàn toàn, kể cả SFTP. - Lỗi quyền sở hữu thư mục Chroot: Như đã cảnh báo ở phần trước, thư mục ChrootDirectory phải thuộc sở hữu của root (chmod 755). Nếu thư mục này thuộc sở hữu của user FTP, SSH sẽ trả về lỗi 530.
- SSH service không chạy: Kiểm tra bằng lệnh
sudo systemctl status sshd. Nếu service stopped, khởi động lại bằngsudo systemctl start sshd.
Mẹo kiểm tra nhanh: nếu FileZilla báo lỗi 530 nhưng bạn vẫn đăng nhập được VPS qua phần mềm terminal (như PuTTY hay MobaXterm) bằng cùng thông tin, vấn đề nằm ở cấu hình SFTP chroot trong sshd_config. Nếu terminal cũng không đăng nhập được, vấn đề nằm ở password hoặc user bị khóa.
Câu hỏi thường gặp về FTP và SFTP
SFTP có cần cài phần mềm gì trên VPS không?
Không cần. SFTP sử dụng sẵn SSH daemon có sẵn trên hầu hết VPS Linux. Bạn chỉ cần mở port 22 và dùng phần mềm client như FileZilla ở máy tính là kết nối được ngay, khác với FTP truyền thống phải cài thêm vsftpd hay ProFTPD.
Dùng SFTP có chậm hơn FTP không?
SFTP chậm hơn một chút vì phải mã hóa và giải mã dữ liệu trong quá trình truyền. Với file nhỏ, sự chênh lệch không đáng kể. Với file rất lớn (vài GB), bạn có thể thấy tốc độ chậm hơn vài phần trăm, nhưng bù lại dữ liệu được bảo vệ an toàn.
Có thể đổi port SFTP khỏi 22 không?
Có thể, bằng cách chỉnh tham số Port trong file /etc/ssh/sshd_config. Đổi port giúp giảm bớt lượng scan tự động từ bot, nhưng không phải là biện pháp bảo mật chính. Khi đổi port, bạn phải mở port mới trên firewall và nhập đúng port mới trong FileZilla.
Ngoài FileZilla còn phần mềm FTP/SFTP client nào tốt không?
WinSCP (chỉ Windows) có giao diện tương tự FileZilla, tích hợp sẵn cả terminal SSH. Cyberduck có giao diện hiện đại, hỗ trợ nhiều giao thức cloud. Trên macOS, Transmit là lựa chọn trả phí nhưng rất mượt. Tất cả đều hỗ trợ SFTP.
FileZilla lưu mật khẩu ở đâu, có an toàn không?
FileZilla lưu mật khẩu dưới dạng văn bản thô trong file sitemanager.xml (trên Windows thường nằm trong %APPDATA%\FileZilla\). Nếu dùng trên máy chung, người khác có thể đọc được mật khẩu. Nên bật “Protect stored site manager password with master password” trong Settings của FileZilla.
Nắm vững FTP và SFTP để quản lý file trên VPS hiệu quả
Hiểu rõ ftp là gì giúp bạn chọn đúng giao thức cho từng nhu cầu: FTP truyền thống chỉ nên dùng trong môi trường nội bộ hoặc test, còn SFTP là tiêu chuẩn bắt buộc khi làm việc qua internet. Kết hợp với FileZilla, việc upload file lên VPS trở nên trực quan và dễ kiểm soát hơn nhiều so với việc gõ lệnh liên tục. Khi đã có phương pháp truyền file ổn định, việc bạn cần tiếp theo là một VPS có đủ tài nguyên để chạy ứng dụng và lưu trữ dữ liệu đó.
Cần một VPS giá rẻ để bắt đầu?
Chọn cấu hình vừa đủ nhu cầu, ưu tiên chi phí dễ tiếp cận và khả năng quản trị riêng.
Nội dung kỹ thuật trong bài viết mang tính tham khảo. Các lệnh và cấu hình có thể thay đổi tùy thuộc vào hệ điều hành (Ubuntu, CentOS, Debian), phiên bản phần mềm (vsftpd, OpenSSH) và môi trường triển khai thực tế. Người đọc nên kiểm thử trên môi trường test, sao lưu file cấu hình gốc và đánh giá rủi ro trước khi áp dụng cho VPS đang chạy production.

Để lại một bình luận