هر زمانی که لازم باشد یک فایل را از کامپیوتر خودمان به سرور منتقل کنیم یا برعکس، باید یک روش استاندارد و قابل اعتماد برای این جابهجایی وجود داشته باشد که پروتکل انتقال فایل یا FTP دقیقا برای همین کار ساخته شده است. FTP یک مجموعه قانون مشخص است که اجازه میدهد بین دو سیستم ارتباط برقرار شود و فایلها با نظم مشخصی ارسال یا دریافت شوند. به همین خاطر، در مدیریت هاست، ساخت سایت، بکاپگیری، جابهجایی اطلاعات بین دو سرور و حتی رفع خطاهای وردپرس، پای پروتکل FTP وسط است. در این مقاله به موضوعات زیر میپردازیم:
- پروتکل FTP چیست و چگونه کار میکند؟
- سرور FTP چیست و چطور راهاندازی میشود
- کلاینت FTP و ابزارهای معروف مثل FileZilla
- پورتهای FTP و تفاوت حالت Active و Passive
- تفاوت FTP، FTPS و SFTP
- آموزش انتقال فایل با FTP
- مزایا و معایب FTP
پروتکل FTP چیست؟
FTP مخفف File Transfer Protocol است و یعنی «پروتکل انتقال فایل». این پروتکل مشخص میکند:
- یک کامپیوتر چطور به سرور وصل شود؟
- هویت کاربر چطور بررسی شود؟
- فایلها چطور جابهجا شوند؟
به زبان ساده، FTP مثل یک پل ارتباطی بین کلاینت (مثلا لپتاپ شما) و سرور است که اجازه میدهد فایلها را روی اینترنت یا شبکه منتقل کنید.
FTP چه کاری انجام میدهد؟
براساس سایت techtarget، کار اصلی FTP، جابهجایی فایل است؛ اما فقط ارسال و دریافت ساده نیست. معمولا از پروتکل انتقال فایل برای کارهای زیر استفاده میشود:
- آپلود فایل از سیستم شخصی روی هاست یا سرور
- دانلود فایل از سرور روی کامپیوتر
- مدیریت فایلها و پوشهها روی سرور (حذف، تغییر نام، جابهجایی)
- تنظیم سطح دسترسی (Permission) روی فایلها و فولدرها
برای همین، وقتی میگوییم کاربرد پروتکل FTP چیست، بیشتر در زمینههایی مثل مدیریت سایت، انتقال بکاپ و کار با هاست و سرور است.
پروتکل FTP چگونه کار میکند؟
روند کار FTP را اگر خیلی ساده کنیم، به این شکل است:
- شما روی سیستم خودتان یک نرم افزار یا ابزار FTP (مثل FileZilla) باز میکنید. در این نرم افزار، اطلاعات اتصال را وارد میکنید: آدرس سرور (Host)، نام کاربری، رمز عبور و معمولا پورت (که اغلب ۲۱ است).
- در مرحله بعد، این اطلاعات برای سرور ارسال میشود؛ سرور آنها را بررسی میکند و اگر درست باشند، به شما اجازه ورود میدهد.
- سپس، بعد از اتصال، ساختار پوشهها و فایلهای سرور در نرم افزار FTP نمایش داده میشود. معمولا یک سمت پنجره، فایلهای سیستم شماست و سمت دیگر فایلهای سرور. میتوانید فایلها را بین سیستم خودتان و سرور جابهجا کنید.
- اگر فایلی را از سیستم خودتان به سمت سرور بفرستید، آپلود انجام میشود و اگر از سرور به سیستم خودتان بگیرید، دانلود انجام میشود. این کار معمولا با درگ اند دراپ یا گزینههای ساده داخل نرم افزار انجام میشود.
در کنار انتقال فایل، FTP اجازه میدهد: پوشه بسازید و فایل حذف کنید ونامها را عوض کنید و دسترسیها را تنظیم کنید. به همین دلیل، برای مدیریت عملی فایلها روی سرور، هنوز هم FTP یکی از رایجترین راههاست.
سرور FTP چیست؟
برای اینکه پروتکل انتقال فایل (FTP) قابل استفاده باشد، باید روی سرور، برنامهای نصب شود که بتواند درخواستهای انتقال فایل شما را قبول کند؛ به این برنامه میگوییم سرور FTP. این برنامه بررسی میکند چه کسی وارد شده، به کدام پوشهها دسترسی دارد و اجازه میدهد فایلها روی سرور آپلود، دانلود یا حذف شوند. نقش سرور FTP را میشود در چند جمله خلاصه کرد:
- اطلاعات ورود شما (نام کاربری و رمز عبور) را چک میکند.
- تصمیم میگیرد شما به کدام پوشهها و فایلها دسترسی دارید.
- درخواستهای شما برای آپلود، دانلود، حذف، تغییر نام و ساخت پوشه را اجرا میکند.
اگر از سرور اختصاصی استفاده میکنید، معمولا لازم است تنظیمات امنیتی مثل پورتهای FTP را با فایروال هماهنگ کنید تا اتصال برقرار شود. اگر نمیدانید فایروال چیست؟ میتوانید مقاله مربوطه را مطالعه کنید.

