
به اشتراک بگذارید

به اشتراک بگذارید
اتصال به FTP با ترمینال یکی از مهارتهای حیاتی و نجاتبخش برای هر مدیر سرور و توسعهدهندهای است. در دنیای مدیریت سرور، همیشه دسترسی به رابطهای گرافیکی (GUI) مثل فایلزیلا (FileZilla) یا پنلهای مدیریت هاست فراهم نیست. گاهی اوقات سرعت پایین اینترنت، محدودیتهای فایروال یا نیاز به انتقال سریع فایلهای حجیم بین دو سرور، شما را مجبور میکند تا به سراغ صفحه سیاه و قدرتمند ترمینال بروید.
استفاده از خط فرمان برای انتقال فایل، شاید در نگاه اول با چالش همراه باشد، اما:
اگر به دنبال راهی سریعتر، حرفهایتر برای جابجایی فایلهایتان هستید و یا همین حالا پنل FTP شما باز نمیشود و به دنبال راه چاره هستید. نگران نباشید؛ ما در این مقاله از بلاگ وب داده به شما یاد میدهیم چطور مثل یک متخصص امنیت و شبکه، فایلهای خود را در بستر اینترنت جابجا کنید. این راهنما دقیقاً همان چیزی است که برای تسلط بر سرورهای لینوکسی نیاز دارید.
آنچه در این مقاله میخوانید:
قبل از اینکه وارد محیط عملی شویم، بیایید بدانیم دقیقاً چه اتفاقی در حال رخ دادن است. کار با FTP در خط فرمان (Command Line) به این معناست که شما به جای اینکه روی آیکونها کلیک کنید و فایلها را با موس بکشید و رها کنید (Drag & Drop)، مستقیماً با زبان سیستمعامل با سرور صحبت میکنید.
در این روش، شما از کلاینتهای متنی FTP یا SFTP که بهصورت پیشفرض در اکثر سیستمعاملهای لینوکس و مک (و حتی ویندوزهای جدید) نصب هستند، استفاده میکنید.
تفاوت ساختاری:
روش گرافیکی (FileZilla) روش خط فرمان (Terminal)
┌──────────────────────┐ ┌──────────────────────┐
│ رابط کاربری سنگین │ │ رابط متنی سبک │
│ مصرف منابع بالا │ │ مصرف منابع ناچیز │
│ احتمال قطعی در حجم │ │ پایداری بسیار بالا │
│ بالا │ │ │
└──────────┬───────────┘ └──────────┬───────────┘
│ │
▼ ▼
[Server Storage] [Server Storage]
در سالهای اخیر (2024 و 2025)، پروتکل FTP سنتی به دلیل ارسال اطلاعات بهصورت متن ساده (Clear Text)، ناامن شناخته شده است. بنابراین، وقتی از “اتصال به FTP با ترمینال” صحبت میکنیم، توصیه اکید متخصصان وبداده استفاده از پروتکل SFTP (SSH File Transfer Protocol) است که تمام دادهها را رمزنگاری میکند.
در ادامه این مقاله، تمرکز ما بر SFTP خواهد بود. دلیل این انتخاب ساده است: FTP سنتی (پورت 21) رمز عبور را به صورت متن ساده ارسال میکند و از سال 2024 توسط اکثر سرورها غیرفعال شده است. SFTP (پورت 22) همان کار را با رمزنگاری کامل انجام میدهد. دستورات هر دو تقریباً یکسان هستند.
یکی از مهمترین نکاتی که قبل از باز کردن ترمینال باید بدانید، تفاوت حیاتی بین این دو پروتکل است. بسیاری از کاربران این دو را یکسان میدانند، اما در دنیای امنیت شبکه، تفاوت زمین تا آسمان است:
شاید بپرسید وقتی نرمافزارهای گرافیکی هستند، چرا باید سختی تایپ کردن دستورات را تحمل کنیم؟ پاسخ در “کارایی” و “شرایط بحرانی” نهفته است.
مزایای اصلی این کار عبارتند از:
put بسیار سریعتر از باز کردن نرمافزار، وارد کردن مشخصات، و گشتن در پوشههاست.برای اینکه بتوانید ارتباط با سرور ftp بدون نرم افزار را تجربه کنید، به چند مورد ساده اما حیاتی نیاز دارید. تصور کنید میخواهید وارد یک ساختمان امنیتی شوید؛ بدون کارت شناسایی و آدرس، امکانپذیر نیست.
لیست الزامات قبل از اتصال از طریق ترمینال:
ftp.webdade.com).root).لازم است بدانید تمامی سرویسهای سرور مجازی و اختصاصی وب داده به صورت پیشفرض با دسترسی Root و پورت SSH باز ارائه میشوند، بنابراین شما بدون هیچ تنظیم اضافهای آماده اتصال SFTP در لینوکس هستید.
در ادامه به صورت عملی و تصویری، وارد دنیای خط فرمان شویم. فرض کنید میخواهیم یک فایل بکاپ را از کامپیوتر خودمان به سرور سایت منتقل کنیم.
در این راهنما فرض می کنیم ما در کامپیوتر خودمان (Local) یک فایل به نام backup.zip داریم و میخواهیم آن را در پوشه home/ سرور (Remote) بارگذاری کنیم و مطابق این سناریو مراحل را انجام داده ایم.
نمودار سناریو:
WebDade Scenario
1🖥️ PC (Local) 2☁️ Server (Remote)
[ /users/me/backup.zip ] ──▶ [ /home/backup.zip ]
(Sender) (Receiver)
برای شروع اتصال به 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 بزنید).

