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
Я просто выполнил следующие шаги:
- Откройте Emacs с
emacs -Q
- Eval
(require 'tramp)
а также(setq tramp-verbose 10)
- Откройте файл на удаленном сервере, используя
tramp
; Графический интерфейс gnome-keyring-daemon запросил пароль SSH-ключа. - Убил удаленный файл используя
C-x k
- В терминале я бегал
ssh-add -D
и проверил, что пароль больше не кешируется. - Повторно открыл удаленный файл, используя
C-x C-f M-p RET
- Бродяга открыл файл, не спрашивая пароль.
Копия отладочного буфера tramp находится в этой папке.
1 ответ
Кэмп Tramp использует пароли. Вы можете отключить это, setq password-cache nil)