نرم افزارهای معروف سرور FTP
برای راهاندازی سرور FTP، نرم افزارهای مختلفی وجود دارد. چند نمونه رایج عبارتند از:
- FileZilla Server روی ویندوز
- vsftpd روی لینوکس
- ProFTPD و Pure-FTPd روی لینوکس
وقتی از هاست اشتراکی (مثلا cPanel یا DirectAdmin) استفاده میکنید، معمولا همین نرم افزارها یا مشابهشان از قبل روی سرور نصب شدهاند و شرکت هاستینگ آنها را مدیریت میکند. شما فقط اکانت میسازید و وصل میشوید.
سرور FTP چطور راهاندازی میشود؟
راهاندازی سرور FTP دو حالت کلی دارد که شامل موارد زیر هستند:
۱. روی هاستهای معمولی (اشتراکی)
در هاستهای معمولی شما مستقیم سراغ نصب سرور FTP نمیروید. کار شما معمولا این است که وارد پنل هاست میشوید و در بخش FTP Accounts یک حساب جدید میسازید. برای آن نام کاربری، رمز عبور و پوشهی موردنظر را مشخص میکنید. از این به بعد، با استفاده از این اطلاعات میتوانید به کمک یک برنامه روی کامپیوترتان به سرور وصل شوید. خودِ سرور FTP قبلا توسط شرکت هاستینگ نصب و تنظیم شده است.
۲. روی سرور اختصاصی یا VPS
اگر سرور اختصاصی یا VPS دارید و خودتان مسئول آن هستید یک نرم افزار سرور FTP (مثل vsftpd یا FileZilla Server) نصب میکنید. برای هر کاربر یا هر سایت، یک حساب FTP تعریف میکنید و مشخص میکنید به کدام پوشهها دسترسی داشته باشد. پورت مربوط به FTP (معمولا ۲۱) را در فایروال باز میکنید تا اتصال از بیرون امکان پذیر باشد. گاهی هم لازم میشود تنظیمات امنیتی عمومی سرور را تغییر دهید؛ مثل تغییر پورت SSH برای جلوگیری از حملات خودکار که این موارد به صورت تکمیلی و جداگانه انجام میشوند.
کلاینت FTP چیست و چه ابزارهایی دارد؟
وقتی میخواهید با پروتکل انتقال فایل کار کنید و به سرور وصل شوید، باید در سمت کامپیوتر خودتان یک نرم افزار داشته باشید که بتواند با سرور ارتباط برقرار کند. این نرم افزار را کلاینت FTP میگویند. برخلاف سرور FTP که آنطرف روی سرور نصب میشود، کلاینت FTP فقط روی کامپیوتر یا لپتاپ شماست و هیچ نقشی در خودِ سرور ندارد. وظیفهاش فقط این است که درخواستهای شما را برای سرور بفرستد. وقتی کلاینت را اجرا میکنید، یک سمت صفحه فایلهای کامپیوتر شماست و سمت دیگر فایلهای سرور. همین نمایش دوطرفه باعث میشود بتوانید فایل را در سادهترین حالت از اینطرف بگیرید و در طرف دیگر رها کنید.
ابزارهای معروف کلاینت FTP
رایجترین برنامهها برای این کار عبارتند از:
- FileZilla: معروفترین و سادهترین گزینه
- WinSCP: مخصوص ویندوز
- Cyberduck: مناسب کاربران مک
این برنامهها متفاوت به نظر میرسند، اما کارشان یکی است: وصل شدن به سرور با کمک پروتکل FTP و نمایش فایلها.

