Der einfache Weg wäre die Installation ssh-askpass
. Dies ist das Programm, ssh-add
das ausgeführt wird, wenn sein Standardeingang kein Terminal ist, aber eine X11-Anzeige verfügbar ist. Das Programm ssh-askpass
fordert Sie in einem separaten GUI-Fenster zur Eingabe Ihrer Passphrase auf.
Wenn Sie in Emacs bleiben möchten oder eine Lösung suchen, die funktioniert, unabhängig davon, ob X11 verfügbar ist oder nicht, können Sie Emacs zur Eingabe der Passphrase auffordern. Hier ist ein Lisp-Code (minimal getestet), um dies zu tun.
(defun ssh-add-process-filter (process string)
(save-match-data
(if (string-match ":\\s *\\'" string)
(process-send-string process (concat (read-passwd string) "\n"))
(message "%s" string))))
(defun ssh-add (key-file)
"Run ssh-add to add a key to the running SSH agent.
Let Emacs prompt for the passphrase."
(interactive "fAdd key: \n")
(let ((process-connection-type t)
process)
(unwind-protect
(progn
(setq process (start-process "ssh-add" nil
"ssh-add" (expand-file-name key-file)))
(set-process-filter process 'ssh-add-process-filter)
(while (accept-process-output process)))
(if (eq (process-status process) 'run)
(kill-process process)))))
Gilles 'SO - hör auf böse zu sein'
quelle