Anlayabildiğim kadarıyla, bu WSL'de bir hata. Umarım, Microsoft bunu bir sonraki derlemede düzeltir. Ama şimdilik, bu biraz çirkin hack'i kullanabiliriz.
Güncelleme # 1 : Kesinlikle bir hata. Bulunan bu sorunu Github. Eğer tüm bunlardan geçmek istemiyorsanız, kabuğun yeniden başlatılması için önerilen geçici çözüm benim için de işe yarıyor.
TL; DR SSH yapılandırmanızı SONLANDIRmak için bunu ekleyin (genellikle adresinde bulunur ~/.ssh/config):
Host *
ProxyCommand nc %h %p %r
Neden çalışıyor: SSH sorunumuz bir güvenlik duvarı sorunu değil ncve telnetaynı ana bilgisayar ve bağlantı noktasında çalışıyor (deneyin telnet <host> <port>veya nc <host> <port>: gibi bir şey görmelisiniz SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7). Bunu kendi yararımıza kullanabiliriz.
SSH, standart girdi alan ve ProxyCommandseçenek üzerinden sunucunun bağlantı noktasına gönderen proxy'lerin kullanılmasına izin verir . Bu, normalde, bazen atlama ana bilgisayarı olarak adlandırılan bir arasında geçişli SSH sunucusu kullanarak ağları korumalı bir ana bilgisayara tünellemek için kullanılır ( daha fazla bilgi için bu bağlantıya bakın ).
Bu saldırı, SSH'ye atlama ana bilgisayarı barındırmayan bir proxy kullanmasını söyler. Böylece, tüm ağ kaynağı tahsisini çalıştıran Netcat'e iterek SSH'nin başarısız TCP kaynakları dağıtımını aşar. SSH, SSH işini herhangi bir ağ bağlantısı olmadan yapar ve Netcat, ham veriyi bir TCP bağlantısı üzerinden SSH sunucusuna gönderir.
UYARI: Bu ProxyCommand, tüm ana bilgisayarlar için değiştirildiğinden, kullanılan diğer SSH yapılandırma ana bilgisayarlarıyla nasıl etkileşime girdiğini bilmiyorum ProxyCommand. Bunu test edebileceğim birkaç sunucum var ve bu cevabı sonuçlarla güncelleyeceğim. Zararlı yan etkilerin olmaması ihtimali vardır, ancak bunu garanti edemem.
Güncelleme # 2: Birkaç sunucumla bazı testler yaptım ve bu işe yarıyor gibi görünüyor. Birden çok giriş uygulandığında SSH, yapılandırmadaki en üstteki girişi kullanır. Böylece, ProxyCommandbu saldırının üstünde mevcut bir hediye onu geçersiz kılar. Yeni SSH komutu yürütüldüğünde, SSH yapılandırmasını yeniden okur ve başka bir şey yoksa ProxyCommand, SSH hackimizi kullanır ProxyCommandve yalnızca "en dıştaki" SSH oturumuna uygulanmasına izin verir. Uyarı kelimesi: hack'i yapılandırma dosyasının üstüne (veya SSH'ye çalıştığınız girişin üstüne) koyarsanız, a gerektiren SSH oturumları ProxyCommanddiğerini yok sayar ProxyCommandve bunun yerine ana bilgisayarın adresini çözmeyi ve bağlanmayı dener doğrudan Netcat ile.