Aynı özel sunucu onaylanmış bir VPN üzerinden ve onaylanmış bir bastion üzerinden yanıt veriyor ve siz tahmin eden bir kısayol yerine her biri için bir Emacs yer imi istiyorsunuz. Karar hangi yolun daha iyi olduğu değil; önünüzdeki iş için hangi yolun yetkili olduğudur. İkisini de açık tutun, ayrı ayrı adlandırın ve hangisini seçtiğinizi dosya adı söylesin.

Birinci koşul: hangi yollar onaylanmış?

Atlama sunucusu bir VPN gereksiniminin otomatik yedeği değildir ve VPN onaylanmış bir bastion'u atlamak için lisans değildir. Hesabınız ve bu veriler için hangi rotaların yetkili olduğunu sorun. İkisi de onaylıysa seçiminiz var; yalnızca biri ise yer imi kümesinde tek giriş olur. Bu yanıt veri sahibinden gelir, bugün tesadüfen çalışan rotadan değil.

Yanıtı yazın, çünkü bir olay sırasında bu ayrım hızla kaybolur.

Her iki yol da kendi hesap ve kimlik yapılandırmasına ihtiyaç duyar. Bir rotada çalışan paylaşılan bir takma ad, diğerinde ağla hiçbir ilgisi olmayan nedenlerle başarısız olabilir.

İkinci koşul: her yolu ayrı ayrı adlandırabiliyor musunuz?

Bir SSH yapılandırması tek bir adres için iki ana bilgisayar takma adı tutabilir, her biri farklı proxy davranışıyla. Belirli blokları herhangi bir geniş joker karakterden önce koyun, çünkü elde edilen ilk değer çoğu seçenek için kazanır.

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

Yukarıdaki adres bir örnektir; ekibinizin belgelediği adresle değiştirin. Atlama takma adı ayrıca bastion'ın onaylanmış hesabına ihtiyaç duyar, bu genellikle bastion'ın kendisi için ikinci bir Host bloğu anlamına gelir. Bağlantı paylaşımını burada kapatmak yol karşılaştırmasını dürüst tutar, çünkü yeniden kullanılan çoklanmış bir bağlantı gözlemlemeye çalıştığınız rota değişikliğinden daha uzun yaşayabilir.

Sonra uzak dosya adları ayrı ve okunabilir kalır.

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

Üçüncü koşul: düzenleyici farkı biliyor mu?

TRAMP bu iki dosya adını farklı hedefler olarak ele alır ve bu tam olarak istediğiniz şeydir. Her birini hangi yolu kullandığını söyleyen bir ad altında yer imleyin ve tek bir hedefin anlamını düzenlemek yerine yer imini yeniden açın. İki yer imi karşılaştırmayı da görünür kılar: herhangi bir yapılandırmayı değiştirmeden ikisini de açıp hangisinin başarısız olduğunu görebilirsiniz.

ProxyJump devreye girdiğinde bir ayar dikkati hak eder: TRAMP'ın bağlantı paylaşımı ilgili bağlantılar için kapalı olmalıdır, bu yüzden onları açmadan önce tramp-use-connection-share değerini nil yapın. Bu bir uyumluluk ayarıdır, eksik bir rotanın düzeltmesi değildir ve yetkisiz bir yolu yetkili hale getirmez. TRAMP SSS belgeleri yer imlerini bu adları kısaltmanın desteklenen yolu olarak açıklar.

Rotayı sessizce değiştiren bir yer imi hiç yer imi olmamasından daha kötüdür.

Ağ simgesi neden hiçbir şeyi kanıtlamaz

NetworkManager'ın genel durum değeri 70, makinenin küresel bağlantısı olduğu anlamına gelir. Bu değer herhangi bir VPN profili adlandırmaz ve sıradan Wi-Fi bunu karşılar. Yalnızca özel ağa yönelik, tam olarak ihtiyacınız olan rotayı taşıyan bir tünel bu toplu değeri dokunulmadan bırakabilir. Bu yüzden simgeye bağlı bir kısayol, hiç test etmediği bir yol için hazır olduğunu bildirebilir.

Genel durum yerine belirli bağlantının durumunu okuyun.

Bir şeyi otomatikleştiriyorsanız, adlandırılmış bağlantıyı sorgulayın, sonra bu sırayla hedef rotayı, çözümleyicinin yanıtını ve SSH erişilebilirliğini kontrol edin. Bunların her biri önceki başarılıyken başarısız olabilir ve bunları tek bir boolean'a indirgemek, otomasyonun hiç kullanmadığı bir yol için başarı bildirmesiyle sonuçlanma biçimidir.

Bir yol çalışmayı bıraktığında ne yapmalı

Araştırmadan önce tamponlarınızı kaydedin, çünkü mevcut bir TRAMP oturumu rota değişikliğinden daha uzun yaşayabilir ve sonra bir sonraki yazmada başarısız olabilir. Desteklenen temizlik yoluyla kapatın, yer imini yeniden açın ve sunucunun kapalı olduğunu varsaymak yerine iki yolu karşılaştırın.

Ana bilgisayar anahtarı doğrulamasını hem bastion hem de hedef için açık tutun.

Farklı bir rota size beklemediğiniz bir sunucu anahtarını kabul etme hakkı vermez ve onaylanmamış bir yolu da kabul edilebilir kılmaz. İkisi de vermekte olduğunuz karardan ayrı kararlardır.

İlgili makaleler