Pelayan peribadi yang sama menjawab melalui VPN yang diluluskan dan melalui bastion yang diluluskan, dan anda mahu satu penanda buku Emacs untuk setiap satu dan bukannya jalan pintas yang meneka. Keputusan bukanlah laluan mana yang lebih baik; iaitu laluan mana yang dibenarkan untuk kerja di hadapan anda. Kekalkan kedua-duanya secara eksplisit, namakan mereka secara berasingan, dan biarkan nama fail menyatakan yang mana anda pilih.

Syarat satu: laluan mana yang diluluskan?

Hos lompat bukan pengganti automatik bagi keperluan VPN, dan VPN bukan lesen untuk melangkau bastion yang diluluskan. Tanya laluan mana yang dibenarkan untuk akaun anda dan untuk data ini. Jika kedua-duanya dibenarkan, anda ada pilihan; jika hanya satu, set penanda buku mempunyai satu entri. Jawapan itu datang daripada pemilik data, bukan daripada laluan yang kebetulan berfungsi hari ini.

Tuliskan jawapannya, kerana perbezaan itu hilang dengan cepat semasa insiden.

Kedua-dua laluan juga memerlukan konfigurasi akaun dan identiti mereka sendiri. Alias kongsi yang berfungsi melalui satu laluan boleh gagal melalui yang lain atas sebab yang tiada kaitan dengan rangkaian.

Syarat dua: bolehkah anda menamakan setiap laluan secara berbeza?

Konfigurasi SSH boleh memegang dua alias hos untuk satu alamat, masing-masing dengan tingkah laku proksi yang berbeza. Letakkan blok khusus sebelum mana-mana kad liar yang luas, kerana nilai pertama yang diperoleh menang untuk kebanyakan pilihan.

Host proj-direct proj-bastion
    HostName 10.60.0.21
    User analyst
    ControlPath none

Host proj-direct
    ProxyJump none

Host proj-bastion
    ProxyJump gw.example.com

Alamat di atas ialah contoh; gantikannya dengan alamat yang didokumenkan oleh pasukan anda. Alias lompat juga memerlukan akaun bastion yang diluluskan, yang biasanya bermaksud blok Host kedua untuk bastion itu sendiri. Mematikan perkongsian sambungan di sini mengekalkan perbandingan laluan secara jujur, kerana sambungan berbilang yang digunakan semula boleh hidup lebih lama daripada perubahan laluan yang anda cuba perhatikan.

Kemudian nama fail jauh kekal berbeza dan boleh dibaca.

/ssh:proj-direct:/srv/project/README.md
/ssh:proj-bastion:/srv/project/README.md

Syarat tiga: adakah editor tahu perbezaannya?

TRAMP menganggap kedua-dua nama fail itu sebagai destinasi yang berbeza, dan itulah yang anda mahukan. Tandakan setiap satu di bawah nama yang menyatakan laluan mana yang digunakannya, dan buka semula penanda buku itu dan bukannya mengedit makna satu destinasi. Dua penanda buku juga menjadikan perbandingan kelihatan: anda boleh membuka kedua-duanya dan melihat yang mana gagal tanpa mengubah sebarang konfigurasi.

Satu tetapan patut diberi perhatian apabila ProxyJump terlibat: perkongsian sambungan TRAMP mesti dimatikan untuk sambungan berkenaan, jadi tetapkan tramp-use-connection-share kepada nil sebelum membukanya. Ia tetapan keserasian, bukan pembaikan bagi laluan yang hilang, dan ia tidak menjadikan laluan yang tidak dibenarkan sebagai dibenarkan. Soalan lazim TRAMP mendokumenkan penanda buku sebagai cara yang disokong untuk memendekkan nama-nama ini.

Penanda buku yang menukar laluan secara senyap lebih buruk daripada tiada penanda buku langsung.

Mengapa ikon rangkaian tidak membuktikan apa-apa

Nilai status keseluruhan 70 NetworkManager bermaksud mesin mempunyai kesambungan global. Ia tidak menamakan mana-mana profil VPN, dan Wi-Fi biasa memenuhinya. Terowong khusus rangkaian peribadi yang membawa tepat laluan yang anda perlukan boleh membiarkan nilai agregat itu tidak disentuh. Itulah sebabnya jalan pintas yang terikat pada ikon boleh melaporkan kesediaan untuk laluan yang tidak pernah diujinya.

Baca status sambungan tertentu dan bukannya yang global.

Jika anda mengautomasikan sesuatu, tanya sambungan yang dinamakan, kemudian semak laluan sasaran, jawapan penyelesai dan kebolehcapaian SSH dalam susunan itu. Setiap satu boleh gagal semasa yang sebelumnya berjaya, dan meruntuhkan semuanya menjadi satu boolean ialah cara automasi akhirnya melaporkan kejayaan untuk laluan yang tidak pernah digunakannya.

Apa yang perlu dilakukan apabila sesuatu laluan berhenti berfungsi

Simpan penimbal anda sebelum menyiasat, kerana sesi TRAMP sedia ada boleh hidup lebih lama daripada perubahan laluan dan kemudian gagal pada penulisan seterusnya. Tutupnya melalui pembersihan yang disokong, buka semula penanda buku, dan bandingkan kedua-dua laluan dan bukannya menganggap pelayan itu mati.

Kekalkan pengesahan kunci hos dihidupkan untuk bastion dan destinasi.

Laluan yang berbeza tidak memberi anda hak untuk menerima kunci pelayan yang tidak anda jangkakan, dan ia juga tidak menjadikan laluan yang tidak diluluskan boleh diterima. Kedua-duanya keputusan berasingan daripada keputusan yang sedang anda buat.

Artikel berkaitan