راهنمای FTP / SFTP برای مبتدیان
پروتکل انتقال فایل (FTP) چیست؟
FTP یک پروتکل شبکه استاندارد است که برای انتقال فایلها از یک میزبان به میزبان دیگر از طریق یک شبکه مبتنی بر TCP مانند اینترنت استفاده میشود. FTP بر روی مدل کلاینت-سرور کار میکند که در آن فایلها بین مشتری و سرور منتقل میشوند.
FTP از دو کانال مجزا برای ارتباط استفاده میکند: یک کانال فرمان (یا کنترل) برای انتقال دستورات و پاسخها و یک کانال داده برای انتقال فایلها. فاقد امنیت داخلی برای انتقال فایلها است، زیرا دادهها به صورت رمزگذاری نشده منتقل میشوند و آن را در معرض رهگیری و حمله قرار میدهند.
FTP از سال 1971 وجود داشته است و آن را به یکی از اولین پروتکلهای توسعه یافته برای این منظور تبدیل کرده است.
پروتکل انتقال امن فایل (SFTP) چیست؟
از سوی دیگر، SFTP یک نسخه امن از FTP است که از طریق پروتکل Secure Shell (SSH) عمل میکند تا اطمینان حاصل شود که دستورات و دادهها رمزگذاری شدهاند. این باعث میشود که در برابر استراق سمع شبکه و سرقت اطلاعات بسیار ایمنتر شود.
برخلاف FTP، SFTP از یک اتصال واحد برای دستورات و انتقال داده استفاده میکند که راهاندازی را ساده میکند و احتمال مشکلات مربوط به فایروالها و ارسال پورت را کاهش میدهد. همچنین از ویژگیهای پیشرفته مانند دسترسی به فایل، انتقال فایل و عملکرد مدیریت فایل به صورت ایمن در هر جریان داده قابل اعتماد پشتیبانی میکند.
FTP و SFTP چگونه کار میکنند؟
FTP فایلها را با استفاده از کنترل جداگانه و اتصالات داده، اغلب بدون رمزگذاری، انتقال میدهد، در حالی که SFTP فایلها را به طور ایمن از طریق یک اتصال SSH رمزگذاری شده منتقل میکند. هر دو FTP و SFTP پروتکلهای سرویس گیرنده-سرور هستند و بر کانالهای ارتباطی بین مشتری و سرور متکی هستند.
FTP برای مبتدیان – چگونه FTP کار میکند؟

FTP بر روی معماری مشتری-سرور کار میکند و از کنترل و اتصالات داده جداگانه استفاده میکند. کاربران FTP ممکن است خود را با یک پروتکل ورود متن واضح (به طور کلی نام کاربری و رمز عبور) احراز هویت کنند. با این حال، برخی از سرورها به اتصالات ناشناس اجازه میدهند.
FTP میتواند در حالتهای فعال (پیش فرض) و غیرفعال عمل کند. در حالت فعال، سرویس گیرنده FTP از پورت 20 خود به پورت 21 سرور متصل میشود. در حالت غیرفعال، هر دو پورت برای ارتباط باز هستند. فایروال شبکه شما نیاز به پیکربندی مناسب دارد تا هر دو حالت فعال و غیرفعال به درستی کار کنند.
SFTP برای مبتدیان – چگونه SFTP کار میکند؟

SFTP جداگانه است و معمولاً با SSH بستهبندی میشود که به طور مشابه روی یک اتصال امن کار میکند. تفاوت اساسی این است که SFTP رمزگذاری را هم به اعتبارنامهها و هم به خود دادهها اضافه میکند.
توجه:
SFTP را نباید با FTPS اشتباه گرفت که FTP از طریق SSL اجرا میشود، یک لایه امنیتی متفاوت از SSH.
FTP در مقابل SFTP: تفاوت چیست؟
در اینجا یک جدول مقایسهای وجود دارد که تفاوتهای اصلی بین FTP و SFTP را نشان میدهد:
ویژگی | FTP | SFTP |
---|---|---|
پروتکل | پروتکل استاندارد شبکه برای انتقال فایل | نسخه ایمن FTP که از SSH استفاده میکند |
امنیت | بدون رمزگذاری؛ دادهها آسیب پذیر است | تمام دادهها رمزگذاری شده است |
پورت | معمولاً از پورت TCP 21 استفاده میکند | معمولاً روی پورت TCP 22 اجرا میشود |
احراز هویت | از دسترسی ناشناس و نام کاربری/رمز عبور پشتیبانی میکند | به مدارک معتبر SSH نیاز دارد |
انتقال داده | دادهها و دستورات را از طریق کانالهای جداگانه منتقل میکند | دادهها و دستورات را از طریق یک اتصال ایمن منتقل میکند |
فایروال | نیاز به چندین پورت برای باز شدن روی فایروال دارد | فقط نیاز به یک پورت باز روی فایروال دارد |
عملکرد | به دلیل عدم رمزگذاری میتواند سریعتر باشد | به دلیل سربار رمزگذاری کمی کندتر است |
سهولت استفاده | به طور گسترده توسط بسیاری از خدمات میزبانی پشتیبانی میشود | به دسترسی و راهاندازی SSH نیاز دارد |
انطباق | به دلیل عدم وجود امنیت برای محیطهای سازگار مناسب نیست | اغلب برای انطباق با استانداردهایی مانند HIPAA، GDPR و غیره مورد نیاز است. |
چگونه از FTP / SFTP برای وبسایت خود استفاده کنیم؟
در حالی که میتوانید FTP و SFTP را از یک رابط خط فرمان اجرا کنید، استفاده از برنامه FTP Client بسیار راحتتر است. برنامههای FTP مناسب زیادی در اطراف وجود دارد. انتخاب ترجیحی من Filezilla است که از سال 2001 در دسترس است، رایگان است و در اکثر سیستم عاملها کار میکند.
1. با استفاده از برنامه Filezilla FTP

