اتصال به FTP با ترمینال یکی از مهارت‌های حیاتی و نجات‌بخش برای هر مدیر سرور و توسعه‌دهنده‌ای است. در دنیای مدیریت سرور، همیشه دسترسی به رابط‌های گرافیکی (GUI) مثل فایل‌زیلا (FileZilla) یا پنل‌های مدیریت هاست فراهم نیست. گاهی اوقات سرعت پایین اینترنت، محدودیت‌های فایروال یا نیاز به انتقال سریع فایل‌های حجیم بین دو سرور، شما را مجبور می‌کند تا به سراغ صفحه سیاه و قدرتمند ترمینال بروید.

استفاده از خط فرمان برای انتقال فایل، شاید در نگاه اول با چالش همراه باشد، اما:

  • سرعت انتقال را به شدت افزایش می‌دهد.
  • امنیت اطلاعات شما را تضمین می‌کند (به‌خصوص در SFTP).
  • امکان اسکریپت‌ نویسی و خودکارسازی فرآیندها را فراهم می‌کند.
💡 چرا ترمینال؟ در محیط‌های Enterprise و سرورهای پرترافیک، هر میلی‌ثانیه ارزشمند است. اتصال به FTP از طریق ترمینال یعنی قدرت مانور بالا، مصرف رم ناچیز در سمت کلاینت، و پایداری اتصال حتی در شبکه‌های ضعیف. با ترکیب قدرت خط فرمان و پورت‌های 10 گیگابیتی سرورهای مجازی وب‌ داده، معنای واقعی سرعت انتقال I/O را تجربه خواهید کرد.

اگر به دنبال راهی سریع‌تر، حرفه‌ای‌تر برای جابجایی فایل‌هایتان هستید و یا همین حالا پنل FTP شما باز نمی‌شود و به دنبال راه چاره‌ هستید. نگران نباشید؛ ما در این مقاله از بلاگ وب داده به شما یاد می‌دهیم چطور مثل یک متخصص امنیت و شبکه، فایل‌های خود را در بستر اینترنت جابجا کنید. این راهنما دقیقاً همان چیزی است که برای تسلط بر سرورهای لینوکسی نیاز دارید.

اتصال به FTP از طریق ترمینال (Command Line)

قبل از اینکه وارد محیط عملی شویم، بیایید بدانیم دقیقاً چه اتفاقی در حال رخ دادن است. کار با FTP در خط فرمان (Command Line) به این معناست که شما به جای اینکه روی آیکون‌ها کلیک کنید و فایل‌ها را با موس بکشید و رها کنید (Drag & Drop)، مستقیماً با زبان سیستم‌عامل با سرور صحبت می‌کنید.

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

تفاوت ساختاری:

  روش گرافیکی (FileZilla)        روش خط فرمان (Terminal)
┌──────────────────────┐      ┌──────────────────────┐
│  رابط کاربری سنگین   │      │   رابط متنی سبک      │
│  مصرف منابع بالا     │      │   مصرف منابع ناچیز   │
│  احتمال قطعی در حجم  │      │   پایداری بسیار بالا │
│  بالا                │      │                      │
└──────────┬───────────┘      └──────────┬───────────┘
           │                             │
           ▼                             ▼
    [Server Storage]              [Server Storage]

در سال‌های اخیر (2024 و 2025)، پروتکل FTP سنتی به دلیل ارسال اطلاعات به‌صورت متن ساده (Clear Text)، ناامن شناخته شده است. بنابراین، وقتی از “اتصال به FTP با ترمینال” صحبت می‌کنیم، توصیه اکید متخصصان وب‌داده استفاده از پروتکل SFTP (SSH File Transfer Protocol) است که تمام داده‌ها را رمزنگاری می‌کند.

تفاوت FTP و SFTP؛ امنیت یا سرعت؟

در ادامه این مقاله، تمرکز ما بر SFTP خواهد بود. دلیل این انتخاب ساده است: FTP سنتی (پورت 21) رمز عبور را به صورت متن ساده ارسال می‌کند و از سال 2024 توسط اکثر سرورها غیرفعال شده است. SFTP (پورت 22) همان کار را با رمزنگاری کامل انجام می‌دهد. دستورات هر دو تقریباً یکسان هستند.

