إعداد خادم SFTP Ubuntu - نقل ملفات SSH آمن
قم بتثبيت OpenSSH على Ubuntu، وقم بإنشاء مستخدم نقل وابدأ في قبول اتصالات SFTP المشفرة على المنفذ 22 - المسار النظيف خطوة بخطوة مع فحوصات الأمان التي يتخطاها معظم الأدلة.
📑الفصول
- ما هو SFTP — نقل الملفات الذي يتم داخل SSH، بشكل مشفر من طرف إلى طرف
- قم بتثبيت حزمة خادم OpenSSH على Ubuntu
- ابدأ خدمة ssh واجعلها تنجو من عمليات إعادة التشغيل
- قم بتأكيد سطر النظام الفرعي SFTP في sshd_config
- قم بإنشاء مستخدم نقل مخصص - لا تقم مطلقًا بتسجيل الدخول كمسؤول
- افتح جدار الحماية لـ SSH
- اتصل من جهاز آخر وانقل الملف الأول
- فحوصات السلامة قبل استخدام الخادم بشكل حقيقي
📋 نظرة عامة ودليل خطوة بخطوة
قم بتثبيت حزمة خادم OpenSSH
SFTP هو نقل الملفات الذي يتم داخل SSH، بحيث يتم تشفير كل كلمة مرور وكل ملف من البداية إلى النهاية. على Ubuntu، لا يعد هذا منتجًا منفصلاً تبحث عنه، بل هو جزء صغير من خادم OpenSSH. يأتي Ubuntu مع عميل SSH، لكن جانب الخادم عبارة عن حزمة منفصلة. تثبيته:
sudo apt update
sudo apt install openssh-server
قم بتشغيل sudo apt update أولاً حتى تكون قائمة الحزم حديثة، ثم قم بالتثبيت والتأكيد باستخدام Y. يقوم المثبت بإنشاء التكوين على /etc/ssh/sshd_config ويقوم بإنشاء مفاتيح مضيف هذا الجهاز تلقائيًا. هذا هو بالفعل كل البرامج الموجودة — SFTP هو نظام فرعي لهذه الخدمة الواحدة، وليس تنزيلًا إضافيًا، وهو يستجيب على منفذ SSH القياسي 22.
ابدأ الخدمة واجعلها تنجو من عمليات إعادة التشغيل
عادةً ما تبدأ الحزمة الخدمة بنفسها. إثبات ذلك، والتأكد من عودته بعد انقطاع التيار الكهربائي:
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh
يجب أن يُظهر sudo systemctl Status ssh السطر الأخضر النشط (قيد التشغيل) - وهذا يعني أن خادم SFTP يستمع بالفعل. sudo systemctl Enable ssh يجعله يبدأ عند كل تشغيل، وإذا توقف، sudo systemctl start ssh يعيده مرة أخرى. بعد أي تغيير في التكوين لاحقًا، sudo systemctl Restart ssh هو الأمر الذي يطبقه.
ssh، وليس sshd. يعد استخدام الاسم الخاطئ هو السبب الأكثر شيوعًا لفشل الدليل الصحيح.قم بتأكيد خط النظام الفرعي SFTP
افتح التكوين مرة واحدة وانظر إليه ببساطة:
sudo nano /etc/ssh/sshd_config
بالقرب من الأسفل ستجد هذا السطر، والذي يتضمنه Ubuntu افتراضيًا:
Subsystem sftp /usr/lib/openssh/sftp-server
إذا كان السطر مفقودًا، فأضفه تمامًا كما هو موضح — بدونه، تعمل عمليات تسجيل الدخول عبر SSH ولكن يتم رفض عمليات نقل الملفات. اترك كل شيء آخر بمفرده في الوقت الحالي؛ يتم إجراء تغييرات تصلب على هذا الملف إعدادًا واحدًا في كل مرة عن قصد.
قم بإنشاء مستخدم نقل مخصص
لا تقم مطلقًا بتسليم تسجيل دخول المسؤول الخاص بك لنقل الملفات. قم بإنشاء حساب موجود فقط لنقل الملفات:
sudo adduser sftpuser
قم بتعيين كلمة المرور الخاصة به عندما يُطلب منك ذلك، وتخطي الأسئلة المتعلقة بالاسم والهاتف باستخدام Enter - فهي اختيارية. يحصل هذا المستخدم على المجلد الرئيسي في /home/sftpuser ولا شيء غير ذلك.
افتح جدار الحماية
إذا كان UFW نشطًا على الخادم، فإن المنفذ 22 يحتاج إلى مرور صريح قبل أن يتمكن أي عميل من الوصول إلى الخدمة:
sudo ufw allow OpenSSH
sudo ufw status
يفتح ملف التعريف OpenSSH المنفذ 22 بالضبط — وهو المنفذ الوحيد الذي يحمل كلاً من تسجيل دخول SSH ونقل SFTP. تأكد من إدراج القاعدة في مخرجات الحالة قبل الاختبار من جهاز آخر.
توصيل ونقل الملف الأول
من جهاز آخر على نفس الشبكة، اتصل بالمستخدم المنقول. استبدل العنوان بعنوان IP الحقيقي لخادمك — قم بتشغيل ip a على الخادم لرؤيته:
sftp [email protected]
داخل الجلسة، put يقوم بتحميل ملف، وget يقوم بتنزيل ملف واحد، ثم يغادر. في نظام التشغيل Windows، يتحدث كل من WinSCP وFileZilla بروتوكول SFTP ويتصلان فقط بالعنوان والمنفذ 22 واسم المستخدم وكلمة المرور.
yes فقط عندما تثق في بصمة الإصبع تلك — فهي الشيك الذي يثبت أنك وصلت إلى الخادم الخاص بك ولست محتالًا. واحتفظ بهذا الخادم على الشبكة المحلية في الوقت الحالي: يعد وضعه على الإنترنت قرارًا مختلفًا يحتاج إلى تسجيل الدخول بالمفتاح بدلاً من كلمات المرور والحماية مثل Fail2ban أولاً. لا تقم بإعادة توجيه منفذ جهاز التوجيه حتى تتم عملية التصلب هذه.الخادم الخاص بك يعمل الآن. يمنحك التثبيت السريع خادمًا عاملاً، وليس خادمًا مكتملًا - تسجيل الدخول بكلمة مرور على الإنترنت المفتوح، والمستخدمين الذين يمكنهم رؤية القرص بالكامل، وعدم وجود سجلات تسجيل دخول، هي الفجوات الثلاث التي يجب إغلاقها بعد ذلك، واحدًا تلو الآخر.
🏷️متغيرات البحث والكلمات الرئيسية للموضوع
🎙️ نص كامل - انقر للتوسيع
__TOK_31__
__TOK_32__
__TOK_33__
❓ الأسئلة الشائعة (باللغة الإنجليزية)
هل هذا البرنامج التعليمي مجاني للمتابعة بنسبة 100%؟
__TOK_34__
هل يمكن للمبتدئين اتباع هذا الدليل؟
__TOK_35__
أين يمكنني طرح الأسئلة إذا واجهت مشكلة؟
__TOK_36__