نحوه راه اندازی سرور FTP on اوبونتو وی پی اس

در این مقاله قصد دارید روش راه اندازی سرور FTP را یاد بگیرید روی وی پی اس اوبونتو ما از a استفاده خواهیم کرد vsftpd سرور، که به طور گسترده ای به عنوان سریع ترین و امن ترین سرور FTP برای سیستم های یونیکس مانند در نظر گرفته می شود.

FTP چیست؟

FTP یا پروتکل انتقال فایل ابزاری برای اشتراک گذاری فایل ها بین رایانه ها از طریق اتصال اینترنت با استفاده از پروتکل TCP/IP است. همچنین از یک چارچوب کلاینت-سرور و امنیت SSL/TLS برای اطمینان از انتقال امن و قابل اعتماد داده استفاده می کند.

این تا حدودی شبیه به HTTP (پروتکل انتقال ابرمتن) یا SMTP (پروتکل انتقال پست ساده). تفاوت این است که FTP مسئول انتقال فایل ها از طریق اینترنت است در حالی که HTTP و SMTP به ترتیب انتقال صفحات وب و ایمیل ها را انجام می دهند.

قبل از شروع، به خاطر داشته باشید که ما شما را از طریق پیکربندی یک سرور FTP راهنمایی می کنیم روی اوبونتو

روش راه اندازی یک سرور FTP روی اوبونتو

این آموزش به شما نیاز دارد که بدانید چگونه از طریق SSH به سرور متصل شوید. اگر شما مالک هستید هاستینگerVPS، جزئیات ورود به سیستم در دسترس است سرور تب hPanel

1. نصب vsftpd

  1. اول از همه، ما باید قبل از اینکه به آن ادامه دهیم، به‌روزرسانی‌های بسته خود را دریافت کنیم vsftpd نصب و راه اندازی. برای شروع، دستور زیر را اجرا کنید:
    sudo apt-get update

    منتظر بمانید تا تمام فرآیندها تکمیل شوند و به محض اتمام به روز رسانی، تاییدیه را مشاهده خواهید کرد.

  2. پس از اتمام، نصب کنید vsftpd daemon با استفاده از دستور زیر:
    sudo apt-get install vsftpd

    یک پیام تأیید از شما خواسته می شود که باید تایپ کنید Y و ضربه بزنید وارد برای ادامه نصب

  3. پس از اتمام نصب، باید از فایل اصلی نسخه پشتیبان تهیه کنید تا بتوانید با یک فایل پیکربندی خالی شروع کنید:
    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

    اکنون آماده پیکربندی فایروال هستیم.

3. اجازه دادن به FTP Traffic از فایروال

  1. برای اینکه سرور FTP اوبونتو از طریق اینترنت ارتباط برقرار کند، باید راه خود را از طریق فایروال باز کند. اما ابتدا اجازه دهید ببینیم که آیا فایروال از قبل فعال شده است یا خیر روی ماشین شما یا نه برای بررسی وضعیت به سادگی این دستور را اجرا کنید:
    sudo ufw status
  2. اگر شما ببینید ufw: دستور پیدا نشد، به این معنی است که فایروال اوبونتو نصب نشده است. می توانید آن را با تایپ کردن نصب کنید:
    sudo apt-get install ufw
  3. سپس با استفاده از این دستور فایروال را فعال کنید:
    sudo ufw enable
  4. پس از فعال شدن، همچنان باید مطمئن شوید که ترافیک FTP مجاز است. برای انجام این کار، دستورات زیر را یکی یکی اجرا کنید:
    sudo ufw allow OpenSSH sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcpThis series of commands will open up several ports:
    • OpenSSH اگر همچنان می خواهید از طریق SSH به سرور خود دسترسی داشته باشید، لازم است. گاهی اوقات این گزینه به صورت پیش فرض فعال می شود.
    • پورت ها 20 و 21 برای ترافیک FTP
    • پورت ها 40000:50000 برای محدوده پورت های غیرفعال که در نهایت در فایل پیکربندی تنظیم می شود، رزرو می شود.
    • بندر 990 زمانی که TLS فعال باشد استفاده خواهد شد.
  5. حالا بیایید دوباره به وضعیت نگاه کنیم:
    sudo ufw statusThe output should look something like this:Status: active To                         Action From --                              ------ ---- OpenSSH                    ALLOW Anywhere 990/tcp                    ALLOW Anywhere 20/tcp                     ALLOW Anywhere 21/tcp                     ALLOW Anywhere 40000:50000/tcp            ALLOW Anywhere OpenSSH (v6)               ALLOW Anywhere (v6) 20/tcp (v6)                ALLOW Anywhere (v6) 21/tcp (v6)                ALLOW Anywhere (v6) 990/tcp (v6)               ALLOW Anywhere (v6) 40000:50000/tcp (v6)       ALLOW Anywhere (v6)

