A partire da Emacs 24.3, un analogo della vecchia multi:
sintassi è stato sovrapposto tramp-default-proxies-alist
all'approccio moderno , il che significa che puoi ancora una volta eseguire multi-hop senza alcuna configurazione precedente. Per i dettagli, vedere:
C-hig (tramp) Ad-hoc multi-hops
RET
Con la nuova sintassi, ogni "hop" è separato da |
. L'esempio nel manuale è:
C-xC-f /ssh:bird@bastion|ssh:you@remotehost:/path
RET
Che si collega in primo luogo come bird@bastion
, e da lì ayou@remotehost:/path
/ su: o / sudo: su host remoti
Puoi anche usare questa sintassi per sudo / su a root (o ovviamente qualsiasi altro utente) su un host remoto:
C-xC-f /ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Importante : assicurati di specificare il nome host esplicitamente: sudo:remotehost:
anziché sudo::
(vedi sotto).
Poiché questo utilizza ancora il meccanismo proxy sottostante, tramp-default-proxies-alist
ora dovrebbe includere il valore("remotehost" "root" "/ssh:you@remotehost:")
Significa che il proxy /ssh:you@remotehost:
verrà utilizzato ogni volta che richiedi un file come root@remotehost
.
root
è l'utente predefinito per questi metodi, ma ovviamente puoi anche passare a un utente non root con:
C-xC-f /ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Specificare sempre esplicitamente il nome host remoto
Probabilmente siete abituati ad usare sudo::
o su::
e omettendo il nome host. Se rimani sull'host locale, va ancora bene, ma se stai saltando su un server remoto, devi specificare il nome host per ogni hop, anche se è lo stesso dell'hop precedente. Usa sempre sudo:hostname:
o su:hostname:
con host remoti.
La trappola è che sudo::
si fa in realtà sembra funzionare - ma quando fai così la HOST per la voce dinamica delega sarà il nome host si originato dal piuttosto che l'host connessi. Questo non solo sembrerà confuso (poiché nei percorsi dei file verrà visualizzato l'host sbagliato), ma significherà anche che qualsiasi tentativo successivo di utilizzo sudo::
sul tuo host locale verrà invece inviato tramite proxy al server remoto! (e anche il proxy verrebbe presumibilmente bloccato se si facesse la stessa cosa su un secondo server, causando ulteriori problemi).
In breve, non usare ::
quando fai più hop!