Mulai Emacs 24.3, analog dari multi:
sintaks lama telah dilapisi di atas tramp-default-proxies-alist
pendekatan modern , yang berarti bahwa Anda dapat sekali lagi melakukan multi-hop tanpa konfigurasi sebelumnya. Untuk detailnya, lihat:
C-hig (tramp) Ad-hoc multi-hops
RET
Dengan sintaks baru, setiap 'hop' dipisahkan oleh |
. Contoh di manual adalah:
C-xC-f /ssh:bird@bastion|ssh:you@remotehost:/path
RET
Yang menghubungkan pertama sebagai bird@bastion
, dan dari sana keyou@remotehost:/path
/ su: atau / sudo: di host jarak jauh
Anda juga dapat menggunakan sintaks ini untuk sudo / su ke root (atau tentu saja pengguna lain) pada host jarak jauh:
C-xC-f /ssh:you@remotehost|sudo:remotehost:/path/to/file
RET
Penting : pastikan untuk menentukan nama host secara eksplisit: sudo:remotehost:
daripada sudo::
(lihat di bawah).
Karena ini masih menggunakan mekanisme proxy di bawahnya, tramp-default-proxies-alist
sekarang harus menyertakan nilainya("remotehost" "root" "/ssh:you@remotehost:")
Artinya proxy /ssh:you@remotehost:
akan digunakan setiap kali Anda meminta file sebagai root@remotehost
.
root
adalah pengguna default untuk metode ini, tetapi tentu saja Anda juga dapat mengubah ke pengguna non-root dengan:
C-xC-f /ssh:you@remotehost|sudo:them@remotehost:/path/to/file
RET
Selalu tentukan nama host jarak jauh secara eksplisit
Anda mungkin terbiasa menggunakan sudo::
atau su::
dan menghilangkan nama host. Jika Anda tetap menggunakan localhost maka ini masih baik-baik saja, tetapi jika Anda berpindah ke server jauh maka Anda harus menentukan nama host untuk setiap hop - bahkan jika itu sama dengan hop sebelumnya. Selalu gunakan sudo:hostname:
atau su:hostname:
dengan host jarak jauh.
Perangkap di sini adalah yang benar sudo::
- benar tampak berfungsi - namun ketika Anda melakukannya, HOST untuk entri proxy dinamis adalah nama host tempat Anda berasal, bukan host tempat Anda terhubung. Ini tidak hanya akan terlihat membingungkan (karena host yang salah akan ditampilkan di jalur file), tetapi ini juga berarti bahwa setiap upaya berikutnya untuk digunakan sudo::
di localhost Anda akan di-proxy-kan ke server jarak jauh! (dan proxy juga mungkin akan terhalang jika Anda melakukan hal yang sama di server kedua, menyebabkan masalah lebih lanjut).
Singkatnya, jangan gunakan ::
saat Anda melakukan multi-hop!