CHIA SẺ:

Thông thường khi cần kết nối mình sử dụng luôn sFTP, tuy đặc điểm giao thức này rất bảo mật nhưng tốc độ transfer thường chậm hơn so với giao thức FTP truyền thống.

Nếu bạn coi trọng vấn đề tốc độ truyền tải, hãy sử dụng ProFTPD để tạo FTP Server.

proftpd

Cài đặt FTP Server với ProFTPD

Đầu tiên bạn cần cài đặt EPEL repository để có thể cài đặt ProFTPD dùng lệnh yum.

Tiếp theo cài đặt ProFTPD

yum install proftpd

Cấu hình ProFTPD

Cấu hình mặc định của ProFTPD đã dùng được rồi, nếu muốn chỉnh sửa thêm bạn hãy edit file /etc/proftpd.conf

Tiếp theo, thêm /bin/false vào cuối file /etc/shells với lệnh sau:

echo "/bin/false" >> /etc/shells

Nội dung file sau đó sẽ tương tự như sau:

/bin/sh
/bin/bash
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/false

Tạo FTP user

Bước tiếp theo chúng ta sẽ tạo user để kết nối FTP (nhớ thay domain.com bằng đường dẫn site của bạn)

useradd userftp -p 'mypass' -d /home/domain.com/ -s /bin/false
passwd userftp

Khởi động FTP Server

service proftpd start

Tự động chạy ProFTPD khi boot VPS

sudo chkconfig --levels 235 proftpd on

Vậy là xong rồi đấy, giờ bạn có thể kết nối FTP đến server sử dụng account đã tạo ở trên. Trong trường hợp không login được vào bạn hãy thử chạy lại lệnh passwd userftp

