OpenSSH'nin son sürümlerinde ters tüneller oluştururken, kullanılabilir herhangi bir bağlantı noktasını bağlamak için 0 uzak bağlantı noktası verilebilir:
-R [bind_address:] bağlantı noktası: host: hostport
...
Bağlantı noktası bağımsız değişkeni "0" ise, dinleme bağlantı noktası dinamik olarak sunucuya atanır ve çalışma zamanında istemciye bildirilir.
openssh ssh istemci sayfası
Benim sorum (otomatik bir şekilde) sunucuda bu bağlantı noktası ayırma nasıl belirleyebilirim. Ssh istemcisini çalıştıran ana bilgisayara bildirilmesi oldukça yararsız görünüyor - ancak istemcideki hizmetlere erişmek için bu bağlantı noktasına bağlantı yapmak isteyecek hedefe değil.
Düşünebileceğim iki benzer seçenek ya çalışıyor
# netstat -ntlp
ve 127.0.0.1'e bağlı sshd veya çıkışına bakarak şüpheli bağlantı noktalarını arayın.
# lsof -p $PPID | grep TCP | grep LISTEN
Ancak bunların hiçbiri otomasyon açısından hoş değildir ve birden fazla tünel oluşturulursa dinamik bağlantı noktalarını kaynak servis bağlantı noktasına geri bağlamanın bir yolu yoktur.
SSH_CONNECTION ortam değişkenine eşdeğer, ancak etkin tüneller için sshd sunucu tarafında etkin tünellerin (hem yerel hem de uzak bağlantı noktası numaraları) bir listesini almak için eksik olduğum bir şey var mı?
Bazı bağlamlar için, bir ana bilgisayara potansiyel olarak çok sayıda eşzamanlı ters tünel oluşturmaya çalışıyorum, birçok farklı ana bilgisayarda aynı bağlantı noktası numarasına geri tünelleme yapıyorum. TCP yığınının bağlantı noktası havuzunu otomatik olarak yönetmesi bunu yapmanın en etkili yolu gibi görünmektedir.