3. ایجاد دایرکتوری کاربر

  1. هنگامی که فایروال راه اندازی شد، باید کاربری را ایجاد کنیم که قرار است از دسترسی FTP استفاده کند. این است شیوه انجام آن:
    sudo adduser hostinger

    به یاد داشته باشید که نام کاربری را مطابق با اولویت خود تغییر دهید.

  2. سپس یک رمز عبور برای کاربر وارد کنید و تمام مشخصات مورد نیاز را وارد کنید.
    در حالت ایده آل، FTP باید به یک فهرست خاص برای اهداف امنیتی محدود شود. به همین دلیل است vsftpd استفاده می کند chroot jails، که یک کاربر محلی را به طور پیش فرض به فهرست اصلی خود محدود می کند.
    با این حال، ممکن است که به دلیل vsftpd امنیت، ممکن است کاربر نتواند در آن دایرکتوری بنویسد. برای رفع این مشکل، ما مجبور نیستیم امتیازات نوشتن را از پوشه اصلی حذف کنیم. در عوض، ما یک دایرکتوری ftp می سازیم که به عنوان عمل می کند chroot. این شامل یک دایرکتوری قابل نوشتن است که مسئول نگهداری فایل های مورد نیاز خواهد بود.
  3. برای ایجاد پوشه FTP از دستور زیر استفاده کنید:
    sudo mkdir /home/hostinger/ftp

    سپس، مالکیت را با استفاده از:

    sudo chown nobody:nogroup /home/hostinger/ftp

    در نهایت، مجوز نوشتن را حذف کنید:

    sudo chmod a-w /home/hostinger/ftp

    حال از دستور زیر برای تایید مجوزها استفاده کنید:

    sudo ls -la /home/hostinger/ftp

    خروجی باید چیزی شبیه به این باشد:

    total 8
    dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 .
    drwxr-xr-x 3 hostinger   hostinger 4096 Oct 8 11:32 ..
  4. سپس، دایرکتوری نگهداری فایل را ایجاد می کنیم و مالکیت را به آن اختصاص می دهیم:
    sudo mkdir /home/hostinger/ftp/files
    sudo chown hostinger:hostinger /home/hostinger/ftp/files

    در نهایت، یک فایل آزمایشی را به دایرکتوری اضافه کنید که وقتی همه چیز را بعداً آزمایش می کنیم، استفاده می شود روی:

    echo "vsftpd sample file" | sudo tee /home/hostinger/ftp/files/sample.txt

4. پیکربندی vsftpd

