A partir de Emacs 24.3, un análogo de la multi:
sintaxis antigua se ha superpuesto al tramp-default-proxies-alist
enfoque moderno , lo que significa que puede volver a realizar saltos múltiples sin ninguna configuración previa. Para obtener más detalles, consulte:
C-hig (tramp) Ad-hoc multi-hops
RET
Con la nueva sintaxis, cada 'salto' está separado por |
. El ejemplo del manual es:
C-xC-f /ssh:bird@bastion|ssh:you@remotehost:/path
RET
Que se conecta en primer lugar como bird@bastion
, y de ahí ayou@remotehost:/path
/ su: o / sudo: en hosts remotos
También puede usar esta sintaxis para sudo / su a root (o por supuesto a cualquier otro usuario) en un host remoto:
C-xC-f /ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Importante : asegúrese de especificar el nombre de host explícitamente: en sudo:remotehost:
lugar de sudo::
(ver más abajo).
Como esto todavía usa el mecanismo de proxy debajo, tramp-default-proxies-alist
ahora debería incluir el valor("remotehost" "root" "/ssh:you@remotehost:")
Lo que significa que el proxy /ssh:you@remotehost:
se utilizará siempre que solicite un archivo como root@remotehost
.
root
es el usuario predeterminado para estos métodos, pero, por supuesto, también puede cambiar a un usuario no root con:
C-xC-f /ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Siempre especifique explícitamente el nombre de host remoto
Probablemente esté acostumbrado a usar sudo::
u su::
omitir el nombre de host. Si se queda en el host local, esto todavía está bien, pero si está saltando a un servidor remoto, debe especificar el nombre de host para cada salto, incluso si es el mismo que para el salto anterior. Utilice siempre sudo:hostname:
o su:hostname:
con hosts remotos.
La trampa es que sudo::
qué aparecen realmente a trabajar - sin embargo cuando se hace eso el anfitrión de la entrada dinámica de proxy será el nombre de host que originó a partir de en vez de que el anfitrión conectado. Esto no solo parecerá confuso (ya que se mostrará el host incorrecto en las rutas de archivo), sino que también significará que cualquier intento posterior de usarlo sudo::
en su host local se enviará al servidor remoto. (y presumiblemente el proxy también se vería afectado si hiciera lo mismo en un segundo servidor, lo que provocaría más problemas).
En resumen, ¡no lo use ::
cuando tenga varios saltos!