العودة إلى المدونة
مايو 23, 2026الأدلة

كيفية إعداد SFTP لنقل ملفات آمن

استخدم OpenSSH لرفع SFTP إلى VPS: إنشاء مستخدمين وسجون chroot والاتصال عبر FileZilla أو WinSCP.

كيفية إعداد SFTP لنقل ملفات آمن

يوفر SFTP (بروتوكول نقل الملفات عبر SSH) رفعاً وتنزيلاً مشفراً دون برنامج FTP منفصل. على VPS Linux، SFTP مدمج في OpenSSH — يوضح هذا الدليل الإعداد الآمن على خوادم Hiddence.

SFTP بمستخدم مخصص

أنشئ مستخدماً لرفع الملفات فقط:

bash
sudo adduser sftpuser
sudo passwd sftpuser

# Test SFTP from client:
sftp sftpuser@YOUR_VPS_IP

# Or use FileZilla: Protocol SFTP, port 22

سجن chroot (موصى به)

قيّد المستخدم بمجلد واحد للأمان:

bash
sudo mkdir -p /var/sftp/sftpuser/upload
sudo chown root:root /var/sftp/sftpuser
sudo chmod 755 /var/sftp/sftpuser
sudo chown sftpuser:sftpuser /var/sftp/sftpuser/upload

sudo nano /etc/ssh/sshd_config

# Add at end:
Match User sftpuser
    ChrootDirectory /var/sftp/sftpuser
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

sudo systemctl restart sshd

الاتصال من سطح المكتب

عملاء شائعون يدعمون SFTP افتراضياً:

  • FileZilla — Host: sftp://YOUR_VPS_IP, Port: 22, Logon Type: Normal
  • WinSCP — Protocol: SFTP
  • macOS Finder — Connect to Server: sftp://user@IP
  • Linux: sftp user@IP or scp file user@IP:/path/
  • VS Code — Remote SSH extension for direct editing

قائمة التحقق الأمنية

  • استخدم مفاتيح SSH بدلاً من كلمات المرور لمستخدمي SFTP عند الإمكان
  • لا تشارك وصول SFTP لـ root مع أطراف ثالثة
  • عطّل مصادقة كلمة مرور root في sshd_config
  • استخدم chroot لحسابات الرفع فقط
  • اجمع مع Fail2ban على منفذ SSH
  • إن أمكن، اسمح بالمنفذ 22 من IP موثوقة فقط في الجدار الناري

نصائح

  • SFTP ليس FTP — لا تفتح المنفذ 21 إلا إذا احتجت FTP قديماً
  • لـ WordPress فضّل مفاتيح SSH + sftp أو أدوات نشر
  • rsync عبر SSH أسرع للترحيلات الكبيرة
  • عند فشل الرفع تحقق من الصلاحيات (مجلدات 755 وملفات 644)
  • بعد تغيير sshd_config اختبر SSH في جلسة ثانية قبل الإغلاق