¿Por qué TRAMP no puede asumir el host actual para `sudo::`?
¿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
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 remotehost
lugar 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