A partir do Emacs 24.3, um análogo do antigo multi:
sintaxe foi colocado em camadas sobre a tramp-default-proxies-alist
abordagem moderna , o que significa que você pode mais uma vez realizar vários saltos sem qualquer configuração anterior. Para obter detalhes, consulte:
C-hig (tramp) Ad-hoc multi-hops
RET
Com a nova sintaxe, cada 'salto' é separado por |
. O exemplo no manual é:
C-xC-f /ssh:bird@bastion|ssh:you@remotehost:/path
RET
Que conecta primeiro como bird@bastion
, e de lá parayou@remotehost:/path
/ su: ou / sudo: em hosts remotos
Você também pode usar esta sintaxe para sudo / su para fazer root (ou, claro, qualquer outro usuário) em um host remoto:
C-xC-f /ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Importante : certifique-se de especificar o nome do host explicitamente: em sudo:remotehost:
vez de sudo::
(veja abaixo).
Como ele ainda usa o mecanismo de proxy por baixo, tramp-default-proxies-alist
agora deve incluir o valor("remotehost" "root" "/ssh:you@remotehost:")
O que significa que o proxy /ssh:you@remotehost:
será usado sempre que você solicitar um arquivo como root@remotehost
.
root
é o usuário padrão para esses métodos, mas é claro que você também pode mudar para um usuário não root com:
C-xC-f /ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Sempre especifique o nome do host remoto explicitamente
Você provavelmente está acostumado a usar sudo::
ou su::
e omitir o nome do host. Se você estiver hospedado no host local, tudo bem, mas se estiver pulando para um servidor remoto, você deve especificar o nome do host para cada salto - mesmo que seja o mesmo do salto anterior. Sempre use sudo:hostname:
ou su:hostname:
com hosts remotos.
A armadilha aqui é que sudo::
se realmente aparecer para o trabalho - no entanto , quando você faz que o host para a entrada de proxy dinâmico será o nome do host que você se originou a partir de em vez do anfitrião você conectado. Isso não só parecerá confuso (já que o host errado será exibido nos caminhos do arquivo), mas também significará que qualquer tentativa subsequente de usarsudo::
em seu host local será transferida por proxy para o servidor remoto! (e o proxy provavelmente também seria destruído se você fizesse a mesma coisa em um segundo servidor, causando mais problemas).
Resumindo, não use ::
quando você multi-hop!