اکنون شما به سرور وصل شدهاید! اما کجا هستید؟ در 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 میگیرید.

حالا که در مسیر درست قرار گرفتیم، نوبت به آپلود فایل میرسد. دستور put و get در FTP قلب تپنده انتقال فایل هستند.
برای آپلود فایل از کامپیوتر به سرور:
# آپلود یک فایل:
put filename
# مثال:
#put backup.zip
# آپلود فولدر با تمام محتویات :
put -r backup
در ادامه باید بررسی کنید که فایل یا فولدر مورد نظرتان آپلود شده است یا خیر برای این کار از دستور زیر استفاده کنید.
در خروجی این دستور می بایست فایل مورد نظر را مشاهده کنید.
ls 
🔶خروج از SFTP:
در انتها برای خروج دستور زیر را وارد کنید.
exit
# و یا :
bye گاهی اوقات نیاز دارید یک فایل لاگ (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 مطمئن شوید فایل در سرور وجود دارد و نام آن را درست نوشتهاید.
| خطا | دلیل | راهحل |
|---|---|---|
| Connection refused | پورت اشتباه یا SSH خاموش | پورت را بررسی کنید |
| No such file در put | فایل در مسیر نیست | با lcd به پوشه فایل بروید |
| No such file در put -r | پوشه مقصد در سرور نیست | اول mkdir بزنید |
| Permission denied | دسترسی ندارید | یوزر و رمز را بررسی کنید |
| آدرس IP عجیب (مثل 0.0.8.174) | از p -کوچک استفاده کردید | از P - بزرگ استفاده کنید |
علاوه بر انتقال فایل از سرور به کامپیوتر از طریق ترمینال، میتوانید کارهای مدیریتی دیگری هم انجام دهید:
این دستور جزئیات کامل اتصال را نشان میدهد. اما زمان استفاده از آن وقتی است که اتصال برقرار نمیشود و میخواهید بفهمید مشکل از کجاست.
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) این دستور سرعت انتقال را محدود میکند (1000کیلوبیت بر ثانیه).
sftp -l 1000 root@192.168.1.100 کی استفاده کنید:
رعایت این نکات نشاندهنده تخصص و تجربه شماست:
put و get، اگر فایلی با همان نام در مقصد وجود داشته باشد، بدون پرسش جایگزین میشود. همیشه قبل از انتقال، یک ls یا lls بگیرید.در این مقاله با نحوه اتصال به FTP از طریق ترمینال آشنا شدید. دیدید که استفاده از SFTP در خط فرمان نه تنها پیچیده نیست، بلکه مزایای قابل توجهی نسبت به ابزارهای گرافیکی دارد.
نکات کلیدی:
تسلط بر خط فرمان، تفاوت اصلی بین کاربر معمولی و مدیر سرور حرفهای است. ابزارهای گرافیکی برای راحتی طراحی شدهاند، اما خط فرمان برای کنترل و سرعت.
در صورتی که سوالی درباره دستورات خاص داشتید یا تجربهای از کار با SFTP دارید، حتماً در بخش نظرات با ما در ارتباط باشید. امیدوارم این مقاله از بلاگ وبداده برای شما مفید بوده باشد
بله، در Command Prompt (CMD) و PowerShell ویندوز(10 و 11)، دستور ftp و sftp به صورت پیشفرض وجود دارد و دقیقاً مشابه لینوکس عمل میکند.