إعداد الخادم الأولي مع Ubuntu 22.04

المقدمة

عند إنشاء خادم Ubuntu 22.04 جديد، يجب أن تقوم ببعض الخطوات الهامة في التكوين كجزء من الإعداد الأولي. ستزيد هذه الخطوات من أمان وقابلية استخدام الخادم الخاص بك وستمنحك أساسًا قويًا للإجراءات التالية.

نشر تطبيقاتك من GitHub باستخدام منصة التطبيقات في DigitalOcean. دع DigitalOcean تركز على توسيع تطبيقك.

الخطوة 1 — تسجيل الدخول كمستخدم root

لتسجيل الدخول إلى خادمك، ستحتاج إلى معرفة عنوان IP العام للخادم. ستحتاج أيضًا إلى كلمة المرور أو المفتاح الخاص بحساب المستخدم root إذا قمت بتثبيت مفتاح SSH للمصادقة. إذا لم تقم بتسجيل الدخول إلى خادمك بالفعل، قد ترغب في اتباع دليلنا حول كيفية الاتصال بالدروبليتات باستخدام SSH، الذي يغطي هذه العملية بالتفصيل.

إذا لم تكن متصلاً بخادمك حاليًا، قم بتسجيل الدخول كمستخدم root باستخدام الأمر التالي. استبدل جزء your_server_ip المظلل في الأمر بعنوان IP العام لخادمك:

  1. ssh root@your_server_ip

قبول التحذير حول مصداقية المضيف إذا ظهر. إذا كان خادمك يستخدم مصادقة كلمة المرور، قدم كلمة المرور root الخاصة بك لتسجيل الدخول. إذا كنت تستخدم مفتاح SSH محمي بكلمة مرور، قد تحتاج إلى إدخال كلمة المرور لأول مرة تستخدم فيها المفتاح في كل جلسة. إذا كانت هذه أول مرة تقوم فيها بتسجيل الدخول إلى الخادم بكلمة مرور، قد تحتاج أيضًا إلى تغيير كلمة المرور root. اتبع التعليمات لتغيير كلمة المرور إذا تلقيت رسالة استدعاء.

حول الجذر

المستخدم root هو المستخدم الإداري في بيئة Linux بامتيازات مرتفعة. بسبب امتيازات المستخدم root المرتفعة، يتم تحذيرك من استخدامه بانتظام. يمكن لحساب root إجراء تغييرات مدمرة للغاية، حتى عن طريق الخطأ.

الخطوة التالية هي إعداد حساب مستخدم جديد بامتيازات مخفضة للاستخدام اليومي. فيما بعد، سنوضح لك كيفية الحصول مؤقتًا على امتيازات مرتفعة في الأوقات التي تحتاج فيها إليها.

الخطوة 2 — إنشاء مستخدم جديد

بمجرد تسجيل الدخول باسم المستخدم root، ستتمكن من إضافة حساب المستخدم الجديد. في المستقبل، سنقوم بتسجيل الدخول باستخدام هذا الحساب الجديد بدلاً من root.

هذا المثال يقوم بإنشاء مستخدم جديد يسمى sammy، ولكن يجب عليك استبدال ذلك بالاسم المستخدم الذي تفضله:

  1. adduser sammy

سيُطلب منك الإجابة عن بعض الأسئلة، بدءًا من كلمة مرور الحساب.

أدخل كلمة مرور قوية، واختياريًا، قم بملء أي من المعلومات الإضافية إذا كنت ترغب في ذلك. هذه المعلومات ليست مطلوبة، ويمكنك الضغط على ENTER في أي حقل ترغب في تخطيه.

الخطوة 3 — منح الامتيازات الإدارية

الآن لديك حساب مستخدم جديد بامتيازات الحساب العادية. ومع ذلك، ستحتاج أحيانًا إلى أداء مهام إدارية كمستخدم root.

لتجنب تسجيل الخروج من حساب المستخدم العادي الخاص بك وتسجيل الدخول مرة أخرى باستخدام حساب root، يمكنك إعداد ما يعرف بامتيازات المستخدم الخاصة بالجذر أو superuser لحساب المستخدم العادي الخاص بك. ستتيح لك هذه الامتيازات للمستخدم العادي تشغيل الأوامر بامتيازات إدارية عن طريق وضع كلمة sudo قبل الأمر.

