Yalnızca VPN üzerinden erişilebilen bir HTTPS sitesine SSH yönlendirmesiyle ulaşmak
Yalnızca VPN üzerinden erişilebilen tek bir HTTPS hizmetini yerel bir SSH yönlendirmesiyle bağlayın, gerçek ana bilgisayar adını --connect-to ile koruyun ve tek bir TCP yönlendirmesinin neleri kapsamadığını bilin.
Bir makinede zaten onaylanmış VPN erişimi var, ikinci makine tam olarak tek bir özel HTTPS hizmetine ihtiyaç duyuyor ve yerel bir SSH yönlendirmesi ikinci makineye tünel vermeden bu boşluğu kapatabilir. Yönlendirme tüm ağ yerine tek bir TCP hedefi taşır ve asıl mesele tam da bu sınırdır. Aşağıdaki beş adımı sırayla izleyin, çünkü her biri farklı bir nedenle başarısız olur ve sonraki bir adım önceki boşluğu kurtaramaz. Herhangi bir ön koşul eksikse bu tasarım onu çözmez ve hiçbir komut ayarı yardımcı olmaz.
Birinci adım: üç ön koşulu doğrulayın
Herhangi bir komut anlam kazanmadan önce üç şey zaten doğru olmalıdır. İlk makineyi yönlendirme ana bilgisayarı olarak kullanma iznine, ona çalışan SSH erişimine ve amaçlanan hedefe izin veren bir sunucu politikasına ihtiyacınız var. Dosya aktarımı için oluşturulmuş bir SSH hesabında yönlendirme devre dışı olabilir ve yönlendirmeye izin veren bir sunucu yine de hangi hedeflere ulaşılabileceğini kısıtlayabilir. Test etmeden önce sorun, çünkü bir iş arkadaşınızın iş istasyonunu anlaşma olmadan atlama noktası olarak kullanmak, komut kusursuz çalışsa bile bir politika sorunudur.
İki komut bu listenin teknik yarısını halleder. Birincisi hesabın ve anahtarın etkileşimli bir istem olmadan çalıştığını kanıtlar, ikincisi yapılandırma dosyasındaki yorumlanmış örnek yerine gerçek sunucu politikasını yazdırır.
ssh -o BatchMode=yes [email protected] 'echo ok'
sudo sshd -T | grep -E 'allowtcpforwarding|permitopen'
İkinci adım: bir loopback portu bağlayın ve oturumu canlı tutun
İstemci uygulamasını çalıştıran makinede özel hizmete yerel bir yönlendirme açın. Yerel ağda yayınlanmaması için onu açıkça loopback'e bağlayın ve hiçbir yerel hizmetin tutmadığı yüksek bir port seçin. Çalışırken oturumu açık tutun, çünkü onu kapatmak dinleyiciyi de kapatır. ExitOnForwardFailure reddedilen bağlamayı veya dolu portu, yönlendirme olmadan ayakta kalan bir oturum yerine derhal çıkışa dönüştürür ve en çok zaman kaybettiren arıza kipi tam da budur.
Özel bağlantı atlama ana bilgisayarından kurulur, bu yüzden o ana bilgisayarın DNS'i, rotaları, VPN politikası ve hizmet erişimi hepsi çalışmalıdır. SSH oturumu atlama ana bilgisayarında olmayan erişilebilirliği yaratmaz ve VPN'in hiç itmediği bir rotayı onaramaz. Dinleyiciyi gerçekte olduğu yerde doğrulayın, komutun sessizliğine güvenmek yerine.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:9443:portal.lab.example:443 [email protected]
ss -ltn '( sport = :9443 )'
Üçüncü adım: soket yerelken HTTPS adını koruyun
https://127.0.0.1:9443/ adresine göz atmak TLS sunucu adını ve uygulama yetkisini değiştirir. portal.lab.example için düzenlenmiş bir sertifika loopback adresine karşı doğrulanmaz ve ortaya çıkan hata, yönlendirme kısayolu yerine bozuk bir sertifika gibi görünür. Komut satırı testi için gerçek URL'yi koruyun ve yalnızca soket hedefini değiştirin. --connect-to bunu yapar ve curl kılavuzu aşağıda kullanılan dört alanlı biçimi belgeler.
curl --noproxy portal.lab.example --connect-to portal.lab.example:443:127.0.0.1:9443 https://portal.lab.example/
Ad URL'de, TLS el sıkışmasında ve Host başlığında kalırken TCP bağlantısı yerel dinleyiciye gider. Proxy'siz seçenek testi yapılandırılmış bir HTTP proxy'nin onu kesmesine izin vermek yerine bu yönlendirmede tutar ve sertifika doğrulamasını açık tutmak sonucu anlamlı kılan şeydir.
Dördüncü adım: tek bir yönlendirmenin neleri kapsamadığını bilin
Tek bir TCP yönlendirmesi tek bir hedef portu kapsar. İkinci bir ana bilgisayar adına yönlendiren, özel ağ içindeki bir ana bilgisayardan varlık yükleyen veya başka bir porta gönderen bir sayfa kendi yönlendirmesine ihtiyaç duyar ve her biri ilkiyle aynı politika denetimini gerektirir. Tarayıcı iş akışları kendi gereksinimlerini ekler, çünkü tarayıcıya gerçek adı proxy yapılandırması veya yerel eşleme yoluyla yerel porta göndermesi söylenmelidir. Bu nedenle başarılı bir komut satırı testi tarayıcının da başaracağını kanıtlamaz, yolu kanıtlasa da.
UDP, SMB keşfi ve etki alanı oturum açma bir TCP yönlendirmesinden hiç geçmez. Gerçek gereksinim genel ağ erişimiyse bu tasarım yanlış araçtır ve desteklenen uzaktan erişim ağ geçidi doğru olandır.
Beşinci adım: temizleyin ve kaydedin
Test bittiğinde oturumu durdurun ve dinleyicinin gittiğini doğrulayın. Seçilen port zaten doluysa, numarayı serbest bırakmak için ilgisiz bir yerel hizmeti durdurmak yerine başka bir kullanılmayan loopback portu seçin ve URL'yi, test komutunu ve notu birlikte güncelleyin. Bir dizüstü bilgisayarda yönlendirmeyi açık bırakmak, bir teşhisi yönetilmeyen bir hizmete dönüştürür.
Atlama ana bilgisayarını, yönlendirilen hedefi, yerel portu ve bu düzenlemeyi kimin onayladığını yazın. Yalnızca birinin shell geçmişinde var olan bir yönlendirme, tekrar eden bir soruşturmadan bir yeniden başlatma uzaktadır ve sonraki kişi üç ön koşuldan hangisinin zaten denetlendiğini bilmeyecektir.