Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
authkeysync — 🔐 दूरस्थ URLs से SSH सार्वजनिक कुंजियों को स्थानीय authorized_keys फ़ाइलों में सिंक्रनाइज़ करने के लिए डिज़ाइन की गई हल्की-फुल्की CLI उपयोगिता | Kitploit
उपकरण/GitHubGitHub/eduardolat/authkeysync
प्रमाणीकरण और प्राधिकरणक्लाउड इन्फ्रास्ट्रक्चर सुरक्षास्क्रिप्टिंग और स्वचालनकॉन्फ़िगरेशन ऑडिटिंगDevSecOpsप्रमाणीकरण
GitHubeduardolat/authkeysync

authkeysync

🔐 दूरस्थ URLs से SSH सार्वजनिक कुंजियों को स्थानीय authorized_keys फ़ाइलों में सिंक्रनाइज़ करने के लिए डिज़ाइन की गई हल्की-फुल्की CLI उपयोगिता

रिपॉजिटरी देखें
288 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
वेबसाइट

AuthKeySync Logo

AuthKeySync

दूरस्थ URLs से SSH सार्वजनिक कुंजियों को स्वचालित रूप से आपके सर्वरों पर सिंक्रनाइज़ करें

CI Status Go Report Card Release Version License

📖 पूर्ण दस्तावेज़ीकरण

समस्या

कई सर्वरों पर SSH एक्सेस प्रबंधित करना कष्टदायक है:

  • टीम के सदस्य शामिल होते हैं या छोड़ देते हैं, और आपको हर सर्वर पर authorized_keys अपडेट करना पड़ता है
  • डेवलपर अपनी SSH कुंजियाँ बदलते हैं, और अब आपके पास अपडेट करने के लिए 20 सर्वर हैं
  • आप इन्फ्रास्ट्रक्चर ऐज़ कोड का उपयोग कर रहे हैं, लेकिन SSH कुंजी प्रबंधन अभी भी मैनुअल है
  • कुंजी प्रबंधन के लिए घर पर बनाई गई bash स्क्रिप्ट अक्सर खराब लिखी जाती हैं, असुरक्षित होती हैं, या उनमें सूक्ष्म बग होते हैं जो आपको आपके सर्वरों से लॉक आउट कर सकते हैं
  • आप GitHub/GitLab कुंजियों का उपयोग करना चाहते हैं, लेकिन उन्हें हर जगह कॉपी करना थकाऊ है

समाधान

AuthKeySync एक हल्का CLI है जो URLs (GitHub, GitLab, आपका अपना API) से SSH सार्वजनिक कुंजियाँ प्राप्त करता है और उन्हें आपके सर्वरों पर सिंक करता है। यह सुरक्षित, विश्वसनीय और स्वचालन के लिए डिज़ाइन किया गया है।

root@kitploit:~
# /etc/authkeysync/config.yaml
users:
  - username: "deploy"
    sources:
      - url: "https://github.com/your-username.keys"
      - url: "https://github.com/another-username.keys"

authkeysync चलाएँ (मैन्युअल रूप से या cron के माध्यम से), और आपका authorized_keys अपडेट हो जाता है। बस इतना ही।

मुख्य विशेषताएँ

  • एकल बाइनरी: कोई निर्भरता नहीं, बस डाउनलोड करें और चलाएँ
  • डिफ़ॉल्ट रूप से सुरक्षित: मौजूदा स्थानीय कुंजियों को संरक्षित करता है, बैकअप बनाता है, एटॉमिक राइट्स का उपयोग करता है
  • फेल-सेफ: यदि कोई स्रोत विफल होता है, तो लॉकआउट रोकने के लिए अपडेट रद्द कर दिया जाता है
  • लचीले स्रोत: GitHub, GitLab, या कोई भी URL जो प्लेन टेक्स्ट SSH कुंजियाँ लौटाता है
  • API समर्थन: प्रमाणित APIs के लिए कस्टम हेडर्स के साथ POST अनुरोध
  • IaC-तैयार: स्टेटलेस, आइडेम्पोटेंट, Ansible/Terraform/cloud-init के लिए उपयुक्त
  • क्रॉस-प्लेटफ़ॉर्म: Linux और macOS (AMD64 और ARM64) पर काम करता है

त्वरित आरंभ

1. डाउनलोड करें

releases पेज से नवीनतम बाइनरी प्राप्त करें:

root@kitploit:~
# Linux AMD64
curl -Lo authkeysync https://github.com/eduardolat/authkeysync/releases/latest/download/authkeysync-linux-amd64
chmod +x authkeysync
sudo mv authkeysync /usr/local/bin/

2. कॉन्फ़िगर करें

/etc/authkeysync/config.yaml पर एक कॉन्फ़िग फ़ाइल बनाएँ:

root@kitploit:~
policy:
  backup_enabled: true # Create backups before changes (default: true)
  backup_retention_count: 10 # Number of backups to keep (default: 10)
  preserve_local_keys: true # Keep keys not in remote sources (default: true)

users:
  - username: "root"
    sources:
      - url: "https://github.com/your-username.keys"

3. चलाएँ

root@kitploit:~
# पहले dry-run के साथ परीक्षण करें
sudo authkeysync --dry-run

# परिवर्तन लागू करें
sudo authkeysync

4. स्वचालित करें

समय-समय पर चलाने के लिए cron जॉब या systemd टाइमर सेट करें:

root@kitploit:~
# Every 5 minutes (use --quiet to reduce log noise in cron)
echo "*/5 * * * * root /usr/local/bin/authkeysync --quiet" | sudo tee /etc/cron.d/authkeysync

कॉन्फ़िगरेशन विकल्प

पॉलिसी (सभी वैकल्पिक)

उपयोगकर्ता (आवश्यक)

Option

स्रोत

सभी विकल्पों के साथ उदाहरण

root@kitploit:~
policy:
  backup_enabled: true
  backup_retention_count: 10
  preserve_local_keys: true

users:
  - username: "deploy"
    sources:
      # Simple GitHub keys
      - url: "https://github.com/your-username.keys"

      # Private API with authentication
      - url: "https://keys.yourcompany.com/api/keys"
        method: "POST"
        headers:
          Authorization: "Bearer your-secret-token"
          Content-Type: "application/json"
        body: '{"environment": "production"}'
        timeout_seconds: 5

CLI विकल्प

एग्ज़िट कोड

CodeMeaning
0सफलता: सभी उपयोगकर्ता संसाधित या छोड़े गए
1विफलता: कम से कम एक उपयोगकर्ता सिंक करने में विफल रहा

यह कैसे काम करता है

  1. फ़ेच: कॉन्फ़िगर किए गए URLs से SSH कुंजियाँ डाउनलोड करता है
  2. पार्स: सभी स्रोतों में कुंजियों को मान्य और डीडुप्लिकेट करता है
  3. मर्ज: वैकल्पिक रूप से उन कुंजियों को संरक्षित करता है जो केवल स्थानीय रूप से मौजूद हैं
  4. राइट: उचित अनुमतियों के साथ authorized_keys को एटॉमिक रूप से अपडेट करता है
  5. बैकअप: किसी भी परिवर्तन से पहले टाइमस्टैम्प्ड बैकअप बनाता है

यदि कोई स्रोत फ़ेच करने में विफल रहता है, तो AuthKeySync लॉकआउट रोकने के लिए उस उपयोगकर्ता के लिए अपडेट रद्द कर देता है। आपकी मौजूदा एक्सेस बरकरार रहती है।

प्रोजेक्ट को सपोर्ट करें

यदि आपको AuthKeySync उपयोगी लगता है, तो कृपया इसे GitHub पर स्टार देने और अपडेट के लिए मुझे X (Twitter) पर फ़ॉलो करने पर विचार करें:

  • GitHub पर स्टार करें
  • @eduardoolat को X पर फ़ॉलो करें

लाइसेंस

MIT लाइसेंस। विवरण के लिए LICENSE देखें।

टूल डाउनलोड करें
OptionTypeDefaultDescription
backup_enabledbooltrueauthorized_keys को संशोधित करने से पहले बैकअप बनाएँ
backup_retention_countint10प्रति उपयोगकर्ता रखने के लिए बैकअप फ़ाइलों की संख्या
preserve_local_keysbooltrueमौजूदा कुंजियाँ रखें जो दूरस्थ स्रोतों में नहीं हैं
Type
Required
Description
usernamestringYesसिस्टम उपयोगकर्ता नाम (जैसे, root, deploy)
sourceslistYesकुंजी स्रोतों की सूची
OptionTypeDefaultDescription
urlstring(required)URL जो प्लेन टेक्स्ट SSH कुंजियाँ लौटाता है
methodstringGETHTTP विधि: GET या POST
headersmap{}कस्टम HTTP हेडर्स (जैसे, प्रमाणीकरण के लिए)
bodystring""POST अनुरोधों के लिए अनुरोध बॉडी
timeout_secondsint10सेकंड में अनुरोध टाइमआउट
OptionDescription
--config <path>कॉन्फ़िग फ़ाइल का पथ (डिफ़ॉल्ट: /etc/authkeysync/config.yaml)
--dry-runकिसी भी फ़ाइल को संशोधित किए बिना सिंक का अनुकरण करें
--debugडीबग लॉगिंग सक्षम करें (सबसे अधिक विस्तृत)
--quietकेवल चेतावनियाँ और त्रुटियाँ दिखाएँ (cron के लिए अनुशंसित)
--silentकेवल त्रुटियाँ दिखाएँ (सबसे शांत)
--versionसंस्करण जानकारी दिखाएँ और बाहर निकलें
--helpसहायता संदेश दिखाएँ