¿Por qué TRAMP no puede asumir el host actual para `sudo::`?

Aug 15 2020

¿Hay razones técnicas o casos de uso por los que sudo::TRAMP no puede usar el host más a la derecha a la izquierda, en lugar de localhost?

Cuando lo haga /ssh:[email protected]|sudo::/tmp/file, espero sudo::que use implícitamente [email protected].

De manera más general, cuando se encadenan varios saltos SSH, como en /ssh:jumpbox.example.com|ssh:remote.example.com|sudo::/tmp/file, esperaría sudo::que siempre use el host más a la derecha a la izquierda de sudo::.

Espero esto porque desde la perspectiva de la interfaz de usuario y la experiencia , para mí, este parece ser el comportamiento obviamente más intuitivo y más conveniente para hacerlo.

Pero esto no sucede. En cambio, sudo::parece usar siempre implícitamente root @ el host local.

Entiendo que así es. Lo que no entiendo es ¿por qué? ¿Hay razones técnicas por las que implementar esto sería difícil, o casos de uso común que no imagino que se romperían si se implementara?

Respuestas

2 phils Aug 15 2020 at 09:21

Le alegrará saber que en las versiones de trampas más recientes (incluidas por primera vez en Emacs 27.1), el ::caso funcionará de la manera que desee, de modo que /ssh:you@remotehost|sudo::se reutilizará en remotehostlugar de su propio nombre de host local, por lo que no terminará con una entrada de proxy incorrecta.

Además, los gustos de /ssh:you@remotehost|sudo:localhost:se detectan y marcan como errores de usuario.

Por supuesto, si es probable que use una combinación de versiones de Emacs, debe continuar tratando ::como inseguro cuando se realizan saltos múltiples en general, para evitar posibles contratiempos.

--https://stackoverflow.com/questions/2177687/open-file-via-ssh-and-sudo-with-emacs/16408592#comment94821206_16408592