مرحله بعدی پیکربندی vsftpd و دسترسی FTP ما است. در این مثال، به یک کاربر اجازه می‌دهیم با استفاده از یک حساب محلی پوسته متصل شود. دو پیکربندی کلیدی مورد نیاز برای این کار قبلاً در پیکربندی (vsftpd.conf) فایل.

  1. برای شروع، از دستور nano برای باز کردن استفاده کنید vsftpd فایل پیکربندی.
    sudo nano /etc/vsftpd.conf

    بررسی کنید که محتوا تنظیمات مشابه این را دارد:

    . . . # Allow anonymous FTP? (Disabled by default). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES . . .

    در همین فایل حذف می کنیم # (بدون نظر) و مطمئن شوید که ما آن را فعال کرده ایم write_enable.

    . . . write_enable=YES . . .
  2. همچنین باید نظر خود را لغو کنید chroot اطمینان حاصل شود که کاربر FTP فقط به فایل های داخل دایرکتوری مجاز دسترسی دارد. تغییر دادن نه ارزش به آره، همچنین. به خاطر داشته باشید که دو خط مانند این وجود دارد و شما باید هر دوی آنها را از کامنت بردارید.
    . . . chroot_local_user=YES . . .
  3. چند مقدار جدید وجود دارد که باید آنها را به پایین فایل اضافه کنید. اولی است user_sub_token در مسیر دایرکتوری local_root. این به پیکربندی اجازه می دهد تا با کاربر فعلی یا هر کاربر دیگری که متعاقباً اضافه می شود کار کند:
    user_sub_token=$USER local_root=/home/$USER/ftp
  4. برای اطمینان از اینکه تعداد قابل توجهی از اتصالات در دسترس هستند، تعداد پورت های فایل پیکربندی را محدود می کنیم:
    pasv_min_port=40000 pasv_max_port=50000
  5. در این آموزش قصد داریم اجازه دسترسی را بدهیم روی مورد به مورد بنابراین، پیکربندی را طوری تنظیم می‌کنیم که فقط به کاربرانی که شما صریحاً به لیست اضافه کرده‌اید، دسترسی داشته باشند:
    userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO

    وقتی تنظیم کردید userlist_deny flag به نه، فقط کاربران مشخص شده مجاز به دسترسی خواهند بود. پس از اتمام، کلیک کنید CTRL+X به دنبال Y برای ذخیره آن، پس وارد برای تایید تغییرات فایل

  6. در نهایت یک لیست کاربری ایجاد می کنیم و یک کاربر به فایل اضافه می کنیم:
    echo "hostinger" | sudo tee -a /etc/vsftpd.userlist

    با اجرای دستور زیر مطمئن شوید که کاربر واقعاً فعال است:

    cat /etc/vsftpd.userlist
    تایید کاربر on فهرست کاربران on یک VPSتایید کاربر on فهرست کاربران on یک VPS

    خروجی باید “hostinger” همانطور که در این اسکرین شات نشان داده شده است:

  7. برای بارگذاری تغییرات پیکربندی، دیمون را با استفاده از دستور زیر راه اندازی مجدد کنید:
    sudo systemctl restart vsftpd

5. ایمن سازی FTP

  1. به طور پیش فرض، FTP داده ها را رمزگذاری نمی کند، بنابراین ما از آن استفاده خواهیم کرد SSL/TLS گواهی برای انتقال امن داده ها اولین قدم این است که باید گواهی SSL را برای سرور FTP اوبونتو ایجاد کنیم.
    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

    را -روزها پرچم گواهی را به مدت یک سال معتبر می کند و ما a را گنجانده ایم 2048 بیتی خصوصی RSA همین دستور را کلید بزنید

  2. پس از درخواست، مشخصات شخصی مربوطه را در فیلد ارائه شده وارد کنید.
  3. پس از اتمام ساخت گواهی، فایل پیکربندی را دوباره باز کنید:
    sudo nano /etc/vsftpd.conf

    انتهای فایل باید شامل دو خط باشد که با آن شروع می شود rsa.

    # rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    اکنون، فایل پیکربندی را به گواهینامه ای که به تازگی ایجاد کرده ایم اشاره می کنیم. دایرکتوری های زیر را درست زیر خطوط قبلی اضافه کنید:

    rsa_cert_file=/etc/ssl/private/vsftpd.pem
    rsa_private_key_file=/etc/ssl/private/vsftpd.pem
  4. در مرحله بعد، ما SSL را فعال می کنیم و اطمینان حاصل می کنیم که فقط مشتریانی که SSL فعال دارند می توانند با ما تماس بگیرند. به سادگی این خط را وارد کنید:
    ssl_enable=YES

    سپس، خطوط زیر را اضافه کنید تا هرگونه اتصال ناشناس از طریق SSL ممنوع شود:

    allow_anon_ssl=NO
    force_local_data_ssl=YES
    force_local_logins_ssl=YES

    سرور را برای استفاده از TLS با استفاده از:

    ssl_tlsv1=YES
    ssl_sslv2=NO
    ssl_sslv3=NO
  5. حالا دو گزینه دیگر را تغییر می دهیم. ابتدا غیر فعال کنید استفاده مجدد از SSL برای جلوگیری از خراب شدن کلاینت های FTP. ثانیا، ما از مجموعه‌های رمزگذاری با رمزگذاری بالا استفاده خواهیم کرد، که اطمینان حاصل می‌کنند که طول کلید برابر یا بیشتر از 128 بیت باشد.
    require_ssl_reuse=NO
    ssl_ciphers=HIGH

    با فشار دادن مجدد فایل را ذخیره کنید CTRL+X به دنبال Y، سپس ضربه بزنید وارد.

  6. بیایید دوباره راه اندازی کنیم vsftpd یک بار دیگر برای اعمال تنظیمات جدید:
    sudo systemctl restart vsftpd

