Güvenlik duvarlarının arkasındaki birden çok istemciden gelen SSH bağlantılarını kabul eden bir genel sunucumuz var.
Bu istemcilerin her biri, ssh -R
80 numaralı bağlantı noktasındaki web sunucularından genel sunucumuza komutu kullanarak bir Ters SSH tüneli oluşturur .
Ters SSH Tünelinin hedef bağlantı noktası (istemci tarafında) 80'dir ve kaynak bağlantı noktası (ortak sunucu tarafında) kullanıcıya bağlıdır. Her kullanıcı için bir bağlantı noktası adresi haritası oluşturmayı planlıyoruz.
Örneğin, A müşterisi web sunucusunu 80 numaralı bağlantı noktasında 8000 numaralı bağlantı noktasına tünelleyecektir; müşteri B 80 ila 8001; müşteri C 80 ila 8002 arasındadır.
Client A: ssh -R 8000:internal.webserver:80 clienta@publicserver
Client B: ssh -R 8001:internal.webserver:80 clientb@publicserver
Client C: ssh -R 8002:internal.webserver:80 clientc@publicserver
Temel olarak, yapmaya çalıştığımız her kullanıcıyı bir bağlantı noktasına bağlamak ve diğer bağlantı noktalarına tünellemelerine izin vermemek .
SSH'nin ileri tünelleme özelliğini ile birlikte ssh -L
kullansaydık, permitopen=host:port
konfigürasyonu kullanarak hangi portun tünellenmesine izin verebilirdik . Ancak, ters SSH tüneli için eşdeğeri yoktur.
Kullanıcı başına ters tünel bağlantı noktalarını kısıtlamanın bir yolu var mı?