به وبسایت Filezilla بروید و نسخه مورد نیاز خود را دانلود کنید. نصب کنندههای جداگانه برای پلتفرمهای مختلف وجود دارد. پس از دانلود، میتوانید فایل نصب را اجرا کنید و دستورالعملها را دنبال کنید. توجه داشته باشید که سعی میکند شما را وادار به نصب برخی نرم افزارهای bloatware کند – اما میتوانید پیشنهاد را رد کنید.
بعد، برنامه را اجرا کنید.
برای اکثر اتصالات، باید سه اطلاعات را وارد کنید:
- آدرس میزبان،
- نام کاربری و
- رمز عبور.
میزبان وب شما معمولاً اینها را ارائه میدهد. اگر یک حساب میزبانی وب دارید، میزبان وب شما این تنظیمات را در یک ایمیل یا به صورت آنلاین از طریق کنترل پنل میزبانی وب در اختیار شما قرار میدهد .
به یک سرور متصل شوید
اگر این اولین باری است که از FTP با حساب خود استفاده میکنید، ممکن است لازم باشد یک کاربر FTP جدید ایجاد کنید. اگر به سروری متصل میشوید که تحت کنترل شما نیست، باید با سرپرست سرور تماس بگیرید.
اگر به جای اتصال FTP یک اتصال SFTP دارید، هاست و نام کاربری خود را همانطور که در بالا توضیح داده شد پر کنید. رمز عبور خود را (در صورت وجود) یا “هیچ” را برای رمز عبور وارد کنید. بعد، دکمه “اتصال” را فشار دهید.
صفحه نمایش اصلی به دو قسمت تقسیم میشود. یکی در سمت چپ دستگاه محلی شما و در سمت راست سرور راه دور است. پنلهای نمایش تقریباً مشابه فایل منیجر ویندوز هستند. هر چیزی را که میخواهید به وب سرور خود منتقل کنید یا از آن منتقل کنید، بکشید و رها کنید.
2. FTP توسط خط فرمان
حتی اگر نمیخواهید از یک برنامه FTP اختصاصی مانند Filezilla استفاده کنید، برای اتصال به سرور خود به یک رسانه نیاز دارید.
ویندوز
به عنوان مثال، در ویندوز، میتوانید با تایپ کردن دستور FTP از خط فرمان استفاده کنید:
ftp <نام میزبان / آدرس IP>
سیستم عامل مک
در مک، میتوانید از برنامه داخلی FTP استفاده کنید.
- روی نماد Finder خود کلیک کنید،
- “Go” و سپس “Connect to Server” را انتخاب کنید.
- آدرس سرور را وارد کنید و
- روی «اتصال» کلیک کنید.
صرف نظر از روش انتخابی، برای تکمیل اتصال باید نام کاربری و رمز عبور خود را وارد کنید.
اگر از برنامه پیشفرض Mac FTP راضی نیستید، برنامه دیگری وجود دارد که میتوانید دانلود و نصب کنید. من لیفتراک یا CyberDuck را توصیه میکنم.
دستورات پایه
با این حال، پس از اتصال، همه چیز پیچیدهتر میشود. مانند تمام رابطهای خط فرمان، یک حافظه خوب ضروری است. در اینجا چند دستور اساسی برای شروع وجود دارد:
Uploading files – ftp> put filename
Display current directory – pwd
Changing directory – cd <directory name>
List directory content – ls
Download all HTML files – mget *.html
End connection – close
Reconnnect to a server – open ftp.<servername / IP address>
افکار نهایی – FTP / SFTP توضیح داده شده است
اگر در حال ایجاد اسکریپتهایی هستید که وبسایتتان را به روز میکند یا نیاز به انتقال گروههای بزرگی از فایلها دارید، دستورات اولیه FTP میتوانند مفید باشند. با این حال، مگر اینکه با نصب برنامههای جدید مخالف باشید، من به شدت توصیه میکنم از یک برنامه FTP بر روی دستورالعملهای فرمان استفاده کنید.