کار عالی! اکنون سرور FTP را پیکربندی کرده اید روی VPS اوبونتو شما برای کار با پروتکل SSL/TLS.

پیشنهاد می‌کنیم بخوانید:  روش اضافه کردن صفحه به منوی ناوبری در وردپرس: ۲ روش موثر

6. تست اتصال با FileZilla

امروزه اکثر مشتریان FTP از تنظیمات رمزگذاری TLS پشتیبانی می کنند. این یک راه عالی برای آزمایش اینکه آیا سرور FTP اوبونتو شما به درستی کار می کند یا خیر است. برای آزمایش اتصال، از FileZilla FTP Client استفاده خواهیم کرد.

  1. برای شروع، راه اندازی کنید FileZilla و کلیک کنید روی را مدیر سایت آیکون. سپس، روی سایت جدید در پنجره درخواست شده را فشار دهید تا جزئیات سرور FTP اوبونتو را وارد کنید.
    پنجره اتصال سریع FileZillaپنجره اتصال سریع FileZilla
  2. تمام ستون های مورد نیاز را با اطلاعات سرور اوبونتو FTP تازه ایجاد شده خود پر کنید. از آنجایی که ما آن را برای استفاده از TLS پیکربندی کردیم، ممکن است آن را نیز انتخاب کنیم از FTP صریح بر روی TLS استفاده کنید گزینه. پیکربندی نهایی باید به شکل زیر باشد:
    تنظیمات اتصال FileZillaتنظیمات اتصال FileZilla
  3. پس از آماده شدن، کلیک کنید اتصال، و صفحه ای ظاهر می شود که از شما می خواهد رمز عبور کاربر FTP را وارد کنید. پس از آن ضربه بزنید خوب.
  4. در نهایت، باید گواهی SSL سرور FTP خود را تأیید کنید روی اوبونتو وی پی اس. پس از تایید، دایرکتوری ریشه با فایل تست اکنون باید ظاهر شود روی صفحه نمایش شما
    فایل تست on سرویس گیرنده اوبونتو FileZillaفایل تست on سرویس گیرنده اوبونتو FileZilla

همین! اکنون می توانید فایل های مختلفی را از رایانه خود به سرور FTP اوبونتو و بالعکس انتقال دهید.

نتیجه

داشتن یک سرور FTP اوبونتو به اشتراک گذاری فایل ها بین VPS/سرور اوبونتو و کامپیوتر را برای شما آسان می کند. به لطف امنیت SSL/TLS و پروتکل TCP/IP، این یک روش امن و قابل اعتماد برای انتقال داده است.

پیشنهاد می‌کنیم بخوانید:  بایگانی VPS

در این آموزش روش راه اندازی سرور FTP را یاد گرفتید روی استفاده از اوبونتو vsftpd. پنج مرحله وجود دارد که باید دنبال کنید. بیایید یک بار دیگر نگاهی به آنها بیندازیم.

  1. نصب vsftpd روی سرور اوبونتو خود را و از فایل پیکربندی اصلی نسخه پشتیبان تهیه کنید.
  2. اتصالات FTP را از طریق فایروال مجاز کنید.
  3. یک فهرست کاربری ایجاد کنید که فقط توسط کاربران مشخص شده قابل دسترسی باشد.
  4. پیکربندی کنید vsftpd.
  5. سرور FTP را ایمن کنید.
  6. اتصال FTP خود را با FileZilla تست کنید.

موفق باشید، و مطمئن شوید که دیگر آموزش های VPS ما را بررسی کنید!