۱۰ دستور پرکاربرد sFTP برای انتقال فایل در لینوکس

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

برای رفع این مشکل، پروتکل‌های امن‌تری مثل SCP و SSH معرفی شدند که انتقال داده‌ها را به صورت رمزنگاری‌شده انجام می‌دهند.
یکی از پرکاربردترین ابزارهای امن، sFTP است.

sFTP چیست؟

sFTP یا Secure File Transfer Protocol بخشی از مجموعه پروتکل SSH است و معمولاً روی پورت ۲۲ اجرا می‌شود.
برخلاف FTP قدیمی، تمام اطلاعات در sFTP رمزنگاری می‌شوند و امنیت بالایی دارند.
علاوه بر ترمینال لینوکس، می‌توانید با نرم‌افزارهایی مثل FileZilla یا WinSCP هم از آن استفاده کنید.

which sftp

اگر دستور بالا مسیری مثل /usr/bin/sftp را نشان داد، یعنی sFTP روی سیستم شما نصب است.

⚠️ نکته امنیتی: به هیچ‌وجه پورت SSH را به صورت عمومی روی اینترنت باز نکنید.
بهتر است فقط آی‌پی‌های مشخص و مورد اعتماد اجازه دسترسی داشته باشند.

۱. اتصال به سرور با sFTP

برای شروع یک جلسه sFTP کافی است نام کاربری و آی‌پی یا نام میزبان سرور را وارد کنید:

sftp user@192.168.122.217

اگر SSH روی پورت دیگری (مثلاً ۲۲۲۲) اجرا می‌شود:

sftp -oPort=2222 user@192.168.122.217

بعد از ورود موفق، اعلان sftp> نمایش داده می‌شود.
با دستور help یا ? می‌توانید لیست دستورات در دسترس را ببینید.

۲. دیدن مسیر فعلی (محلی و ریموت)

گاهی باید بدانید در کدام مسیر محلی یا ریموت قرار دارید.
برای این کار دو دستور کاربردی داریم:

lpwd → مسیر فعلی در سیستم محلی شما
pwd → مسیر فعلی روی سرور ریموت

۳. نمایش لیست فایل‌ها

برای دیدن فایل‌های موجود روی سرور:

sftp> ls
sftp> ls -l (نمایش جزئیات بیشتر مثل حجم و سطح دسترسی)

و برای دیدن فایل‌ها در سیستم محلی:

sftp> lls
sftp> lls -l

۴. آپلود فایل با sFTP

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

put local.profile

برای آپلود چند فایل همزمان:

mput *.txt

۵. دانلود فایل با sFTP

برای دریافت فایل از سرور به سیستم خودتان:

get Report.xls

و برای دانلود چند فایل:

mget *.xls

۶. تغییر نام هنگام دانلود

می‌توانید هنگام دانلود، نام فایل را تغییر دهید:

get Report.xls Report_Jan.xls

۷. تغییر مسیرها

برای تغییر مسیر روی سرور:

cd /path/to/folder

برای تغییر مسیر محلی:

lcd Documents

۸. ساخت پوشه

روی سرور:

mkdir test

روی سیستم محلی:

lmkdir Documents

۹. حذف فایل یا پوشه

برای حذف فایل:

rm Report.xls

برای حذف پوشه (باید خالی باشد):

rmdir old_folder

۱۰. خروج از sFTP

برای خروج:

bye
exit

یک قابلیت جالب sFTP این است که با دستور ! می‌توانید بدون خروج از جلسه، دستورات لینوکس را در محیط محلی اجرا کنید.
برای برگشت به محیط sFTP کافیست exit بزنید.

جمع‌بندی

sFTP یک ابزار امن و قدرتمند برای انتقال فایل‌ها بین سیستم‌های محلی و سرورهای لینوکسی است.
با یادگیری دستورات ساده‌ای مثل put، get، ls و cd می‌توانید به راحتی فایل‌هایتان را مدیریت کنید.
اگر با SSH Key هم ترکیب شود، دیگر نیازی به وارد کردن رمز عبور ندارید و تجربه‌ای سریع‌تر و امن‌تر خواهید داشت.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany