رفتن به محتوای اصلی
iServer24 | ارائه‌کننده سرورهای ابری و اختصاصی
آموزش استفاده از SFTP برای انتقال امن فایل با سرور راه دور

آموزش استفاده از SFTP برای انتقال امن فایل با سرور راه دور

در گذشته FTP (File Transfer Protocol) یکی از روش‌های رایج برای انتقال فایل بین دو سیستم بود، اما این پروتکل اطلاعات را رمزنگاری نمی‌کند و به همین دلیل امروزه از نظر امنیتی منسوخ محسوب می‌شود و بیشتر در سیستم‌های قدیمی دیده می‌شود.

در گذشته 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

ssh user@server_ip
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اگر وصل شدید، خارج شوید:

exit
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

شروع جلسه SFTP

sftp user@server_ip
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اتصال به پورت غیر 22

sftp -oPort=2222 user@server_ip
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دریافت راهنما داخل SFTP

بعد از اتصال، برای دیدن لیست دستورات:

help
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

یا

?
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

جابجایی بین پوشه‌ها

نمایش مسیر فعلی در سرور

pwd
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

لیست فایل‌های پوشه فعلی

ls
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

نمایش جزئیات بیشتر

ls -la
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ورود به پوشه

cd folderName
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دستورات مربوط به سیستم لوکال

در SFTP اگر قبل دستور حرف l بگذارید، روی سیستم خودتان اجرا می‌شود.

دستورکاربرد
lpwdمسیر فعلی در سیستم لوکال
llsلیست فایل‌های لوکال
lcd folderتغییر پوشه لوکال

دانلود فایل از سرور

get file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دانلود با نام جدید:

get file.txt newname.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

دانلود پوشه به صورت بازگشتی:

get -r folderName
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

حفظ سطح دسترسی فایل‌ها:

get -P file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

آپلود فایل به سرور

put localfile.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

آپلود پوشه:

put -r folderName
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

بررسی فضای دیسک سرور

df -h
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اجرای دستورات لوکال از داخل SFTP

ورود به شل لوکال:

!
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

بازگشت به SFTP:

exit
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

اجرای مستقیم دستور لوکال:

!chmod 644 file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تغییر سطح دسترسی و مالک فایل

تغییر مالک (با UID)

chown 1001 file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تغییر گروه (با GID)

chgrp 1001 file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

تغییر سطح دسترسی

chmod 755 file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

ساخت و حذف پوشه

دستورکاربرد
mkdir folderساخت پوشه روی سرور
lmkdir folderساخت پوشه در لوکال
rm fileحذف فایل
rmdir folderحذف پوشه

بستن اتصال SFTP

bye
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

یا

exit
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

نصب و فعال‌سازی SFTP در لینوکس

Ubuntu / Debian

3 خط
sudo apt update
sudo apt install openssh-server
sudo systemctl restart ssh
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

CentOS / RHEL

3 خط
sudo dnf install openssh-server
sudo systemctl start sshd
sudo systemctl enable sshd
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

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

❌ Permission Denied

کاربر دسترسی نوشتن ندارد

راه‌حل:

2 خط
sudo chown user:group /path
sudo chmod 755 /path
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

❌ Connection Refused / Timed Out

SSH اجرا نمی‌شود یا مشکل شبکه است

2 خط
sudo systemctl status sshd
ping server_ip
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

❌ Host Key Verification Failed

کلید سرور تغییر کرده

nano ~/.ssh/known_hosts
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

خط مربوط به سرور را حذف کنید و دوباره وصل شوید.


❌ SSH Key Authentication Error

سطح دسترسی فایل‌ها اشتباه است

2 خط
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

سوالات متداول

SFTP چیست؟
پروتکل امن انتقال فایل مبتنی بر SSH.

پورت پیش‌فرض؟
22

تفاوت SFTP با FTP؟
SFTP رمزنگاری دارد، FTP ندارد.

چطور فایل آپلود کنم؟
با دستور:

put file.txt
برای کپی کردن کد، روی دکمه کپی در بالا کلیک کنید

جمع‌بندی

SFTP یک روش امن، قابل اعتماد و استاندارد برای انتقال فایل بین سرور و سیستم شماست. اگر قبلاً از FTP یا SCP استفاده می‌کردید، SFTP ترکیبی از امنیت بالا و امکانات مدیریتی بیشتر را در اختیار شما می‌گذارد.

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

زیرساخت ابری برای اجرای همین آموزش

سرور ابری ساعتی را برای Docker، Ubuntu و DevOps راه‌اندازی کنید — پرداخت به میزان مصرف یا ماهانه.

ادامه یادگیری:Docker·Ubuntu·VPS