لإضافة هذه الامتيازات إلى المستخدم الجديد الخاص بك، ستحتاج إلى إضافة المستخدم إلى مجموعة النظام sudo. بشكل افتراضي على أوبونتو 22.04، يُسمح لأعضاء مجموعة sudo باستخدام الأمر sudo.

كمستخدم root، قم بتشغيل هذا الأمر لإضافة مستخدمك الجديد إلى مجموعة sudo (استبدل اسم المستخدم المؤشر sammy بمستخدمك الجديد):

  1. usermod -aG sudo sammy

يمكنك الآن كتابة sudo قبل الأوامر لتشغيلها بامتيازات المستخدم الجذر عند تسجيل الدخول باسم المستخدم العادي الخاص بك.

الخطوة 4 — إعداد جدار ناري

يمكن لخوادم Ubuntu 22.04 استخدام جدار الحماية UFW للتأكد من أنه يتم السماح فقط بالاتصالات بخدمات معينة. يمكنك إعداد جدار حماية أساسي باستخدام هذا التطبيق.

ملاحظة: إذا كانت خوادمك تعمل على DigitalOcean، يمكنك استخدام جدران حماية DigitalOcean Cloud كبديل اختياري عن جدار الحماية UFW. نوصي باستخدام جدار حماية واحد فقط في نفس الوقت لتجنب قواعد التعارض التي قد تكون صعبة للتصحيح.

يمكن للتطبيقات تسجيل ملفات تعريفها مع UFW عند التثبيت. تسمح هذه الملفات بإدارة UFW لهذه التطبيقات بالاسم. تحتوي OpenSSH، الخدمة التي تسمح لك بالاتصال بالخادم الخاص بك، على ملف تعريف مسجل مع UFW.

يمكنك فحص قائمة ملفات التعريف المثبتة في UFW عن طريق كتابة:

  1. ufw app list
Output
Available applications: OpenSSH

ستحتاج إلى التأكد من أن الجدار الناري يسمح بالاتصالات SSH بحيث يمكنك تسجيل الدخول إلى الخادم الخاص بك في المرة القادمة. قم بالسماح بهذه الاتصالات عن طريق كتابة:

  1. ufw allow OpenSSH

الآن قم بتمكين الجدار الناري عن طريق كتابة:

  1. ufw enable

اكتب y واضغط ENTER للمتابعة. يمكنك معرفة أن اتصالات SSH مسموح بها عن طريق كتابة:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

الجدار الناري يقوم حاليًا بحظر جميع الاتصالات ما عدا SSH. إذا قمت بتثبيت وتكوين خدمات إضافية، ستحتاج إلى ضبط إعدادات جدار الحماية للسماح بدخول حركة المرور الجديدة إلى خادمك. يمكنك تعلم بعض العمليات الشائعة لـ UFW في دليلنا أساسيات UFW.

الخطوة 5 — تمكين الوصول الخارجي لمستخدمك العادي

الآن بعد أن لديك مستخدم عادي للاستخدام اليومي، ستحتاج إلى التأكد من أنه يمكنك الاتصال بالحساب مباشرةً عبر SSH.

ملاحظة: قبل التحقق من القدرة على تسجيل الدخول واستخدام sudo مع مستخدمك الجديد، نوصي بالبقاء مسجل الدخول كـ root. إذا واجهتك مشاكل في الاتصال، يمكنك تحديد المشكلة وإجراء أي تغييرات ضرورية بوصفك root. إذا كنت تستخدم DigitalOcean Droplet وواجهت مشاكل في اتصال SSH الخاص بك root، يمكنك استعادة الوصول إلى Droplets باستخدام Recovery Console.

تكوين وصول SSH لمستخدمك الجديد يعتمد على ما إذا كان حساب root للخادم يستخدم كلمة مرور أم مفاتيح SSH للمصادقة.

إذا كان حساب الجذر يستخدم المصادقة بكلمة مرور

