در گذشته FTP (File Transfer Protocol) یکی از روشهای رایج برای انتقال فایل بین دو سیستم بود، اما این پروتکل اطلاعات را رمزنگاری نمیکند و به همین دلیل امروزه از نظر امنیتی منسوخ محسوب میشود و بیشتر در سیستمهای قدیمی دیده میشود.
در مقابل، SFTP (Secure File Transfer Protocol) یک پروتکل انتقال فایل امن است که روی SSH ساخته شده و تمام دادهها را هنگام انتقال رمزنگاری میکند. به همین دلیل، در اکثر سناریوها جایگزین امن و استاندارد FTP محسوب میشود.
در این راهنما یاد میگیرید چگونه از SFTP از طریق خط فرمان برای اتصال به سرور، مدیریت فایلها و انتقال امن دادهها استفاده کنید.
نکات کلیدی
-
SFTP بر پایه SSH کار میکند و تمام دادهها را رمزنگاری میکند
-
برای اتصال میتوانید از رمز عبور یا کلید SSH استفاده کنید
-
شروع اتصال با دستور
sftp user@hostانجام میشود -
از دستورات مشابه لینوکس مثل
ls،cdوpwdپشتیبانی میکند -
برای انتقال فایل از
getوputاستفاده میشود -
امکان تغییر سطح دسترسی، مالک فایل و ساخت پوشه وجود دارد
-
عملکرد صحیح SFTP وابسته به فعال بودن سرویس SSH است
اتصال به سرور با SFTP
چون SFTP از SSH استفاده میکند، اگر بتوانید با SSH وصل شوید، SFTP هم کار خواهد کرد.
تست اتصال SSH
اگر وصل شدید، خارج شوید:
شروع جلسه SFTP
اتصال به پورت غیر 22
دریافت راهنما داخل SFTP
بعد از اتصال، برای دیدن لیست دستورات:
یا
جابجایی بین پوشهها
نمایش مسیر فعلی در سرور
لیست فایلهای پوشه فعلی
نمایش جزئیات بیشتر
ورود به پوشه
دستورات مربوط به سیستم لوکال
در SFTP اگر قبل دستور حرف l بگذارید، روی سیستم خودتان اجرا میشود.
| دستور | کاربرد |
|---|---|
lpwd | مسیر فعلی در سیستم لوکال |
lls | لیست فایلهای لوکال |
lcd folder | تغییر پوشه لوکال |
دانلود فایل از سرور
دانلود با نام جدید:
دانلود پوشه به صورت بازگشتی:
حفظ سطح دسترسی فایلها:
آپلود فایل به سرور
آپلود پوشه:
بررسی فضای دیسک سرور
اجرای دستورات لوکال از داخل SFTP
ورود به شل لوکال:
بازگشت به SFTP:
اجرای مستقیم دستور لوکال:
تغییر سطح دسترسی و مالک فایل
تغییر مالک (با UID)
تغییر گروه (با GID)
تغییر سطح دسترسی
ساخت و حذف پوشه
| دستور | کاربرد |
|---|---|
mkdir folder | ساخت پوشه روی سرور |
lmkdir folder | ساخت پوشه در لوکال |
rm file | حذف فایل |
rmdir folder | حذف پوشه |
بستن اتصال SFTP
یا
نصب و فعالسازی SFTP در لینوکس
Ubuntu / Debian
CentOS / RHEL
خطاهای رایج و راهحل
❌ Permission Denied
کاربر دسترسی نوشتن ندارد
راهحل:
❌ Connection Refused / Timed Out
SSH اجرا نمیشود یا مشکل شبکه است
❌ Host Key Verification Failed
کلید سرور تغییر کرده
خط مربوط به سرور را حذف کنید و دوباره وصل شوید.
❌ SSH Key Authentication Error
سطح دسترسی فایلها اشتباه است
سوالات متداول
SFTP چیست؟
پروتکل امن انتقال فایل مبتنی بر SSH.
پورت پیشفرض؟
22
تفاوت SFTP با FTP؟
SFTP رمزنگاری دارد، FTP ندارد.
چطور فایل آپلود کنم؟
با دستور:
جمعبندی
SFTP یک روش امن، قابل اعتماد و استاندارد برای انتقال فایل بین سرور و سیستم شماست. اگر قبلاً از FTP یا SCP استفاده میکردید، SFTP ترکیبی از امنیت بالا و امکانات مدیریتی بیشتر را در اختیار شما میگذارد.
استفاده صحیح از SFTP باعث میشود انتقال فایلها در محیطهای سروری کاملاً امن و قابل کنترل انجام شود.