اتصال کلاینت با نام کاربری، رمز عبور و پورت
برای اینکه کلاینت بتواند به سرور FTP وصل شود، باید چهار مورد را در برنامه وارد کنید: آدرس سرور، نام کاربری، رمز عبور و پورت. بعد از وارد کردن این اطلاعات، کلاینت درخواست اتصال را برای سرور میفرستد. اگر اطلاعات درست باشد و پورت در فایروال سرور باز باشد، ارتباط برقرار میشود و فایلها نمایش داده میشوند.
چطور با FileZilla به هاست وصل شوم؟
در FileZilla کافی است برنامه را باز کنید و اطلاعات اتصال را در قسمت بالای صفحه وارد کنید. پس از زدن دکمه اتصال، فایلهای سرور در ستون سمت راست ظاهر میشود و شما میتوانید با گرفتن و رها کردن، هر فایلی را که لازم دارید منتقل کنید. اگر روی سرور ویندوز کار میکنید، روشهای دیگری هم برای جابهجایی فایل وجود دارد که در مقاله مربوط به انتقال فایل از سرور ویندوز توضیح داده شده، اما برای استفادههای معمول، همین روش FTP کاملا کافی است.
پورت FTP چیست؟
برای اینکه FTP بتواند بین سیستم شما و سرور ارتباط برقرار کند، این ارتباط باید از یک «مسیر مشخص» روی شبکه عبور کند. این مسیر با یک عدد شناخته میشود که به آن پورت میگویند. براساس سایت fortinet: وقتی میگوییم پورت FTP، منظورمان شماره پورتی است که سرویس FTP روی آن منتظر اتصال کاربران میماند. در حالت استاندارد، FTP از پورت ۲۱ برای ارتباط اصلی استفاده میکند. در بعضی حالتها هم از پورت ۲۰ برای انتقال داده استفاده میشود، اما چیزی که کاربر معمولا با آن سر و کار دارد همان پورت ۲۱ است. وقتی در یک نرم افزار مثل FileZilla عدد ۲۱ را در بخش Port وارد میکنید، در واقع به برنامه میگویید: برای ارتباط با سرور FTP، از مسیر استاندارد این سرویس استفاده کن. اگر این پورت روی سرور بسته باشد یا به عدد دیگری تغییر داده شده باشد، اتصال برقرار نخواهد شد؛ حتی اگر نام کاربری و رمز عبور کاملا درست باشند.
تفاوت حالت Active و Passive در FTP
در پروتکل FTP دو روش کلی برای برقراری ارتباط وجود دارد: Active و Passive. تفاوت این دو روش بیشتر در نحوه استفاده از پورتها و جهت برقراری اتصال است:
- در حالت Active: بخشی از ارتباط از سمت سرور به سیستم شما برقرار میشود. اگر سیستم شما پشت مودم، روتر یا فایروال قرار داشته باشد، ممکن است این ارتباط برگشتی مسدود شود و انتقال فایل دچار مشکل شود.
- در حالت Passive: همه اتصالها از سمت سیستم شما به سمت سرور ایجاد میشوند و سرور فقط پاسخ میدهد. به همین دلیل، در اکثر شبکهها و برای بیشتر کاربران، انتخاب حالت Passive باعث میشود احتمال خطا هنگام اتصال و انتقال فایل با FTP کمتر شود.
چرا به پورت ۲۱ دسترسی ندارم؟
یکی از سوالهای رایج این است که «چرا نرم افزار FTP به سرور وصل نمیشود؟» در بسیاری از مواقع، مشکل از خود پورت ۲۱ است، نه از نام کاربری یا رمز عبور. چند علت رایج برای این موضوع وجود دارد که عبارتند از:
- اولین احتمال این است که روی سرور، پورت ۲۱ بسته شده باشد؛ در این حالت، هر تلاشی برای اتصال به FTP از بیرون، قبل از رسیدن به سرویس FTP قطع میشود.
- احتمال دوم این است که روی سیستم یا شبکهی شما، نرم افزارهای امنیتی یا تنظیمات شبکه، اجازه ارتباط خروجی روی پورت ۲۱ را محدود کرده باشند.
- در برخی سرورها، مدیر سیستم برای افزایش امنیت، پورت پیشفرض FTP را تغییر میدهد؛ کاری که شبیه تغییر پورت SSH است. در این وضعیت، شما باید پورت جدید را از مستندات یا بخش پشتیبانی هاست دریافت کنید و همان عدد را در تنظیمات نرم افزار FTP وارد کنید.
- اگر روی سرور خودتان کنترل پنل نصب کردهاید، مثلا پس از نصب دایرکت ادمین در سرور، معمولا تنظیمات پایه برای سرویس FTP به صورت خودکار انجام میشود؛ با این حال، اگر در فایروال سرور، پورت ۲۱ یا پورت تعیین شده برای FTP باز نشده باشد، همچنان اتصال برقرار نخواهد شد.
تفاوت بین FTP، FTPS و SFTP
با اینکه روشهای امنتر و جدیدتر برای انتقال فایل وجود دارد، FTP هنوز به طور گسترده استفاده میشود؛ چون ساده است، روی اکثر هاستها فعال است و ابزارهای رایگان زیادی برای آن وجود دارد. البته نسخه معمولی FTP رمزنگاری قوی ندارد، برای همین در انتقالهای حساس، از روشهای امنتر مثل FTPS و SFTP استفاده میشود.
برای اینکه بدانیم کدام روش برای انتقال فایل مناسبتر است، لازم است تفاوت سه روش FTP، FTPS و SFTP را به صورت ساده و روشن بشناسیم. هر سه برای جابهجایی فایل استفاده میشوند، اما شیوه امنیت و نوع ارتباط آنها با یکدیگر فرق دارد.
FTP
FTP نسخه اصلی و قدیمی این روش است. در FTP معمولی، اطلاعات بدون رمزنگاری ارسال میشود. این یعنی نام کاربری، رمز عبور و محتوای فایلها در مسیر شبکه قابل خواندن هستند. به همین دلیل، FTP ساده امنیت کمی دارد و بیشتر برای شبکههای داخلی یا مواردی که حساسیت ندارند، استفاده میشود.
FTPS
FTPS همان FTP است، اما یک لایه امنیتی به آن اضافه شده است. این لایه همان SSL/TLS است؛ یعنی همان روش رمزنگاریای که در سایتهای HTTPS استفاده میشود. در FTPS، تمام اطلاعاتی که بین شما و سرور منتقل میشود، رمزنگاری شده است. از نظر نحوه استفاده، FTPS شبیه FTP است، فقط نوع اتصال امن انتخاب میشود.
SFTP
SFTP از نظر نام شبیه FTP است، اما یک پروتکل جداگانه است. این روش از طریق SSH کار میکند و تمام ارتباط به صورت کامل رمزنگاری میشود. SFTP معمولا روی پورتی کار میکند که برای SSH تنظیم شده (معمولا ۲۲ یا پورتی که مدیر سرور تعیین کرده باشد). از نظر امنیت، SFTP یکی از امنترین روشها برای انتقال فایل است.
کدام روش امنتر است؟
- FTP: امنیت کم
- FTPS: امن
- SFTP: امنتر و پایدارتر
برای هاست کدام بهتر است؟
اگر هاست شما دو گزینه FTPS یا SFTP را ارائه میکند، معمولا SFTP انتخاب مطمئنتری است، زیرا مدیریت آن سادهتر و امنیت آن بالاتر است. روی سرورهایی که SSH فعال دارند، SFTP بدون نیاز به تنظیمات جداگانه قابل استفاده است. در سرورهایی که SSH در پورت دیگری تنظیم شده (مثلا بعد از تغییر پورت SSH) ارتباط SFTP نیز از همان پورت دنبال میشود.
اگر با SSH آشنا نیستید و یا اطلاعات کمی درباره آن دارید، پیشنهاد میکنیم، مطلب، پروتکل SSH چیست را حتما مطالعه کنید.
نحوه انتقال فایل با FTP: آموزش قدم به قدم اتصال و انتقال
در این بخش روند اتصال و انتقال فایل با FTP را به صورت مرحله به مرحله توضیح میدهیم تا بتوانید با ابزارهای مختلف مثل FileZilla، WinSCP یا Cyberduck فایلها را روی سرور مدیریت کنید.
برای اتصال به سرور، ابتدا باید آدرس سرور، نام کاربری، رمز عبور و پورت را از هاست یا مدیر سرور دریافت کنید. در نرم افزارهایی مانند FileZilla، WinSCP یا Cyberduck یک بخش برای وارد کردن این اطلاعات وجود دارد. کافی است موارد خواسته شده را وارد و گزینه اتصال را انتخاب کنید. پس از اتصال موفق، در این برنامهها معمولا یک سمت پنجره فایلهای سیستم شما و سمت دیگر فایلهای سرور نمایش داده میشود. روند کار در ابزارهای مختلف مشابه است و تفاوتها بیشتر در ظاهر برنامهها است.
توضیح پرمیشن
روی سرور، هر فایل و پوشه سطح دسترسی مشخصی دارد که تعیین میکند چه عملیاتی روی آن انجام شود؛ به این سطح دسترسی Permission گفته میشود. در نرم افزارهایی مثل FileZilla، اگر روی یک فایل یا پوشه در بخش مربوط به سرور راستکلیک کنید و گزینه مربوط به Permission را انتخاب کنید، عدد دسترسی آن نمایش داده میشود. این عدد معمولا سه رقمی است؛ برای مثال، در بسیاری از هاستها مقدار ۶۴۴ برای فایل و ۷۵۵ برای پوشه استفاده میشود. تنظیم نادرست این عدد میتواند باعث خطا در اجرای سایت شود، بنابراین اگر مطمئن نیستید بهتر است پیش از تغییر با پشتیبانی هاست مشورت کنید.
درگ اند دراپ فایلها
بیشتر ابزارهای FTP از روش «کشیدن و رها کردن» پشتیبانی میکنند. برای آپلود، فایل مورد نظر را از بخش سیستم خود با ماوس گرفته و در بخش مربوط به سرور رها میکنید. برای دانلود نیز فایل از سمت سرور گرفته میشود و در بخش سیستم شما رها میشود. این روش سادهترین راه برای انتقال فایل است و در FileZilla، WinSCP و Cyberduck به یک شکل عمل میکند.
خطاهای رایج
در زمان انتقال فایل، ممکن است با خطاهای مختلف روبهرو شوید. چند مورد از رایجترین آنها عبارتاند از:
- قطعشدن موقت اینترنت
- پر بودن فضای هاست
- محدودیت دسترسی پوشه مقصد
- مسدود بودن پورتهای مربوط به FTP
در این شرایط نرم افزار معمولا فایلهایی را که منتقل نشدهاند در فهرست جداگانهای نمایش میدهد. پس از برطرفکردن مشکل، میتوان انتقال را دوباره تکرار کرد.
چطور یک فولدر را آپلود کنم؟
برای انتقال یک پوشه کامل، لازم نیست فایلهای داخل آن را جداگانه آپلود کنید. کافی است پوشه را در بخش سیستم خود انتخاب کرده و با کشیدن و رها کردن آن را به سمت بخش مربوط به سرور منتقل کنید. همچنین در برخی ابزارها مانند FileZilla میتوانید روی پوشه کلیک راست کرده و گزینه Upload را انتخاب کنید. نرم افزار تمام فایلها و زیرپوشههای داخل آن را به صورت خودکار منتقل میکند.
چرا آپلود متوقف میشود؟
متوقف شدن آپلود میتواند به دلایل مختلفی رخ دهد. معمولترین موارد شامل قطعشدن اتصال اینترنت، محدودیت فضای هاست، زمان بندی پایان یافته اتصال (Timeout) یا نداشتن دسترسی نوشتن روی پوشه مقصد است. در چنین شرایطی ابتدا باید وضعیت اینترنت، فضای خالی هاست و سطح دسترسی پوشه مقصد را بررسی کنید. پس از رفع مشکل، میتوانید ارسال فایلهای ناموفق را دوباره انجام دهید.
مزایا و معایب FTP
FTP به دلیل ساختار سادهای که دارد، در بسیاری از هاستها و سرورها هنوز استفاده میشود و مهمترین مزایای آن شامل موارد زیر هستند:
- کار با آن ساده است: نرم افزارهای FTP محیطی شبیه دو پنجره دارند؛ یکی برای فایلهای کامپیوتر شما و یکی برای فایلهای سرور که همین موضوع استفاده از آن را راحت میکند.
- در بیشتر هاستها آماده استفاده است: تقریبا همه کنترل پنلها امکان ساخت حساب FTP را بدون تنظیمات پیچیده فراهم میکنند.
- برای فایلهای بزرگ مناسب است: FTP معمولا در انتقال فایلهای حجیم عملکرد خوبی دارد.
- نرم افزارهای زیادی از آن پشتیبانی میکنند: ابزارهایی مثل FileZilla، WinSCP و Cyberduck روی سیستم عاملهای مختلف قابل استفاده هستند.
معایب
در کنار این مزایا، FTP چند ضعف مهم هم دارد که باعث میشود همیشه بهترین گزینه نباشد، تعدادی از این معایب عبارتند از؛
- در نسخه معمولی امن نیست: اطلاعات ورود و فایلها بدون رمزنگاری ارسال میشوند و ممکن است در شبکه قابل مشاهده باشند.
- در بعضی شبکهها اتصال سخت برقرار میشود: اگر پورتها یا تنظیمات فایروال درست نباشد، اتصال FTP دچار مشکل میشود.
جمع بندی
پروتکل FTP همچنان یکی از سادهترین روشها برای مدیریت فایل روی سرور است و دلیل ماندگاری آن هم همین سادگی و قابل فهم بودن است. کاربر بدون نیاز به کنترل پنل میتواند فایلها را جابهجا کند، پوشهها را مدیریت کند و تغییرات لازم را از طریق نرم افزارهای مخصوص انجام دهد. در کنار این سادگی، شناخت سرور FTP، پورتها، سطح دسترسیها و ابزارهای مختلف باعث میشود کاربر در زمان کار با هاست یا سرور با خطا و سردرگمی کمتری روبهرو شود.
از طرف دیگر، آگاهی از محدودیتهای FTP و وجود گزینههای امنتر کمک میکند برای هر نوع پروژه، روش مناسب انتخاب شود و انتقال فایل با کمترین ریسک انجام گیرد. هدف FTP همیشه ایجاد یک راه ارتباطی مستقیم و قابل اعتماد بوده است و تا زمانی که کاربر با اصول پایه آن آشنا باشد، این پروتکل همچنان ابزار مفیدی برای مدیریت فایل روی سرورها باقی میماند.



