"Tramp failed to connect" to an ssh server (gpg as an ssh agent)
Daniel Krajnik <[email protected]>
| Newsgroups | gmane.emacs.tramp |
|---|---|
| Message-ID | <[email protected]> |
Hi
I'm wondering if anyone is able to use Tramp with a gpg smart card or a
gpg agent that manages the ssh socket (so acts as an ssh agent)?
For me it fails with |file-error "Tramp failed to connect. If this
happens repeatedly, try\n ‘M-x tramp-cleanup-this-connection’"))"|
I tried |tramp-cleanup-this-connection|, but no, that didn't help.
Tramp seems to work locally - I am able to "sudo-this-file" and enter
pin to unlock sudo (it's managed by the smart card U2F pam module).
Any suggestions how to approach debugging this would be very welcome.
Debugger:
|Debugger entered--Lisp error: (file-error "Tramp failed to connect. If
this happens repeated...") apply(debug error (file-error "Tramp failed
to connect. If this happens repeated...")) edebug(error (file-error
"Tramp failed to connect. If this happens repeated..."))
signal(file-error ("Tramp failed to connect. If this happens
repeated...")) tramp-error(nil file-error "Tramp failed to connect. If
this happens repeated...") tramp-signal-hook-function(file-error ("Tramp
failed to connect. If this happens repeated...")) signal(file-error
("Tramp failed to connect. If this happens repeated...")) (edebug-after
(edebug-before 478) 485 (signal (edebug-after (edebug-before 479) 481
(car (edebug-after 0 480 err))) (edebug-after (edebug-before 482) 484
(cdr (edebug-after 0 483 err))))) (condition-case err (edebug-after
(edebug-before 97) 474 (if (edebug-after (edebug-before 98) 100
(process-live-p (edebug-after 0 99 p))) nil (edebug-after (edebug-before
101) 473 (if (or noninteractive inhibit-message) (progn (edebug-after
(edebug-before 133) 472 (catch ... ... ... ... ... ... ... ... ...)))
(tramp-message (edebug-after 0 102 vec) 3 "%s..." (edebug-after
(edebug-before 103) 132 (if ... ... ...))) (let ((cookie "failed") (tm
...)) (unwind-protect (prog1 ... ...) (if tm ...) (tramp-message ... 3
"%s...%s" ... cookie))))))) ((error quit) (edebug-after (edebug-before
475) 477 (tramp-cleanup-connection (edebug-after 0 476 vec) t))
(edebug-after (edebug-before 478) 485 (signal (edebug-after
(edebug-before 479) 481 (car (edebug-after 0 480 err))) (edebug-after
(edebug-before 482) 484 (cdr (edebug-after 0 483 err)))))))
(edebug-after (edebug-before 96) 486 (condition-case err (edebug-after
(edebug-before 97) 474 (if (edebug-after (edebug-before 98) 100
(process-live-p (edebug-after 0 99 p))) nil (edebug-after (edebug-before
101) 473 (if (or noninteractive inhibit-message) (progn (edebug-after
... 472 ...)) (tramp-message (edebug-after 0 102 vec) 3 "%s..."
(edebug-after ... 132 ...)) (let (... ...) (unwind-protect ... ...
...)))))) ((error quit) (edebug-after (edebug-before 475) 477
(tramp-cleanup-connection (edebug-after 0 476 vec) t)) (edebug-after
(edebug-before 478) 485 (signal (edebug-after (edebug-before 479) 481
(car (edebug-after 0 480 err))) (edebug-after (edebug-before 482) 484
(cdr (edebug-after 0 483 err)))))))) (let ((p (edebug-after
(edebug-before 8) 10 (tramp-get-connection-process (edebug-after 0 9
vec)))) (process-name (edebug-after (edebug-before 11) 13
(tramp-get-connection-property (edebug-after 0 12 vec) "process-name")))
(process-environment (edebug-after (edebug-before 14) 16 (copy-sequence
(edebug-after 0 15 process-environment)))) (pos (edebug-after
(edebug-before 17) 23 (save-current-buffer (set-buffer (edebug-after
(edebug-before 18) 20 (tramp-get-connection-buffer ...))) (edebug-after
(edebug-before 21) 22 (point)))))) (edebug-after (edebug-before 24) 58
(if (edebug-after (edebug-before 25) 55 (or (edebug-after (edebug-before
26) 28 (process-live-p (edebug-after 0 27 p))) (edebug-after
(edebug-before 29) 36 (and (edebug-after ... 32 ...) (edebug-after ...
35 ...))) (edebug-after (edebug-before 37) 44 (not (edebug-after ... 43
...))) (edebug-after (edebug-before 45) 54 (time-less-p (edebug-after
... 50 ...) (edebug-after ... 53 ...))))) nil (edebug-after
(edebug-before 56) 57 (throw 'suppress 'suppress)))) (edebug-after
(edebug-before 59) 95 (condition-case nil (edebug-after (edebug-before
60) 89 (if (edebug-after (edebug-before 61) 72 (and (edebug-after ... 68
...) (edebug-after ... 71 ...))) (progn (edebug-after (edebug-before 73)
75 (tramp-send-command ... "echo are you awake" t t)) (edebug-after
(edebug-before 76) 88 (if ... nil ...))))) (file-error (edebug-after
(edebug-before 90) 92 (tramp-cleanup-connection (edebug-after 0 91 vec)
t)) (edebug-after (edebug-before 93) 94 (setq p nil))))) (edebug-after
(edebug-before 96) 486 (condition-case err (edebug-after (edebug-before
97) 474 (if (edebug-after (edebug-before 98) 100 (process-live-p
(edebug-after 0 99 p))) nil (edebug-after (edebug-before 101) 473 (if
(or noninteractive inhibit-message) (progn ...) (tramp-message ... 3
"%s..." ...) (let ... ...))))) ((error quit) (edebug-after
(edebug-before 475) 477 (tramp-cleanup-connection (edebug-after 0 476
vec) t)) (edebug-after (edebug-before 478) 485 (signal (edebug-after
(edebug-before 479) 481 (car ...)) (edebug-after (edebug-before 482) 484
(cdr ...)))))))) (edebug-after (edebug-before 7) 487 (let ((p
(edebug-after (edebug-before 8) 10 (tramp-get-connection-process
(edebug-after 0 9 vec)))) (process-name (edebug-after (edebug-before 11)
13 (tramp-get-connection-property (edebug-after 0 12 vec)
"process-name"))) (process-environment (edebug-after (edebug-before 14)
16 (copy-sequence (edebug-after 0 15 process-environment)))) (pos
(edebug-after (edebug-before 17) 23 (save-current-buffer (set-buffer
(edebug-after ... 20 ...)) (edebug-after (edebug-before 21) 22
(point)))))) (edebug-after (edebug-before 24) 58 (if (edebug-after
(edebug-before 25) 55 (or (edebug-after (edebug-before 26) 28
(process-live-p ...)) (edebug-after (edebug-before 29) 36 (and ... ...))
(edebug-after (edebug-before 37) 44 (not ...)) (edebug-after
(edebug-before 45) 54 (time-less-p ... ...)))) nil (edebug-after
(edebug-before 56) 57 (throw 'suppress 'suppress)))) (edebug-after
(edebug-before 59) 95 (condition-case nil (edebug-after (edebug-before
60) 89 (if (edebug-after (edebug-before 61) 72 (and ... ...)) (progn
(edebug-after ... 75 ...) (edebug-after ... 88 ...)))) (file-error
(edebug-after (edebug-before 90) 92 (tramp-cleanup-connection
(edebug-after 0 91 vec) t)) (edebug-after (edebug-before 93) 94 (setq p
nil))))) (edebug-after (edebug-before 96) 486 (condition-case err
(edebug-after (edebug-before 97) 474 (if (edebug-after (edebug-before
98) 100 (process-live-p ...)) nil (edebug-after (edebug-before 101) 473
(if ... ... ... ...)))) ((error quit) (edebug-after (edebug-before 475)
477 (tramp-cleanup-connection (edebug-after 0 476 vec) t)) (edebug-after
(edebug-before 478) 485 (signal (edebug-after ... 481 ...) (edebug-after
... 484 ...)))))))) (closure ((vec tramp-file-name "ssh" nil nil
"128.40.123.56" "48273" "" nil)) nil (edebug-after (edebug-before 0) 6
(if (edebug-after (edebug-before 1) 3 (tramp-connectable-p (edebug-after
0 2 vec))) nil (edebug-after (edebug-before 4) 5 (throw 'non-essential
'non-essential)))) (edebug-after (edebug-before 7) 487 (let ((p
(edebug-after (edebug-before 8) 10 (tramp-get-connection-process
(edebug-after 0 9 vec)))) (process-name (edebug-after (edebug-before 11)
13 (tramp-get-connection-property (edebug-after 0 12 vec)
"process-name"))) (process-environment (edebug-after (edebug-before 14)
16 (copy-sequence (edebug-after 0 15 process-environment)))) (pos
(edebug-after (edebug-before 17) 23 (save-current-buffer (set-buffer
...) (edebug-after ... 22 ...))))) (edebug-after (edebug-before 24) 58
(if (edebug-after (edebug-before 25) 55 (or (edebug-after ... 28 ...)
(edebug-after ... 36 ...) (edebug-after ... 44 ...) (edebug-after ... 54
...))) nil (edebug-after (edebug-before 56) 57 (throw 'suppress
'suppress)))) (edebug-after (edebug-before 59) 95 (condition-case nil
(edebug-after (edebug-before 60) 89 (if (edebug-after ... 72 ...) (progn
... ...))) (file-error (edebug-after (edebug-before 90) 92
(tramp-cleanup-connection ... t)) (edebug-after (edebug-before 93) 94
(setq p nil))))) (edebug-after (edebug-before 96) 486 (condition-case
err (edebug-after (edebug-before 97) 474 (if (edebug-after ... 100 ...)
nil (edebug-after ... 473 ...))) ((error quit) (edebug-after
(edebug-before 475) 477 (tramp-cleanup-connection ... t)) (edebug-after
(edebug-before 478) 485 (signal ... ...))))))))()
edebug-default-enter(tramp-maybe-open-connection ((tramp-file-name "ssh"
nil nil "128.40.123.56" "48273" "" nil)) (closure ((vec tramp-file-name
"ssh" nil nil "128.40.123.56" "48273" "" nil)) nil (edebug-after
(edebug-before 0) 6 (if (edebug-after (edebug-before 1) 3
(tramp-connectable-p (edebug-after 0 2 vec))) nil (edebug-after
(edebug-before 4) 5 (throw 'non-essential 'non-essential))))
(edebug-after (edebug-before 7) 487 (let ((p (edebug-after
(edebug-before 8) 10 (tramp-get-connection-process ...))) (process-name
(edebug-after (edebug-before 11) 13 (tramp-get-connection-property ...
"process-name"))) (process-environment (edebug-after (edebug-before 14)
16 (copy-sequence ...))) (pos (edebug-after (edebug-before 17) 23
(save-current-buffer ... ...)))) (edebug-after (edebug-before 24) 58 (if
(edebug-after (edebug-before 25) 55 (or ... ... ... ...)) nil
(edebug-after (edebug-before 56) 57 (throw ... ...)))) (edebug-after
(edebug-before 59) 95 (condition-case nil (edebug-after (edebug-before
60) 89 (if ... ...)) (file-error (edebug-after ... 92 ...) (edebug-after
... 94 ...)))) (edebug-after (edebug-before 96) 486 (condition-case err
(edebug-after (edebug-before 97) 474 (if ... nil ...)) ((error quit)
(edebug-after ... 477 ...) (edebug-after ... 485 ...))))))))
edebug-enter(tramp-maybe-open-connection ((tramp-file-name "ssh" nil nil
"128.40.123.56" "48273" "" nil)) (closure ((vec tramp-file-name "ssh"
nil nil "128.40.123.56" "48273" "" nil)) nil (edebug-after
(edebug-before 0) 6 (if (edebug-after (edebug-before 1) 3
(tramp-connectable-p (edebug-after 0 2 vec))) nil (edebug-after
(edebug-before 4) 5 (throw 'non-essential 'non-essential))))
(edebug-after (edebug-before 7) 487 (let ((p (edebug-after
(edebug-before 8) 10 (tramp-get-connection-process ...))) (process-name
(edebug-after (edebug-before 11) 13 (tramp-get-connection-property ...
"process-name"))) (process-environment (edebug-after (edebug-before 14)
16 (copy-sequence ...))) (pos (edebug-after (edebug-before 17) 23
(save-current-buffer ... ...)))) (edebug-after (edebug-before 24) 58 (if
(edebug-after (edebug-before 25) 55 (or ... ... ... ...)) nil
(edebug-after (edebug-before 56) 57 (throw ... ...)))) (edebug-after
(edebug-before 59) 95 (condition-case nil (edebug-after (edebug-before
60) 89 (if ... ...)) (file-error (edebug-after ... 92 ...) (edebug-after
... 94 ...)))) (edebug-after (edebug-before 96) 486 (condition-case err
(edebug-after (edebug-before 97) 474 (if ... nil ...)) ((error quit)
(edebug-after ... 477 ...) (edebug-after ... 485 ...))))))))
tramp-maybe-open-connection((tramp-file-name "ssh" nil nil
"128.40.123.56" "48273" "" nil)) tramp-send-command((tramp-file-name
"ssh" nil nil "128.40.123.56" "48273" "" nil) "echo ~ 2>/dev/null; echo
tramp_exit_status $?") tramp-send-command-and-check((tramp-file-name
"ssh" nil nil "128.40.123.56" "48273" "" nil) "echo ~")
tramp-sh-handle-get-home-directory((tramp-file-name "ssh" nil nil
"128.40.123.56" "48273" "" nil) "")
apply(tramp-sh-handle-get-home-directory ((tramp-file-name "ssh" nil nil
"128.40.123.56" "48273" "" nil) ""))
tramp-sh-file-name-handler(tramp-get-home-directory (tramp-file-name
"ssh" nil nil "128.40.123.56" "48273" "" nil) "")
apply(tramp-sh-file-name-handler tramp-get-home-directory
((tramp-file-name "ssh" nil nil "128.40.123.56" "48273" "" nil) ""))
(edebug-after (edebug-before 68) 72 (apply (edebug-after 0 69 foreign)
(edebug-after 0 70 operation) (edebug-after 0 71 args))) (catch
'suppress (edebug-after (edebug-before 68) 72 (apply (edebug-after 0 69
foreign) (edebug-after 0 70 operation) (edebug-after 0 71 args)))) ...|
Best wishes,
Daniel
OpenPGP_0xCFC60FFCAAEC3A7D.asc
(application/pgp-keys, 1.3 KB)
-----BEGIN PGP PUBLIC KEY BLOCK----- xjMEZEwmuBYJKwYBBAHaRw8BAQdAUSPhBHvM5HVLqdnnA8UFqDYIWHxw1HlnUD4d vvKhXFjNJkRhbmllbCBLcmFqbmlrIDxrcmFqbmlrLmRhbkBnbWFpbC5jb20+wpAE ExYIADgWIQROikqEcL7GbFTtzbDPxg/8quw6fQUCZEwmuAIbAQULCQgHAgYVCgkI CwIEFgIDAQIeAQIXgAAKCRDPxg/8quw6fUtVAP9He/b8gOLZa/tmVHIwU3sqJv9m A95Wu8+DckHwPiPmngD9HIhe8IDS/CILzYKnLU05SoR7c8nXSY1JAnJp057uQAfO MwRkTChFFgkrBgEEAdpHDwEBB0B3G+ZMHI5hXPw/ixIhVCGnb41SQF+flGXB8mnD mVA+RMLANQQYFggAJhYhBE6KSoRwvsZsVO3NsM/GD/yq7Dp9BQJkTChFAhsCBQkB 4TOAAIEJEM/GD/yq7Dp9diAEGRYIAB0WIQQUEHvti7oyCbklIY8cJKqm/xtZBAUC ZEwoRQAKCRAcJKqm/xtZBHStAQCeRXVN9X7BJmcjxEDe4cXP7pkHpidjjX4mr3TO MJDZOQEAgmNhLJVjEREIQwyhw4Ws7VwWUaIyFPN1N/g0QtRGvAxkCQD5AVNx+V07 oTpOwdIZ/L4V+jK1c8VQaIA04ddLOMCyOC0BAOfb2WXu6iWxlrDqEoSgc8pC4tYq lU7jO5VV7xQc7IoMzjgEZEwo3hIKKwYBBAGXVQEFAQEHQGOa8m4s8shclIl5F8SF DN+2xg+vW1PZAqyo8nV8s7dPAwEIB8J+BBgWCAAmFiEETopKhHC+xmxU7c2wz8YP /KrsOn0FAmRMKN4CGwwFCQHhM4AACgkQz8YP/KrsOn3fHAD+NqIqRUMm6Jxar0ck KvBnhYWp+jBNLc71oZF4TJAsdhIA/RVutRg7GVFhAWl1om2cu2aZlAXBp6lWzUTg +xEU7ZQNzjMEZEwpbxYJKwYBBAHaRw8BAQdAnmF552EV6XsamdaD7XNJiv0P071X K5kaJxXwPRBaOFnCfgQYFggAJhYhBE6KSoRwvsZsVO3NsM/GD/yq7Dp9BQJkTClv AhsgBQkB4TOAAAoJEM/GD/yq7Dp9C4oA/RIgCO4Sul8MRKIRzzP1TheByb6lEwqM OFh7JvFwhuDBAP9b5uqNaYGN1Wik4XjguXFcICVrWf/NwcPpShPqoSpxAQ== =UtN6 -----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc
(application/pgp-signature, 228 B)
-----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQQUEHvti7oyCbklIY8cJKqm/xtZBAUCZPoKkQAKCRAcJKqm/xtZ BHbbAQD7HwircE26zRrBZWrorDg9+UL2PxpfGumujucppmNqAwD/bOhQ0bXnyoqG jfQZhKG40D+WRls2/2y2TSGdPqlM/Q8= =O0fK -----END PGP SIGNATURE-----