100 Comments

    1. Luân Trần Admin

      A ko dùng cả 2 nên ko biết rõ được 😀
      Cách cài ProFTPD dễ thực hiện hơn đó.

  1. Hanh Pham 28

    Luân ơi sao cuả mình chạy ok hết rồi mà khi log vào nó báo lỗi thế này
    Status: Connecting to 45.32.50.251:21…
    Status: Connection attempt failed with “ECONNREFUSED – Connection refused by server”.

    giúp mình với…đau đầu vụ này quá

        1. Hanh Pham 28

          Hưỡng dẫn mình cách mở port với đc không?
          Mình mới vọc VPS nên gà mờ.
          Cảm ơn Luân!

        2. Hanh Pham 28

          Mình đã kiểm tra thì port 21 chưa mở.
          và mình đã làm theo nguyên hưỡng dẫn và đã mở port 21 nhưng connect ftp vẫn không được Luân à.
          Bị lỗi y như cũ.

          Status: Connection attempt failed with “ECONNREFUSED – Connection refused by server

          Mình đã thử đi thử lại nhiều lần.
          Tạo vps mới rồi cũng không được. không hiểu sai chỗ nào.
          Luân cho hỏi thêm. Nếu không xài được FTP thì mình có thể dùng SFTP để đăng nhập vào cho cái user mình vừa tạo không? vì mình muốn cho người khác đăng nhập vào để sử code nhưng không muốn share tk root

          1. Hanh Pham 28

            ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21

            Mình kiểm tra nó báo thế này là mở hay chưa?

    1. Lữ Phú Hòa 17

      tìm cái này và thêm vào nhé
      các bạn chú ý không nên tắt firewall iptables nhé sẽ không bảo mật đâu đó
      =======
      thêm giá trị “ip_conntrack_ftp” vào
      /etc/sysconfig/iptables-config

      IPTABLES_MODULES=”ip_conntrack_ftp”
      =======
      và thêm port 21 vào tường lửa nữa nhé
      /sbin/iptables -I INPUT -p tcp –dport 21 -j ACCEPT
      /etc/rc.d/init.d/iptables save
      =======
      service iptables restart

  2. Litalino 11

    Mình cài đặt ok rồi chạy ftp thì báo lỗi thế này:

    Connecting to 103.27.237.107:21…
    Error: Connection timed out after 20 seconds of inactivity
    Error: Could not connect to server

      1. Hanh Pham 28

        ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21

        Mình kiểm tra thấy báo như này?
        mở rồi đúng không

  3. Litalino 11

    Bạn cho mình hỏi thêm với:

    Mình install ProFTPD rồi … giờ không dùng đến ProFTPD nữa… muốn gỡ nó ra khỏi vps làm sao ? thanks

    1. Hanh Pham 28

      Mình thì rất cần cái này mà cài hoài không được.
      Mình check thấy báo như này.
      ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
      Nghĩa là port 21 đã mở chưa bạn?

    1. Luân Trần Admin

      Bạn xem có file log trong thư mục /var/log/proftpd/ hay không? Nội dung như thế nào?

  4. Hong Nguyen 1

    mình chạy lệnh này service proftpd start thì gặp lỗi
    Starting proftpd: [FAILED]

  5. Trung 5

    Hi Luân,

    mình đã setup được proftpd, start được service này rồi
    tuy nhiên mình không thể nào kết nối bằng ftp được.
    mình đã kiểm tra thông tin tài khoản tạo mới thì ko có vấn đề gì
    mình check lại serivce này vẫn chạy : service proftpd status
    sau đó mình có thử tắt iptables đi thì mình có thể kết nối được ftp bằng port 21 mặc định

    tuy nhiên tắt iptables không phải là 1 ý kiến hay

    Luân có gặp trường hợp ntn bao giờ chưa nhỉ?

    1. Lữ Phú Hòa 17

      tìm cái này và thêm vào nhé
      các bạn chú ý không nên tắt firewall iptables nhé sẽ không bảo mật đâu đó
      =======
      thêm giá trị “ip_conntrack_ftp” vào
      /etc/sysconfig/iptables-config

      IPTABLES_MODULES=”ip_conntrack_ftp”
      =======
      và thêm port 21 vào tường lửa nữa nhé
      /sbin/iptables -I INPUT -p tcp –dport 21 -j ACCEPT
      /etc/rc.d/init.d/iptables save
      =======
      service iptables restart

  6. Trung Vu 5

    Hi,

    Mình làm theo hướng dẫn, mở port 21 rồi, nhưng vẫn không truy cập được bằng ftp bạn ạ
    Mình thử stop iptables thì truy cập được 🙁

    Ngoài ra không hiểu sao vps mình gặp lỗi truy cập 502 bad gateway
    mình làm theo hướng dẫn fix của hocvps là chỉnh sửa config http của nginx, thì ko còn lỗi 502 bad gateway. tuy nhiên bây giờ lại lỗi no input file specified 🙁

    1. Lữ Phú Hòa 17

      tìm cái này và thêm vào nhé
      các bạn chú ý không nên tắt firewall iptables nhé sẽ không bảo mật đâu đó
      =======
      thêm giá trị “ip_conntrack_ftp” vào
      /etc/sysconfig/iptables-config

      IPTABLES_MODULES=”ip_conntrack_ftp”
      =======
      và thêm port 21 vào tường lửa nữa nhé
      /sbin/iptables -I INPUT -p tcp –dport 21 -j ACCEPT
      /etc/rc.d/init.d/iptables save
      =======
      service iptables restart

  7. trung do 5

    Cho mình hỏi, sau khi tao ftp user xong, mình chown cho user đó luôn. OK, user đó hoạt động tốt trên path này.
    Lần sau login vô lại thì mình thấy path này quay trở lại owner là nginx..tks

  8. Vinh 1

    Connected to 10.0.0.1.
    220 (vsFTPd 2.2.2)
    200 Always in UTF8 mode.
    User (10.0.0.1:(none)): shin1
    530 Permission denied.
    Login failed.

    Fix sao vay a 🙁

  9. Đặng Hoàng Hữu 7

    Chào mọi người, em là dân mới bước vào lĩnh vực này; cũng tập tành làm web và vọc VPS nên cần sự giúp đỡ của mọi người. Rất mong được hỗ trợ.
    Em đang sử dụng VPS thuê và được cài sẵn script của HOCVPS. Bữa này tò mò vào diễn đàn này học hỏi và làm theo bài hướng dẫn này vì muốn sửa dụng FTP bình thường như mọi host web khác. Nhưng sau khi cài đặt thì không những không sửa dụng được mà còn không vào được File Manager và phpmyAdmin trên web luôn.
    Link vào VPS của em: http://108.61.223.120:3825/
    Những cái em mới cài vào gồm:
    1 – http://hocvps.com/quet-virus-malware-shell-tren-vps/
    2 – http://hocvps.com/cai-dat-ftp-server-tren-centos-voi-proftpd/
    3 – http://hocvps.com/cai-dat-configserver-security-firewall-csf-tren-centos/
    Hiện tại website vẫn đang chạy bình thường và vẫn truy cập được vào host bằng BitVise SSH Client. Các lệnh trên Scrpit vẫn thực hiện tốt
    Rất mong được sự giúp đỡ của mọi người!

    1. Luân Trần Admin

      Bạn kiểm tra lại coi có cài thêm tường lửa, block port 3825. Hoặc cấu hình nginx bị chỉnh sửa lại ko

          1. Đặng Hoàng Hữu 7

            Đã cấu hình như anh Luâ hướng dẫn và đã chạy ngon lành. Nhưng hơn 1 cái là IN và OUT em đều thêm port đó vào hết => Liệu có vấn đề gì không anh Luân?

          2. Luân Trần Admin

            OUT là khi kết nối đến server khác -> không cần thiết phải mở port này 😀

    1. Việt Phương Moderator

      Có thể VPS của em sudo package không được cài đặt mặc định. Nếu em cài đặt bằng user root rồi thì không cần sudo nhé
      Em thử chạy chkconfig --levels 235 proftpd on nhé

    1. Luân Trần Admin

      Connection timed out after 20 seconds of inactivity

      Connect xong bạn làm gì đó đi?

Comment của bạn

Your email address will not be published. Required fields are marked *