emacs tramp работает с gnome-keyring-daemon

Сейчас у меня есть gnome-keyring-daemon установить для запуска при входе в систему. Если я бегу emacs -q а затем открыть файл на сервере с помощью M-x find-file а затем введите файл на удаленном сервере, например /ssh:user@server:/home/user/.bashrc, затем появляется графический интерфейс и запрашивает пароль моего закрытого ключа ssh. Я ввожу правильный пароль, и файл открывается отлично.

Однако если gnome-keyring-daemon срок действия пароля истекает из набора ключей, emacs по-прежнему разрешает подключение к файлу без ввода пароля. Например, скажем, я открываю удаленный файл, а затем убиваю файл C-x k, Затем я иду в терминал и набираю ssh-add -D, Я могу убедиться, что это заставит брелок забыть пароль, запустив ssh localhost (GUI всплывает и запрашивает пароль.) Но если я попытаюсь повторно открыть удаленный файл в Emacs, используя C-x C-f M-p RET, файл открывается без пароля.

Бег tramp-cleanup-all-connections устраняет эту проблему, т. е. агент правильно запросит пароль, если ключ отсутствует в связке ключей. настройка tramp-persistency-file-name в nil не похоже, чтобы изменить поведение.

Какой эффективный способ решить эту проблему? Я бегу tramp-cleanup-all-connections на каком-то крючке? Может по таймеру? Влияет ли использование этой функции на будущие соединения бродяги?

  • emacs-версия: GNU Emacs 24.3.1
  • бродяга-версия: 2.2.6-24.3
  • gnome-keyring-daemon --version: 3.2.2

РЕДАКТИРОВАТЬ

Я сейчас на другом компьютере с новыми версиями соответствующих пакетов, но я все еще вижу то же самое поведение.

  • emacs-версия: GNU Emacs 24.4.2
  • бродяга-версия: 2.2.9-24.4
  • gnome-keyring-daemon --version: 3.10.1

Я просто выполнил следующие шаги:

  1. Откройте Emacs с emacs -Q
  2. Eval (require 'tramp) а также (setq tramp-verbose 10)
  3. Откройте файл на удаленном сервере, используя tramp; Графический интерфейс gnome-keyring-daemon запросил пароль SSH-ключа.
  4. Убил удаленный файл используя C-x k
  5. В терминале я бегал ssh-add -D и проверил, что пароль больше не кешируется.
  6. Повторно открыл удаленный файл, используя C-x C-f M-p RET
  7. Бродяга открыл файл, не спрашивая пароль.

Копия отладочного буфера tramp находится в этой папке.

1 ответ

Кэмп Tramp использует пароли. Вы можете отключить это, setq password-cache nil)

Другие вопросы по тегам