المُطلِق المنتجات Bitnami التوثيقimaxe CLI المدوّنة اتصل بنا
imaxe ssh الوصول v1.0.0

وصول SSH، تحت السيطرة

أدِر الوصول البعيد إلى خادمك دون تحرير الملفات يدويًّا: المفاتيح المصرَّح بها، ومفاتيح المضيف، والجلسات النشطة، وتصليب sshd، كل ذلك مع فحص للإعداد قبل إعادة التحميل.

$ imaxe ssh status
الإصدار
v1.0.0
الأوامر الفرعية
10
الإعداد
/etc/imaxe/ssh.yml
يتطلب root
نعم
المستخدم المُدار
ubuntu

ماذا تفعل هذه الوحدة #

SSH هو المدخل إلى خادمك: القناة المشفَّرة التي تتصل عبرها لإدارته. والتأكّد من أن ذلك الباب مُركَّب كما ينبغي —بالمفاتيح الصحيحة ودون أقفال زائدة— هو ما يفرّق بين خادم آمن وآخر مكشوف.

تجمع وحدة ssh مهام ذلك الوصول البعيد في أمر واحد: تدير المفاتيح المصرَّح بها للمستخدم (إضافة، سرد، إزالة)، وتتحكّم في مفاتيح المضيف التي يُعرِّف بها الخادم نفسه للعملاء، وتعرض الجلسات النشطة، وتفحص أو تعيد تطبيق تصليب sshd المُعرَّف في إعدادك. كل عملية تمسّ sshd تتحقق من الإعداد أولًا (sshd -t) كي لا يحبسك تغيير خاطئ في الخارج.

قبل أن تبدأ

أبقِ جلسة مفتوحة أثناء تغيير المفاتيح أو إعادة تشغيل sshd: هكذا، إن حدث خطأ، تبقى متصلًا لتصلحه. تعمل الوحدة افتراضيًّا على المستخدم المُدار ubuntu؛ استخدم --user للعمل على غيره.

دليل سريعمهام خطوة بخطوة

المهام الشائعة #

اختر ما تريد فعله. تأتي كل وصفة بالأمر مكتوبًا بالفعل — ما عليك إلا استبدال المستخدم أو المفتاح بخاصّتك والضغط على نسخ.

1

اعرض حالة وصول SSH

تحقّق بنظرة واحدة من أن sshd مُفعَّل ومهيّأ كما ينبغي.

اتصل عبر SSH بخادمك بالمستخدم ubuntu ونفّذ:

الطرفية
$ sudo imaxe ssh status

تحتاجه لسكربت؟ أضِف --json وستحصل على المعلومات نفسها، مقروءةً آليًّا:

الطرفية
$ sudo imaxe ssh status --json
سترى ما إذا كان sshd مُفعَّلًا، وأيّ منفذ يستمع عليه، وملخّصًا للتصليب المُطبَّق.
2

أضِف مفتاحًا مصرَّحًا به أو أزِله

امنح الوصول لجهاز جديد أو اسحبه من جهاز لم تعد تستخدمه.

انظر أولًا إلى المفاتيح المصرَّح بها حاليًّا للمستخدم المُدار:

الطرفية
$ sudo imaxe ssh keys list

أضِف مفتاحًا عامًّا بتمريره وسيطةً (أو استخدم - لقراءته من الدخل القياسي):

الطرفية
$ sudo imaxe ssh keys add "ssh-ed25519 AAAAC3Nz... ana@portatil" --comment "ana@portatil"

لم تعد بحاجته؟ أزِله ببصمته (fingerprint) أو بتعليقه:

الطرفية
$ sudo imaxe ssh keys remove "ana@portatil"
يُحدَّث authorized_keys للمستخدم. تحقّق من النتيجة بـ keys list.
3

أعِد توليد مفاتيح المضيف بعد الاستنساخ

ضروري بعد إنشاء جهاز من صورة AMI.

