Emacs में कई मशीनों के लिए पासवर्ड / कुंजी प्रबंधन


10

मैं अपनी नौकरी (+ - २० प्रति दिन) के हिस्से के रूप में कई मशीनों में प्रवेश करता हूं। मैं केवल प्रत्येक मशीन के साथ कुछ दिन / सप्ताह बिताता हूं। कई तो केवल ftp चलाते हैं।

निर्बाध पहुंच के लिए ट्रैंप अद्भुत है, लेकिन यह इन सर्वरों की पहुंच का प्रबंधन हाथ से करता है जो थकाऊ हो गया है।

मैं किसी भी कुंजी के साथ .netrc और a .ssh / config हाथ से प्रबंधित करता हूं। अक्सर मशीन के साथ मेरे समय के दौरान एक पासवर्ड / कुंजी बदल जाएगी, और मुझे फ़ाइलों को फिर से संपादित करना होगा।

क्या emacs के भीतर से (मशीनों / पासवर्ड / कुंजी) के प्रबंधन के लिए एक प्रभावी समाधान है?

जवाबों:


7

मैं पास के नाम से एक सरल पासवर्ड मैनेजर का उपयोग करता हूं । यह एक सरल कमांड लाइन इंटरफ़ेस प्रदान करता है, जो Emacs के साथ एकीकरण के लिए आदर्श है। बैकिंग स्टोर एक GPG एन्क्रिप्टेड GIT रेपो है। यह वास्तव में एक Emacs पैकेज के साथ जहाज है, हालांकि मैं इसका उपयोग नहीं करता। मेरा इंटरफ़ेस सरल है:

(defun my-fixup-gpg-agent (frame)
  "Tweak DISPLAY and GPG_TTY environment variables as appropriate to `FRAME'."
  (when (fboundp 'keychain-refresh-environment)
    (keychain-refresh-environment))
  (if (display-graphic-p frame)
      (setenv "DISPLAY" (terminal-name frame))
    (setenv "GPG_TTY" (terminal-name frame))
    (setenv "DISPLAY" nil)))

(add-hook 'after-make-frame-functions 'my-fixup-gpg-agent)

;; Simple caching
(defvar my-cached-passwords
  nil
  "Cache of passwords. Stored in plain text so you only want to cache
  them if of low value.")

(defun my-pass-password (pass-name &optional cache)
  "Return the password for the `PASS-NAME'."
  (let ((cached-pass (assoc-default pass-name my-cached-passwords)))
    (if cached-pass
        cached-pass
      (when (selected-frame)
        (my-fixup-gpg-agent (selected-frame))
        (let ((new-pass (chomp
                         (shell-command-to-string
                          (format "pass %s" pass-name)))))
          (when (and new-pass cache)
            (add-to-list 'my-cached-passwords (cons pass-name new-pass)))
          new-pass)))))

पास पूरी तरह से नहीं था जो मैं ढूंढ रहा था, लेकिन मैंने आपका जवाब चुना क्योंकि मुझे लगता है कि मेरा एक किनारा मामला है। लेकिन आपका जवाब समुदाय के लिए कहीं अधिक उपयोगी है।
गैंबो

@ अच्छी तरह से एक git रेपो के रूप में यह वितरित करने के लिए काफी आसान है। हालांकि आपको चाबियाँ वितरित करने की आवश्यकता है। मैंने इसे बहु-कुंजी समर्थन के साथ प्रयोग नहीं किया है।
22

3

पासवर्ड को प्रबंधित करने के लिए ट्रम्प ऑउट-सोर्स बैकएंड का उपयोग करता है। इसमें .authinfo, जैसे कुछ विशेष प्रविष्टियों की आवश्यकता है

 machine melancholia port scp login daniel password geheim

विवरण के लिए, ट्रैंप मैनुअल, अध्याय "पासवर्ड हैंडलिंग" पढ़ें।

पासवर्ड-प्रविष्टियां ऑन-द-फ्लाई बनाने के लिए ऑर्टिकल-सोर्स में कुछ कार्यक्षमता भी है। मैंने ट्रम्प के साथ इस कार्यक्षमता की कोशिश कभी नहीं की है, लेकिन शायद आप थोड़ी जांच करते हैं।


Tramp 2.4.0 के साथ शुरू, Tramp ऑर्ट-सोर्स के माध्यम से नए पासवर्ड भी बचाता है।
माइकल एल्बिनस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.