SFTP چیست؟ آموزش راهاندازی SFTP Server در RedHat Linux
انتقال امن فایلها بین سرورها و سیستمهای مختلف یکی از نیازهای مهم در زیرساختهای شبکه است. پروتکلهای قدیمی مانند FTP برای جابهجایی فایل طراحی شدهاند، اما به دلیل نداشتن رمزگذاری، امنیت کافی برای انتقال اطلاعات حساس را ندارند.
SFTP چیست؟
SFTP مخفف Secure File Transfer Protocol است و یک روش امن برای انتقال فایل بین سیستمها محسوب میشود.
برخلاف FTP که اطلاعات را بدون رمزگذاری منتقل میکند، SFTP از پروتکل SSH (Secure Shell) برای ایجاد یک ارتباط امن استفاده میکند.
در SFTP تمام اطلاعات هنگام انتقال رمزگذاری میشوند؛ بنابراین مواردی مانند:
- فایلهای منتقلشده
- اطلاعات ورود کاربران
- دستورات ارسالشده
در برابر دسترسی غیرمجاز محافظت میشوند.
SFTP معمولاً روی پورت 22 اجرا میشود و در بسیاری از سرورهای لینوکسی به صورت پیشفرض با سرویس SSH در دسترس است.

SFTP چگونه کار میکند؟
برای درک بهتر اینکه SFTP چیست و چگونه کار میکند، باید فرآیند ایجاد ارتباط آن را بررسی کنیم.
زمانی که یک کاربر با استفاده از SFTP به یک سرور متصل میشود، مراحل زیر انجام میشود:
۱. ایجاد اتصال SSH
ابتدا کلاینت SFTP از طریق SSH به سرور مقصد متصل میشود. در این مرحله سرور و کاربر یک ارتباط امن ایجاد میکنند.
۲. احراز هویت کاربر
سرور بررسی میکند کاربر اجازه دسترسی دارد یا خیر.
روشهای رایج احراز هویت:
- نام کاربری و رمز عبور
- کلید عمومی و خصوصی SSH
هستند.
۳. ایجاد کانال امن انتقال فایل
پس از تأیید هویت، یک کانال رمزگذاریشده ایجاد میشود و فایلها از طریق این مسیر منتقل میشوند.
۴. مدیریت فایلها روی سرور
کاربر میتواند عملیات مختلفی انجام دهد:
- ارسال فایل
- دریافت فایل
- تغییر نام فایل
- حذف فایل
- مشاهده مسیرها
را بدون نیاز به دسترسی مستقیم به سیستم مقصد انجام دهد.
SFTP برای ایجاد ارتباط امن از پروتکل SSH استفاده میکند. اگر میخواهید با ساختار این پروتکل و نحوه ایجاد اتصال امن بین سیستمها بیشتر آشنا شوید، مطالعه مقاله SSH چیست و چگونه کار میکند میتواند اطلاعات کاملتری در اختیار شما قرار دهد.
تفاوت FTP و SFTP چیست؟
یکی از سوالات رایج کاربران این است که تفاوت FTP و SFTP چیست؟
| ویژگی | FTP | SFTP |
|---|---|---|
| امنیت | بدون رمزگذاری | رمزگذاریشده با SSH |
| پورت پیشفرض | 21 | 22 |
| احراز هویت | معمولی | امنتر با SSH |
| انتقال اطلاعات حساس | توصیه نمیشود | مناسب است |
| مدیریت دسترسی | محدودتر | کنترل بهتر کاربران |
به همین دلیل در محیطهای سازمانی و سرورهایی که اطلاعات حساس منتقل میشود، معمولاً SFTP انتخاب مناسبتری نسبت به FTP است.
مزایای استفاده از SFTP چیست؟
در ادامه مزایای پروتکل SFTP را بررسی میکنیم
1. رمزگذاری اطلاعات
یکی از مهمترین مزایای SFTP، رمزگذاری اطلاعات هنگام انتقال است. این ویژگی باعث میشود افراد غیرمجاز نتوانند فایلهای منتقلشده را مشاهده کنند.
2. انتقال امن فایلهای حجیم
SFTP امکان انتقال فایلهای بزرگ مانند:
- فایلهای Backup
- گزارشهای سرور
- فایلهای پیکربندی
را فراهم میکند.
3. مدیریت سطح دسترسی کاربران
مدیر سیستم میتواند مشخص کند هر کاربر به چه مسیرهایی دسترسی داشته باشد.
4. استفاده از کلید SSH
SFTP امکان استفاده از کلیدهای عمومی و خصوصی SSH را فراهم میکند که امنیت ورود کاربران را افزایش میدهد.
راهاندازی SFTP Server در RedHat Linux
در این بخش نحوه راهاندازی یک SFTP Server روی سیستمعاملهای مبتنی بر RedHat مانند:
- RedHat Enterprise Linux
- CentOS
- Rocky Linux
- Fedora
را بررسی میکنیم.
پیشنیازهای راهاندازی SFTP
قبل از شروع موارد زیر باید آماده باشند:
- یک سرور لینوکسی
- دسترسی Root یا کاربر دارای دسترسی sudo
- سرویس SSH فعال
- IP ثابت برای سرور
تنظیم IP ثابت در RedHat
برای تنظیم IP سرور میتوان از ابزارهای مدیریت شبکه مانند nmtui یا فایل تنظیمات شبکه استفاده کرد.
مسیر فایل تنظیمات:
/etc/sysconfig/network-scripts/ifcfg-ens18
نمونه تنظیمات:
DEVICE=ens18
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
ONBOOT=yes
IPADDR=172.16.100.169
PREFIX=24
GATEWAY=172.16.100.1
DNS1=172.16.60.40
پس از اعمال تغییرات، سرویس شبکه را مجدد راهاندازی کنید:
sudo nmcli networking off
sudo nmcli networking on
فعالسازی Cockpit برای مدیریت سادهتر سرور
Cockpit یک رابط مدیریتی تحت وب برای مدیریت سیستمهای لینوکسی است.
با استفاده از آن میتوان مواردی مانند:
- Network
- Services
- Logs
- Kernel
را مدیریت کرد.
فعالسازی Cockpit:
sudo systemctl enable --now cockpit.socket
تنظیم SSH برای ایجاد دسترسی SFTP
برای محدود کردن کاربر به محیط SFTP، فایل تنظیمات SSH را ویرایش کنید:
sudo vim /etc/ssh/sshd_config
تنظیمات زیر را اضافه کنید:
Match User fuser
ForceCommand internal-sftp
PasswordAuthentication no
ChrootDirectory /var/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
سپس سرویس SSH را ریاستارت کنید:
sudo systemctl restart sshd
ساخت کاربر و گروه SFTP
ابتدا گروه مربوط به کاربران SFTP را ایجاد کنید:
sudo groupadd ftpusers
ساخت مسیر ذخیره فایلها:
sudo mkdir -p /var/sftp/backups
تنظیم مالکیت و دسترسی:
sudo chown root:ftpusers /var/sftp/backups
sudo chmod 770 /var/sftp/backups
ایجاد کاربر:
sudo useradd fuser
sudo passwd fuser
اضافه کردن کاربر به گروه:
sudo usermod -G ftpusers fuser
استفاده از کلید SSH برای اتصال امن SFTP
برای افزایش امنیت میتوان از کلید عمومی و خصوصی SSH استفاده کرد.
ساخت کلید:
ssh-keygen -t rsa -C "your_email@example.com"
انتقال کلید عمومی به سرور مقصد:
cat id_rsa.pub >> /home/fuser/.ssh/authorized_keys
تنظیم دسترسی:
chown fuser:ftpusers /home/fuser/.ssh/authorized_keys
chmod 600 /home/fuser/.ssh/authorized_keys
امنیت SFTP چگونه افزایش پیدا میکند؟
برای افزایش امنیت SFTP پیشنهاد میشود:
1. استفاده از کلید SSH
به جای رمز عبور، استفاده از کلید عمومی و خصوصی امنیت بیشتری ایجاد میکند.
2. محدود کردن کاربران
تنها کاربرانی که نیاز به انتقال فایل دارند باید دسترسی SFTP داشته باشند.
3. استفاده از Firewall
دسترسی به پورت SSH فقط باید برای IPهای مورد اعتماد باز باشد.
4. بروزرسانی سرور
بهروزرسانی سیستمعامل و سرویس SSH باعث کاهش آسیبپذیریهای امنیتی میشود.
کاربرد SFTP در سازمانها
در سازمانها، انتقال امن اطلاعات اهمیت زیادی دارد. SFTP میتواند برای موارد زیر استفاده شود:
- انتقال فایلهای Backup
- جابهجایی گزارشهای سرورها
- انتقال فایلهای پیکربندی
- تبادل اطلاعات بین سیستمهای سازمانی
در سرویسهای ارتباطی سازمانی مانند مرکز تماس ابری و سیستمهای VoIP نیز امنیت زیرساخت و انتقال صحیح اطلاعات اهمیت زیادی دارد.
در زیرساختهای سازمانی، سرویسهایی مانند VoIP نیز به سرورها و شبکههای پایدار نیاز دارند. آشنایی با پروتکلهای ارتباطی مانند پروتکل SIP چیست برای درک بهتر نحوه برقراری ارتباطات صوتی تحت شبکه اهمیت زیادی دارد.
چرا ماهان ویپ؟
راهکارهای ارتباطی سازمانی نیازمند زیرساخت امن، پایدار و قابل توسعه هستند. مدیریت صحیح سرورها، کنترل دسترسی کاربران و استفاده از روشهای امن انتقال اطلاعات، بخشی از الزامات یک سیستم ارتباطی حرفهای محسوب میشود.
ماهان ویپ با ارائه راهکارهای ارتباطی سازمانی شامل نرمافزار مدیریت مرکز تماس، مرکز تماس ابری و سرویسهای VoIP به کسبوکارها کمک میکند ارتباطات خود را حرفهایتر مدیریت کنند.
برای آشنایی بیشتر با راهکارهای ارتباطی ماهان ویپ میتوانید صفحات زیر را مطالعه کنید:
طبق مستندات رسمی OpenSSH:
“SFTP is a subsystem of the SSH protocol suite.”
ترجمه:
«SFTP یک زیرسیستم از مجموعه پروتکل SSH است.»
سوالات متداول درباره SFTP
1.SFTP چیست؟
SFTP یک پروتکل امن انتقال فایل است که برای جابهجایی اطلاعات بین سیستمها از SSH استفاده میکند.
2. SFTP روی چه پورتی کار میکند؟
SFTP معمولاً از پورت 22 استفاده میکند.
3. تفاوت SFTP و FTP چیست؟
FTP اطلاعات را بدون رمزگذاری منتقل میکند، اما SFTP انتقال فایل را از طریق SSH رمزگذاری میکند.
4. آیا SFTP برای انتقال فایل Backup مناسب است؟
بله. به دلیل امنیت بالا و امکان کنترل دسترسی، SFTP یکی از روشهای مناسب برای انتقال فایلهای پشتیبان است.
5. آیا SFTP همان FTP است؟
خیر. SFTP بر پایه SSH ساخته شده و ساختار متفاوتی از FTP دارد.
عضویت در خبرنامه
ایمیلت رو وارد کن تا از مطالب جدید باخبر بشی