یکی از مهم‌ترین نکاتی که قبل از باز کردن ترمینال باید بدانید، تفاوت حیاتی بین این دو پروتکل است. بسیاری از کاربران این دو را یکسان می‌دانند، اما در دنیای امنیت شبکه، تفاوت زمین تا آسمان است:

  • FTP (File Transfer Protocol): پروتکل قدیمی و کلاسیک که اطلاعات (شامل نام کاربری، رمز عبور و محتوای فایل‌ها) را به صورت متن ساده (Clear Text) ارسال می‌کند. این یعنی اگر کسی شبکه را شنود کند، می‌تواند رمز عبور شما را ببیند. معمولاً روی پورت 21 کار می‌کند.
  • SFTP (SSH File Transfer Protocol): نسخه مدرن و امن که بر بستر پروتکل SSH اجرا می‌شود. در این روش، تمام داده‌ها رمزنگاری (Encrypt) می‌شوند و امنیت بسیار بالایی دارد. معمولاً روی پورت 22 کار می‌کند.

مزایای استفاده از ترمینال برای انتقال فایل

شاید بپرسید وقتی نرم‌افزارهای گرافیکی هستند، چرا باید سختی تایپ کردن دستورات را تحمل کنیم؟ پاسخ در “کارایی” و “شرایط بحرانی” نهفته است.

مزایای اصلی این کار عبارتند از:

  • سرعت عمل فوق‌العاده: تایپ کردن یک دستور put بسیار سریع‌تر از باز کردن نرم‌افزار، وارد کردن مشخصات، و گشتن در پوشه‌هاست.
  • کارکرد در سرورهای بدون مانیتور (Headless): اگر شما دو سرور مجازی دارید و می‌خواهید فایلی را از سرور A به سرور B منتقل کنید، هیچ رابط گرافیکی در کار نیست. اینجا فقط اتصال به FTP با ترمینال جواب می‌دهد.
  • عیب‌یابی شبکه: وقتی با ترمینال وصل می‌شوید، خطاهای شبکه (مثل Timeout یا Permission Denied) را دقیق و شفاف می‌بینید.
  • کاهش مصرف پهنای باند: عدم بارگذاری آیکون‌ها و گرافیک‌ها، باعث صرفه‌جویی در اینترنت می‌شود (مناسب برای شرایطی که اینترنت ناپایدار است).

پیش نیاز اتصال به FTP و پارامترهای مهم

برای اینکه بتوانید ارتباط با سرور ftp بدون نرم افزار را تجربه کنید، به چند مورد ساده اما حیاتی نیاز دارید. تصور کنید می‌خواهید وارد یک ساختمان امنیتی شوید؛ بدون کارت شناسایی و آدرس، امکان‌پذیر نیست.

لیست الزامات قبل از اتصال از طریق ترمینال:

  • دسترسی به ترمینال: در لینوکس و مک (Terminal) و در ویندوز (PowerShell یا CMD).
  • آدرس سرور (Host): معمولاً IP سرور یا دامنه (مثلاً ftp.webdade.com).
  • نام کاربری (Username): یوزرنیم FTP یا همان یوزرنیم SSH (معمولاً root).
  • کلمه عبور (Password): رمز عبور قدرتمند.
  • پورت (Port):
    • برای FTP معمولی: پورت 21
    • برای SFTP (امن): پورت 22

لازم است بدانید تمامی سرویس‌های سرور مجازی و اختصاصی وب‌ داده به صورت پیش‌فرض با دسترسی Root و پورت SSH باز ارائه می‌شوند، بنابراین شما بدون هیچ تنظیم اضافه‌ای آماده اتصال SFTP در لینوکس هستید.

آموزش نحوه آپلود فایل در FTP با دستور Put (گام‌به‌گام و عملی)

در ادامه به صورت عملی و تصویری، وارد دنیای خط فرمان شویم. فرض کنید می‌خواهیم یک فایل بکاپ را از کامپیوتر خودمان به سرور سایت منتقل کنیم.

در این راهنما فرض می کنیم ما در کامپیوتر خودمان (Local) یک فایل به نام backup.zip داریم و می‌خواهیم آن را در پوشه home/ سرور (Remote) بارگذاری کنیم و مطابق این سناریو مراحل را انجام داده ایم.

نمودار سناریو:

WebDade Scenario
   1🖥️ PC (Local)           2☁️ Server (Remote)
  [ /users/me/backup.zip ]  ──▶  [ /home/backup.zip ]
         (Sender)                    (Receiver)

1- برقراری ارتباط با سرور

برای شروع اتصال به FTP با ترمینال (با رویکرد امن SFTP)، ترمینال CMD خود را باز کنید و دستور زیر را وارد نمایید: در قسمت آدرس IP باید آی پی سیستمی که قرار است به آن متصل شوید را وارد کنید.

sftp username@server_ip_address

# مثال:

sftp root@192.168.1.100

