Depuis Emacs 24.3, un analogue de l'ancienne multi:
syntaxe a été superposé à l' tramp-default-proxies-alist
approche moderne , ce qui signifie que vous pouvez à nouveau effectuer des multi-sauts sans aucune configuration préalable. Pour plus de détails, consultez:
C-hig (tramp) Ad-hoc multi-hops
RET
Avec la nouvelle syntaxe, chaque «saut» est séparé par |
. L'exemple du manuel est:
C-xC-f /ssh:bird@bastion|ssh:you@remotehost:/path
RET
Qui se connecte d'abord comme bird@bastion
, et de là àyou@remotehost:/path
/ su: ou / sudo: sur les hôtes distants
Vous pouvez également utiliser cette syntaxe pour sudo / su vers root (ou bien sûr tout autre utilisateur) sur un hôte distant:
C-xC-f /ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Important : assurez-vous de spécifier explicitement le nom d'hôte: sudo:remotehost:
plutôt que sudo::
(voir ci-dessous).
Comme cela utilise toujours le mécanisme de proxy en dessous, tramp-default-proxies-alist
devrait maintenant inclure la valeur("remotehost" "root" "/ssh:you@remotehost:")
Cela signifie que le proxy /ssh:you@remotehost:
sera utilisé chaque fois que vous demanderez un fichier en tant que root@remotehost
.
root
est l'utilisateur par défaut pour ces méthodes, mais vous pouvez bien sûr également passer à un utilisateur non root avec:
C-xC-f /ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Spécifiez toujours explicitement le nom d'hôte distant
Vous avez probablement l'habitude d'utiliser sudo::
ou su::
et d'omettre le nom d'hôte. Si vous restez sur l'hôte local, c'est toujours bien, mais si vous sautez vers un serveur distant, vous devez spécifier le nom d'hôte pour chaque saut - même s'il est le même que pour le saut précédent. Utilisez toujours sudo:hostname:
ou su:hostname:
avec des hôtes distants.
Le piège ici est que sudo::
cela semble réellement fonctionner - cependant, lorsque vous faites cela, l'hôte de l'entrée de proxy dynamique sera le nom d'hôte dont vous êtes originaire plutôt que l'hôte auquel vous vous êtes connecté. Cela ne semblera pas seulement déroutant (car le mauvais hôte sera affiché dans les chemins de fichiers), mais cela signifiera également que toute tentative d'utilisation ultérieure sudo::
sur votre hôte local sera à la place envoyée par proxy au serveur distant! (et le proxy serait également vraisemblablement écrasé si vous faisiez la même chose sur un deuxième serveur, causant d'autres problèmes).
Bref, ne l'utilisez pas ::
lorsque vous multi-hop!