Mục lục
Bạn đang sử dụng VPS và muốn truyền tải dữ liệu an toàn giữa máy tính và máy chủ? Bài viết này từ Zhost sẽ hướng dẫn chi tiết cách thiết lập FTP & SFTP trên các hệ điều hành phổ biến như Ubuntu, AlmaLinux và CentOS.
Việc cấu hình đúng FTP và SFTP giúp bạn quản lý file hiệu quả, đồng thời đảm bảo an toàn thông tin khi truyền tải qua mạng. Đây là bước quan trọng khi xây dựng và vận hành hệ thống website hoặc ứng dụng trên máy chủ riêng.
Cùng Zhost tìm hiểu ngay cách cài đặt và thiết lập FTP/SFTP chuyên nghiệp cho VPS của bạn!
Hướng dẫn thực hiện
1. Cài đặt FTP Server (vsftpd).
1.1. Ubuntu.
sudo apt update sudo apt install vsftpd -y
1.2. AlmaLinux.
sudo dnf install vsftpd -y
1.3. CentOS 7/8.
sudo yum install vsftpd -y
hoặc CentOS 8+
sudo dnf install vsftpd -y
2. Cấu hình vsftpd.
Lúc này bạn cần mở file /etc/vsftpd.conf
:
nano /etc/vsftpd.conf
Tìm và chỉnh sửa các dòng sau (nếu có dòng bị comment bằng #
thì hãy bỏ #
đi):
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
(Tùy chọn) Đặt thư mục gốc:
local_root=/home/ftpuser/upload
Sau khi chỉnh sửa, lưu lại và thoát (Ctrl+0
, Enter
, rồi Ctrl+X
).
Tiếp đến, bạn cần khởi động lại dịch vụ để áp dụng các thay đổi trên:
sudo systemctl restart vsftpd sudo systemctl enable vsftpd
3. Tạo user FTP và thư mục.
3.1. Tạo user FTP.
Lúc này, bạn cần tạo một user hệ thống có shell đăng nhập hợp lệ và được phép dùng FTP:
Sau khi nhập lệnh sudo passwd ftpuser thì bạn cần nhập mật khẩu cho ftpuser.
sudo adduser ftpuser sudo passwd ftpuser
3.2. Tạo và cấp quyền thư mục FTP.
Tiếp đến là bạn cần tạo và cấp quyền cho thư mục của user FTP:
sudo mkdir -p /home/ftpuser/upload sudo chown ftpuser:ftpuser /home/ftpuser/upload sudo chmod 755 /home/ftpuser/upload
4. Cấu hình tường lửa (nếu có).
Lưu ý: Nếu VPS của bạn có cấu hình tường lửa thì mới thao tác bước này.
4.1. Ubuntu (ufw).
sudo ufw allow 20/tcp sudo ufw allow 21/tcp
4.2. AlmaLinux & CentOS (firewalld).
sudo firewall-cmd --permanent --add-port=21/tcp sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
5. Thiết lập SFTP (qua SSH).
SFTP chạy sẵn trong dịch vụ SSH nên bạn chỉ cần tạo user và tùy chọn chroot nếu muốn giới hạn.
5.1. Tạo user SFTP.
Cũng như ở phần tạo user FTP thì bạn cũng cần nhập mật khẩu cho user SFTP.
sudo adduser sftpuser sudo passwd sftpuser
5.2. Tạo và cấp quyền thư mục chroot.
sudo mkdir -p /home/sftpuser/upload sudo chown root:root /home/sftpuser sudo chmod 755 /home/sftpuser sudo chown sftpuser:sftpuser /home/sftpuser/upload
5.3. Chỉnh sửa file sshd_config.
Để sửa file file sshd_config thì bạn cần nhập câu lệnh sau:
sudo nano /etc/ssh/sshd_config
Thêm vào cuối file sshd_config đoạn nội dung sau:
Match User sftpuser ChrootDirectory /home/sftpuser ForceCommand internal-sftp AllowTCPForwarding no X11Forwarding no
Sau khi thêm, lưu lại và thoát (Ctrl+0
, Enter
, rồi Ctrl+X
).
Khởi động lại SSH:
sudo systemctl restart sshd
6. Kết nối FTP & SFTP.
- FTP: port 21, protocol FTP, dùng user
ftpuser
. - SFTP: port 22, protocol SFTP, dùng user
sftpuser
. - Lưu ý: đối với các VPS tại Zhost, để tránh bị scan cổng 22 của service ssh nên Zhost đã đổi cổng ssh mặc định sang 8686. Vậy nên bạn muốn kết nối SFTP các dịch vụ của Zhost thì sẽ SFTP bằng cổng 8686 nha.
Những điều cần lưu ý
- FTP không mã hóa dữ liệu, dễ dàng bị nghe lén.
- SFTP dùng SSH, an toàn hơn rất nhiều so với FTP.
- Cần cấu hình đúng quyền cho thư mục tránh lỗi không upload được.
- Kiểm tra kỹ lại firewall nếu không kết nối được.
Kết luận
Thiết lập FTP và SFTP không chỉ giúp bạn dễ dàng truy cập và quản lý dữ liệu trên VPS, mà còn là cách hiệu quả để tăng cường bảo mật hệ thống máy chủ. Dù bạn đang dùng Ubuntu, AlmaLinux hay CentOS, các bước cấu hình đều đơn giản nếu thực hiện đúng hướng dẫn. Chúc các bạn thành công.