در صورتی که پورت سرور شما تغییر کرده است (که در سرورهای امن وب‌ داده پیشنهاد می‌شود)، از سوئیچ P - استفاده کنید. دقت د اشته باشید که شما بعد از P - (حرف P باید به صورت بزرگ نوشته شود ) می بایست شماره پورتی که خودتان تنظیم کرده اید را وارد کنید به عنوان مثال اگر پورت SSH را به 2222 تغییر داده ایید همان شماره پورت را وارد کنید مانند مثال زیر.

sftp -P 2222 root@192.168.1.100

بعد از زدن Entert، از شما رمز عبور خواسته می‌شود. (توجه کنید که هنگام تایپ رمز، هیچ کاراکتری نمایش داده نمی‌شود؛ تایپ کنید و Entert بزنید).

اتصال به FTP از طریق ترمینال

2- بررسی مسیر در سرور و سیستم

اکنون شما به سرور وصل شده‌اید! اما کجا هستید؟ در SFTP ما دو محیط داریم: محیط سرور و محیط کامپیوتر خودمان. دستورات مربوط به کامپیوتر خودمان معمولاً با حرف l (مخفف Local) شروع می‌شوند.

دستورکاربردمثال
pwdنمایش مسیر جاری در سرورroot/
lpwdنمایش مسیر جاری در کامپیوتر شماC:\Users\Admin
lsلیست فایل‌های سرورls -la
llsلیست فایل‌های کامپیوتر شماlls
cdتغییر پوشه در سرورcd /home
lcdتغییر پوشه در کامپیوتر شماlcd D:\Backups

در یک سشن SFTP، شما همزمان به کامپیوتر خود و سرور دسترسی دارید. دستوراتی که با l شروع می‌شوند (مثل lcd) روی کامپیوتر شما اجرا می‌شوند و دستورات بدون l (مثل cd) روی سرور اجرا می‌شوند.

🔶برای بررسی مسیر فعلی در سرور از دستور زیر استفاده کنید.

در خروجی این دستور باید root/ را مشاهده کنید.

sftp> pwd     

🔶مسیر فعلی در کامپیوتر شما:

lpwd   

خروجی این دستور باید مسیر : C:\Users\YourName باشد .

🔶رفتن به پوشه فایل در کامپیوتر:

lcd Desktop

در ادامه با دستور زیر بررسی کنید فولدر backup (یا فایل و فولدر مورد نظر خودتان) را می‌بینید:

lls

🔶ساخت پوشه مقصد در سرور:

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

mkdir backup

⚠️ نکته: اگر این مرحله را انجام ندهید، هنگام آپلود خطای No such file می‌گیرید.

دسترسی به FTP سرور

3-آپلود فایل در FTP با دستور put

حالا که در مسیر درست قرار گرفتیم، نوبت به آپلود فایل می‌رسد. دستور put و get در FTP قلب تپنده انتقال فایل هستند.

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

# آپلود یک فایل:

put filename

# مثال:
#put backup.zip

# آپلود فولدر با تمام محتویات :

put -r backup

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

ls
اتصال به پروتکل FTP

🔶خروج از SFTP:

در انتها برای خروج دستور زیر را وارد کنید.

 exit
 
 # و یا :
 
 bye
📌 نکته مهم: اگر فایل حجیم است، نگران نباشید. ترمینال معمولاً یک نوار پیشرفت (Progress Bar) نشان می‌دهد. در سرورهای وب‌داده به دلیل پورت‌های قدرتمند، این نوار خیلی سریع پر می‌شود!

4- انتقال فایل از سرور به کامپیوتر با دستور get

گاهی اوقات نیاز دارید یک فایل لاگ (Log) یا بکاپ دیتابیس را از سرور دانلود کنید تا روی سیستم خودتان بررسی کنید. برای این کار از دستور get استفاده می‌کنیم.

1. ابتدا مسیر ذخیره در کامپیوتر خود را با استفاده از دستور lpwd مشخص کنید


sftp> lpwd

#C:\Users\Webdade

sftp> lcd Desktop

2. ببینید چه فایل‌هایی در سرور هست. برای این کار مانند مرحله قبل از دستور ls استفاده کنید.

3. فایل را دانلود کنید؛ می توانید از دستور زیر استفاده کنید.

get remote_file.name

# مثال:

#get database.sql

4. برای دانلود فولدر با تمام محتویات دستور زیر را وارد کنید.

get -r logs

اگر خطای “No such file” دیدید، ابتدا با ls مطمئن شوید فایل در سرور وجود دارد و نام آن را درست نوشته‌اید.

💡 بیشتر بدانید: Backup گیری از طریق SSH در cPanel

خطاهای رایج و راه‌حل ها