حين تستنسخ صورة، ترث كل نسخة هوية الخادم نفسها. ولِّد مفاتيح مضيف جديدة وفريدة لهذا الجهاز:

الطرفية
$ sudo imaxe ssh hostkeys regenerate --yes
يحصل الخادم على هويته الخاصّة. ملاحظة: تتغيّر البصمة (fingerprint)، فسيطلب منك كل عميل قبولها من جديد عند أول إعادة اتصال.
4

راجِع التصليب وأعِد تطبيقه

تأكّد من أن sshd لا يزال مهيّأً كما ينبغي، وأصلِحه إن لم يكن كذلك.

قارِن التصليب الحالي بالمرغوب (الذي يُعرِّفه إعدادك):

الطرفية
$ sudo imaxe ssh harden show

هل من فروق؟ أعِد تطبيق التصليب من ملف الـ YAML وأعِد تحميل sshd بأمان:

الطرفية
$ sudo imaxe ssh harden reapply
يعود الإعداد إلى الحالة المرغوبة (لا root عبر SSH، لا كلمات مرور، مفتاح عام فقط) ويُعاد تحميل sshd دون إسقاط جلستك.
5

اعرض الجلسات وأعِد تشغيل sshd

اطّلِع على المتصلين وطبّق التغييرات دون خوف من حبس نفسك خارجًا.

اسرُد جلسات SSH النشطة الآن:

الطرفية
$ sudo imaxe ssh sessions

لتطبيق تغييرات الإعداد، فضّل reload (لا يُسقِط الاتصالات)؛ ولا تستخدم restart إلا إن لزمت إعادة تشغيل كاملة. كلاهما يتحقّق من الإعداد أولًا:

الطرفية
$ sudo imaxe ssh reload
$ sudo imaxe ssh restart
إن كان الإعداد غير صالح، تتوقّف العملية قبل تطبيقه — يبقى وصولك سليمًا.
احذر أن تحبس نفسك خارجًا

قبل إعادة تشغيل sshd أو تغيير المنفذ، أبقِ جلسة طوارئ ثانية مفتوحة. وإن ظهر لك، عند إعادة الاتصال، تحذير host key مختلف بعد hostkeys regenerate، فهذا متوقّع: اقبل الهوية الجديدة.

مرجع CLIالأوامر والرايات والملفات

صيغة الاستخدام #

الاستخدام
imaxe ssh <subcomando> [<subcomando-anidado>] [argumentos] [flags]

العمليات التي تقرأ أو تعدّل sshd، أو المفاتيح المصرَّح بها، أو مفاتيح المضيف تتطلّب صلاحيات root (استخدم sudo). تجمع مجموعات keys وhostkeys وharden أوامرها الفرعية المتداخلة الخاصّة. أضِف --json إلى status أو sessions أو keys list أو harden show للحصول على مخرجات صالحة لكتابة السكربتات.

الأوامر الفرعية #

الأمر الفرعيماذا يفعلالرايات المعنية
statusحالة sshd: مُفعَّل، المنفذ وملخّص التصليب.--json
keys listيسرُد المفاتيح المصرَّح بها للمستخدم المُدار.--user, --json
keys addيضيف مفتاحًا عامًّا (من وسيطة أو stdin).--user, --comment
keys removeيزيل مفتاحًا ببصمته أو بتعليقه.--user
hostkeys regenerateيعيد توليد مفاتيح المضيف (حَرِج بعد استنساخ AMI؛ يغيّر البصمة).--yes
sessionsيسرُد جلسات SSH النشطة.--json
harden showيعرض التصليب الحالي مقابل المرغوب.--json
harden reapplyيعيد تطبيق التصليب من الـ YAML ويعيد تحميل sshd.
restartيعيد تشغيل sshd، متحقّقًا من الإعداد أولًا (sshd -t).
reloadيعيد تحميل sshd، متحقّقًا من الإعداد أولًا (sshd -t).

الوسائط والرايات #

الوسيطة / الرايةالنوعالافتراضيالوصف
<clave> مطلوبstringفي keys add: المفتاح العام، أو - لقراءته من stdin.
<selector> مطلوبstringفي keys remove: البصمة (SHA256:...) أو تعليق المفتاح المراد إزالته.
--userstringubuntuالمستخدم الذي يُستعلَم أو يُعدَّل authorized_keys الخاصّ به (في keys list/add/remove).
--commentstringفي keys add: تعليق مرتبط بالمفتاح للتعرّف عليه لاحقًا.
--yesboolfalseفي hostkeys regenerate: يؤكّد دون سؤال (يغيّر البصمة التي يراها العملاء).
--jsonboolfalseفي status وsessions وkeys list وharden show: يُصدر النتيجة بصيغة JSON في stdout.

الملفات والمسارات #

المسارالمحتوى
/etc/imaxe/ssh.ymlإعداد الوحدة: المنفذ، وسياسات الدخول (root، كلمة المرور، المفتاح العام)، المستخدمون المسموح بهم، المستخدم المُدار وإعادة توليد مفاتيح المضيف.
/home/<usuario>/.ssh/authorized_keysالمفاتيح العامة المصرَّح بها للمستخدم المُدار والتي يعدّلها keys add/remove.
/etc/ssh/sshd_config.d/أجزاء من إعداد sshd حيث يُطبَّق التصليب.
/etc/ssh/ssh_host_*_keyمفاتيح المضيف التي تُعرِّف الخادم والتي يجدّدها hostkeys regenerate.

مثال على ssh.yml:

/etc/imaxe/ssh.yml
port: 22
permit_root_login: "no"
password_authentication: "no"
pubkey_authentication: "yes"
allow_users: []
managed_user: ubuntu
hostkeys:
  regenerate_on_first_boot: true

رموز الخروج والسجلّات #

يعيد كل تنفيذ رمزًا يمكنك فحصه بـ echo $? — مفيد للتسلسل في السكربتات:

0OKاكتملت العملية بنجاح.
1ERRخطأ عام غير مصنَّف. راجِع السجلّ.
2USAGEوسائط غير صالحة أو ناقصة.
3CONFIGفشل التحقق sshd -t؛ لم يُطبَّق شيء.
4NOTFOUNDلم يُعثَر على المفتاح أو المستخدم.
5RELOADطُبِّق التغيير لكن فشل إعادة تحميل sshd.

تابِع سجلّ الخدمة مباشرةً أثناء تصحيح الأخطاء:

الطرفية
$ sudo journalctl -u ssh -f
$ sudo imaxe ssh harden show --json

حل المشكلات #

العَرَضالسبب المحتملالحل
يعيد CONFIG (الرمز 3)ترك التصليب أو تغيير يدوي sshd بإعداد غير صالح.راجِع الفرق بـ imaxe ssh harden show وأصلِحه؛ يمنع التحقق تطبيق إعداد معطوب.
عند إعادة الاتصال، تحذير host key مختلفأُعيد توليد مفاتيح المضيف (متوقّع بعد استنساخ AMI).هذا طبيعي: اقبل الهوية الجديدة على العميل وحدِّث known_hosts لديك.
keys add يعيد NOTFOUND (الرمز 4)المستخدم المُعطى في --user غير موجود في النظام.تحقّق من اسم المستخدم أو استخدم المُدار الافتراضي (ubuntu).
لم أعد أستطيع الدخول بكلمة مرورضُبِط password_authentication على "no" بواسطة التصليب.هذا مقصود: ادخُل بمفتاح عام وأدِرها بـ imaxe ssh keys.

هل واجهتك مشكلة مع وحدة SSH؟

راسلنا مرفقًا مخرجات «imaxe <module> status --json» وسنرد عليك بسرعة.

التواصل مع الدعم