Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sshconfig-lint — مدقق قائم على القواعد لملفات تكوين عميل OpenSSH يكتشف الـhosts المكررة، ملفات الهوية المفقودة، الخوارزميات الضعيفة، مشاكل ترتيب wildcard، والإعدادات الخطرة مع إخراج JSON ورموز خروج مناسبة لـ CI. | Kitploit
أدوات/GitHubGitHub/noah4ever/sshconfig-lint
أدوات عامةالتحليل الثابتتحليل الكودتدقيق التكوينأمن الشبكاتDevSecOps
GitHubnoah4ever/sshconfig-lint

sshconfig-lint

مدقق قائم على القواعد لملفات تكوين عميل OpenSSH يكتشف الـhosts المكررة، ملفات الهوية المفقودة، الخوارزميات الضعيفة، مشاكل ترتيب wildcard، والإعدادات الخطرة مع إخراج JSON ورموز خروج مناسبة لـ CI.

عرض المستودع
16منذ 5 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

sshconfig-lint

افحص ملف ~/.ssh/config بحثًا عن الأخطاء الشائعة.

يتحقق من وجود كتل مضيفة مكررة، ملفات هوية مفقودة، مشاكل ترتيب أحرف البدل، خوارزميات ضعيفة، توجيهات مكررة، والمزيد. يدعم توجيهات Include مع اكتشاف الدورات.

https://github.com/user-attachments/assets/4d995679-baed-4f20-9ba8-8f3ec94c64fd

التثبيت

تثبيت سريع (لينكس / ماك)

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/Noah4ever/sshconfig-lint/main/install.sh | bash

اضبط VERSION=v0.1.0 أو INSTALL_DIR=~/.local/bin لتجاوز القيم الافتراضية.

ماك (Homebrew)

root@kitploit:~
brew tap Noah4ever/tap
brew install sshconfig-lint

اختياري: استخدم untap Noah4ever/tap لإزالة المستودع والحفاظ على قائمة المستودعات نظيفة

كارجو

root@kitploit:~
cargo install sshconfig-lint

AUR

sshconfig-lint-bin - باينات مُجمَّعة مسبقاً

root@kitploit:~
yay -S sshconfig-lint-bin
root@kitploit:~
paru -S sshconfig-lint-bin

باينات مُجمَّعة مسبقاً

احصل على بايناري من صفحة الإصدارات.

الاستخدام

root@kitploit:~
# lint the default ~/.ssh/config
sshconfig-lint

# lint a specific file
sshconfig-lint --config /path/to/config

# json output
sshconfig-lint --format json

# treat warnings as errors (useful in CI)
sshconfig-lint --strict

# skip Include resolution
sshconfig-lint --no-includes

مثال على المخرجات

root@kitploit:~
line 4: [warning] WILDCARD_ORDER (wildcard-host-order) Host 'github.com' appears after 'Host *' (line 1); it will never match because Host * already matched (hint: move Host * to the end of the file)
line 7: [warning] DUP_HOST (duplicate-host) duplicate Host block 'github.com' (first seen at line 4) (hint: remove one of the duplicate Host blocks)
line 3: [error] MISSING_IDENTITY (identity-file-exists) IdentityFile not found: ~/.ssh/id_missing (hint: check the path or remove the directive)

يتم فرز المخرجات حسب الملف ورقم السطر لضمان الثبات عبر عمليات التشغيل (مستقرة لاختلافات CI واللقطات).

الأخطاء باللون الأحمر، والتحذيرات باللون الأصفر، والمعلومات باللون السماوي. يتم تعطيل الألوان تلقائيًا إذا لم يكن stdout طرفية أو إذا تم تعيين NO_COLOR.

رموز الخروج

Codeالمعنى
0نظيف، لم يتم العثور على أخطاء
1يوجد على الأقل خطأ واحد (أو تحذير مع --strict)
2ملف التهيئة غير موجود

القواعد

كل اكتشاف له رمز ثابت يمكنك البحث عنه أو مطابقته في النصوص البرمجية.

تتضمن الاكتشافات تلميحًا عند الإمكان، مثل "انقل Host * إلى نهاية الملف".

ما يتعامل معه

  • أنماط مضيفة متعددة (Host github.com gitlab.com)
  • أنماط تضمين متعددة (Include conf.d/*.conf extra.conf)
  • تعليقات سطرية (IdentityFile ~/.ssh/id # my key)
  • قيم مقتبسة (ProxyCommand "ssh -W %h:%p bastion")
  • حل التضمين مع اكتشاف الدورات

التطوير

root@kitploit:~
cargo test          # run all tests
cargo test --lib    # unit tests only
cargo clippy        # lint
cargo fmt --check   # formatting

هيكل المشروع

root@kitploit:~
src/
  main.rs        CLI
  lib.rs         Public API (lint_file, lint_str)
  model.rs       AST types
  lexer.rs       Tokenizer
  parser.rs      Builds config AST from tokens
  resolve.rs     Include expansion + cycle detection
  report.rs      Text and JSON formatters
  rules/
    mod.rs       Rule trait and runner
    basic.rs     Built-in rules
tests/
  fixtures/      Sample config files
  cli.rs         CLI integration tests
  integration.rs Fixture-based tests

إضافة قاعدة

  1. قم بتنفيذ الخاصية Rule في src/rules/basic.rs
  2. سجلها في run_all() في src/rules/mod.rs
  3. اكتب الاختبارات أولاً، ثم اجعلها تنجح

انظر CONTRIBUTING.md للمزيد من التفاصيل.

الترخيص

MIT

تنزيل الأداة
CodeRuleSeverityالوصف
DUP_HOSTduplicate-hostتحذيركتلتا Host بنفس النمط
MISSING_IDENTITYidentity-file-existsخطأمسار IdentityFile غير موجود
WILDCARD_ORDERwildcard-host-orderتحذيريظهر Host * قبل أنماط محددة
WEAK_ALGOdeprecated-weak-algorithmsتحذيرخوارزمية ضعيفة أو مهملة (3des-cbc, arcfour, hmac-md5, ssh-dss, إلخ)
DUP_DIRECTIVEduplicate-directivesتحذيرتوجيه مكرر في نفس النطاق (القيمة الأولى فقط هي المؤثرة)
INSECURE_OPTinsecure-optionتحذيرإعداد خطير مثل StrictHostKeyChecking no أو ForwardAgent yes على Host *
UNSAFE_CTRL_PATHunsafe-control-pathتحذيرControlPath يفتقد %h، %p، %r (أو %C) — قد تشارك الاتصالات مقبسًا
INCLUDE_CYCLEinclude-cycleخطأسلسلة Include دائرية
INCLUDE_READinclude-readخطألا يمكن قراءة الملف المضمن
INCLUDE_GLOBinclude-globخطأنمط glob غير صالح في Include
INCLUDE_NO_MATCHinclude-no-matchمعلوماتنمط Include لم يطابق أي ملفات