خطادلیلراه‌حل
Connection refusedپورت اشتباه یا SSH خاموشپورت را بررسی کنید
No such file در putفایل در مسیر نیستبا lcd به پوشه فایل بروید
No such file در put -rپوشه مقصد در سرور نیستاول mkdir بزنید
Permission deniedدسترسی نداریدیوزر و رمز را بررسی کنید
آدرس IP عجیب (مثل 0.0.8.174)از p -کوچک استفاده کردیداز P - بزرگ استفاده کنید

5- دستورات مدیریتی کاربردی FTP

علاوه بر انتقال فایل از سرور به کامپیوتر از طریق ترمینال، می‌توانید کارهای مدیریتی دیگری هم انجام دهید:

  • ساخت پوشه در سرور: mkdir new_folder
  • حذف فایل در سرور: rm bad_file.txt یا rm /var/log/error.log.1 (در FTP سنتی از delete استفاده کنید)
  • تغییر نام فایل: rename old.txt new.txt
  • خروج از اتصال: exit یا bye

دستور sftp -v (حالت Verbose)

این دستور جزئیات کامل اتصال را نشان می‌دهد. اما زمان استفاده از آن وقتی است که اتصال برقرار نمی‌شود و می‌خواهید بفهمید مشکل از کجاست.

sftp -v root@192.168.1.100
 خروجی نمونه دستور بالا:

debug1: Connecting to 192.168.1.100 port 22
debug1: Connection established
debug1: Authenticating to 192.168.1.100 as 'root'
debug1: Authentication succeeded (password)

دستور sftp -l (محدودیت سرعت)

این دستور سرعت انتقال را محدود می‌کند (1000کیلوبیت بر ثانیه).

sftp -l 1000 root@192.168.1.100

کی استفاده کنید:

  • وقتی اینترنت ضعیف دارید و می‌خواهید همزمان کار دیگری هم انجام دهید.
  • وقتی نمی‌خواهید کل پهنای باند را اشغال کنید.
  • موقع کار روی سرور تولیدی (Production)

نکات احتیاطی و امنیتی در اتصال FTP و SFTP

رعایت این نکات نشان‌دهنده تخصص و تجربه شماست:

  1. خطر بازنویسی (Overwrite): در دستورات put و get، اگر فایلی با همان نام در مقصد وجود داشته باشد، بدون پرسش جایگزین می‌شود. همیشه قبل از انتقال، یک ls یا lls بگیرید.
  2. امنیت پورت: همیشه از SFTP (پورت 22) استفاده کنید. FTP معمولی (پورت 21) رمز عبور شما را فاش می‌کند.
  3. Firewall: اگر اتصال برقرار نشد، اولین متهم فایروال سیستم خودتان یا سرور است. مطمئن شوید IP شما در سرور مسدود (Ban) نشده باشد.

جمع بندی؛ اتصال به FTP از طریق ترمینال

در این مقاله با نحوه اتصال به FTP از طریق ترمینال آشنا شدید. دیدید که استفاده از SFTP در خط فرمان نه تنها پیچیده نیست، بلکه مزایای قابل توجهی نسبت به ابزارهای گرافیکی دارد.

نکات کلیدی:

  • همیشه از SFTP (پورت 22) به جای FTP (پورت 21) استفاده کنید
  • دستورات Local با حرف l شروع می‌شوند: lcd، lls، lpwd
  • برای آپلود از put و برای دانلود از get استفاده کنید
  • در صورت مشکل اتصال، از sftp -v برای عیب‌یابی استفاده کنید

تسلط بر خط فرمان، تفاوت اصلی بین کاربر معمولی و مدیر سرور حرفه‌ای است. ابزارهای گرافیکی برای راحتی طراحی شده‌اند، اما خط فرمان برای کنترل و سرعت.

در صورتی که سوالی درباره دستورات خاص داشتید یا تجربه‌ای از کار با SFTP دارید، حتماً در بخش نظرات با ما در ارتباط باشید. امیدوارم این مقاله از بلاگ وب‌داده برای شما مفید بوده باشد

سوالات متداول نحوه اتصال به FTP با ترمینال

آیا دستورات FTP در ویندوز هم کار می‌کنند؟

بله، در Command Prompt (CMD) و PowerShell ویندوز(10 و 11)، دستور ftp و sftp به صورت پیش‌فرض وجود دارد و دقیقاً مشابه لینوکس عمل می‌کند.

سارا صالحی ریحانی
سارا صالحی ریحانی

کارشناس IT، وردپرس و کپی‌رایتر حوزه هاستینگ. پس از سال‌ها تجربه در شبکه، به دنیای کلمات و تولید محتوا وارد شدم و حالا در تیم وب‌داده، مفاهیم پیچیده هاست و سرور را به زبانی ساده و کاربردی برای علاقه‌مندان به دنیای شبکه می‌نویسم.

مقاله‌ها: 133
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *