emacs内の複数のマシンのパスワード/キー管理


10

私は自分の仕事の一部として多数のマシンにログインしています(1日あたり+-20)。私は各マシンで数日/週しか使いません。多くはFTPのみを実行します。

シームレスなアクセスのために、トランプは素晴らしいですが、手間がかかるのは、これらのサーバーのアクセスを手作業で管理することです。

.netrcと.ssh / configを、任意のキーとともに手動で管理しています。多くの場合、パスワード/キーはマシンを使用している間に変更され、ファイルを再編集する必要があります。

emacs内から(マシン/パスワード/キー)を管理するための効果的なソリューションはありますか?

回答:


7

私はpassというシンプルなパスワードマネージャーを使用しています。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)))))

パスは完全に私が探していたものではありませんでしたが、私は自分がエッジケースであると感じているので、あなたの答えを選びました。しかし、あなたの答えはコミュニティにとってはるかに有用です。
Gambo 2014年

@Gamboはgitリポジトリとしても配布するのがかなり簡単です。ただし、キーを配布する必要があります。マルチキーのサポートについては実験していません。
stsquad 2014年

3

Trampは、auth-sourcesバックエンドを使用してパスワードを管理します。.authinfoにいくつかの特殊なエントリが必要です。

 machine melancholia port scp login daniel password geheim

詳細については、Trampマニュアルの「パスワード処理」の章をお読みください。

auth-sourcesには、パスワードエントリをオンザフライで作成するための機能もあります。私はこの機能をTrampで試したことはありませんが、少し調べてみてください。


Tramp 2.4.0以降、Trampはauth-sourcesを介して新しいパスワードも保存します。
Michael Albinus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.