إذا قمت بتسجيل الدخول إلى حسابك الجذر باستخدام كلمة مرور، فإن المصادقة بكلمة المرور ممكّنة لبروتوكول SSH. يمكنك الاتصال ببروتوكول SSH إلى حساب مستخدمك الجديد عن طريق فتح جلسة طرفية جديدة واستخدام SSH مع اسم المستخدم الجديد الخاص بك:

  1. ssh sammy@your_server_ip

بعد إدخال كلمة مرور مستخدمك العادية، ستتمكن من تسجيل الدخول. تذكر، إذا كنت بحاجة لتشغيل أمر بامتيازات إدارية، اكتب sudo قبله مثل هذا:

  1. sudo command_to_run

ستتلقى دعوة لكلمة مرور مستخدمك العادية عند استخدام sudo للمرة الأولى في كل جلسة (وبشكل دوري بعد ذلك).

لتعزيز أمان خادمك، نوصي بشدة بإعداد مفاتيح SSH بدلاً من استخدام المصادقة بكلمة المرور. اتبع دليلنا على كيفية إعداد مفاتيح SSH في Ubuntu 22.04 لتعلم كيفية تكوين المصادقة القائمة على المفتاح.

إذا كان حساب الجذر يستخدم المصادقة بمفتاح SSH

إذا قمت بتسجيل الدخول إلى حساب الجذر باستخدام مفاتيح SSH، فإن مصادقة كلمة المرور معطلة لبروتوكول SSH. لتسجيل الدخول كمستخدم عادي باستخدام مفتاح SSH، يجب عليك إضافة نسخة من المفتاح العام المحلي إلى ملف ~/.ssh/authorized_keys الخاص بالمستخدم الجديد.

نظرًا لأن مفتاحك العام موجود بالفعل في ملف ~/.ssh/authorized_keys الخاص بحساب الجذر على الخادم، يمكنك نسخ ذلك الملف وهيكل الدليل إلى حساب المستخدم الجديد باستخدام جلسةك الحالية.

أبسط طريقة لنسخ الملفات بالصلاحيات والملكيات الصحيحة هي باستخدام أمر rsync. سيقوم هذا الأمر بنسخ دليل المستخدم root .ssh، والحفاظ على الصلاحيات، وتعديل مالكي الملفات، كل ذلك في أمر واحد. تأكد من تغيير الأجزاء المبرزة في الأمر أدناه لتتطابق مع اسم مستخدمك العادي:

ملاحظة: يعامل أمر rsync المصادر والوجهات التي تنتهي بشرطة مائلة بشكل مختلف عن تلك التي لا تنتهي بشرطة مائلة. عند استخدام rsync أدناه، تأكد من أن دليل المصدر (~/.ssh) لا يحتوي على شرطة مائلة في النهاية (تحقق للتأكد من أنك لا تستخدم ~/.ssh/).

إذا أضفت عن طريق الخطأ شرطة مائلة في الأمر، سيقوم rsync بنسخ محتويات دليل حساب الجذر ~/.ssh إلى دليل المستخدم sudo بدلاً من نسخ هيكل دليل ~/.ssh بأكمله. ستكون الملفات في الموقع الخطأ ولن يتمكن SSH من العثور عليها واستخدامها.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

الآن، افتح جلسة تيرمينال جديدة على جهازك المحلي، واستخدم SSH مع اسم المستخدم الجديد:

  1. ssh sammy@your_server_ip

يجب أن تكون متصلاً بخادمك باستخدام حساب المستخدم الجديد دون استخدام كلمة مرور. تذكر، إذا كنت بحاجة إلى تشغيل أمر بامتيازات إدارية، اكتب sudo قبل الأمر مثل هذا:

  1. sudo command_to_run

سيُطلب منك كلمة مرور المستخدم العادي عند استخدام sudo للمرة الأولى في كل جلسة (وبشكل دوري بعد ذلك).

إلى أين تذهب من هنا؟

في هذه النقطة، لديك أساس قوي لخادمك. يمكنك الآن تثبيت أي من البرامج التي تحتاجها على خادمك.

إذا كنت ترغب في التعرف أكثر على أوامر لينكس، يمكنك التحقق من مبادئ سطر الأوامر في لينكس.

Source:
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-22-04