İki makinem var, m1 ve m2 ve makine m2, SSH kullanarak m1'e bağlanabilir. Sadece m1'e bağlanabilen bir makine m1bis ve sadece m2'nin bağlanabileceği bir m2bis var. M1bis'in, m1b makinesinin bazı m 2 portlarına bağlanarak bazı q limanda makine m2bis'e ulaşmasını sağlamak istiyorum. Hem p hem de q'nun ayrıcalıklı olmayan bağlantı noktaları olduğunu varsayalım, yani, 1024'ten büyükler.
+-------+ q +----+ SSH +----+ p +-------+
| m1bis | ----> | m1 | <------ | m2 | ----> | m2bis |
+-------+ +----+ +----+ +-------+
M1 ve m2'ye kabuk erişimim var. Bunu yapmamın genel yolu, aşağıdakini m2 kullanarak çalıştırmak için SSH ters portu olacaktı.
ssh -R *:q:m2bis:p m1
Bu, SSH cini m1'deki tüm arabirimlerde q numaralı bağlantı noktasını dinlemesini ve gelen bağlantıları makine m2bis bağlantı noktasına p aktarmasını sağlar. Bu şekilde, m1bis, m1'in m1 portuna bağlandığında, bağlantı SSH tarafından m1'den m2'ye yönlendirilir ve bağlantı aslında makine m2bis'in p portunda gerçekleşir. Çok uzak çok iyi.
Sorun, ayarın GatewayPorts=yes
m1'deki SSH sunucu yapılandırmasında etkinleştirilmesini gerektirmesidir . Ancak, etkin değil ve m1'de kök kullanmıyorum, bu yüzden etkinleştiremiyorum.
Bununla birlikte, bana bu konuda çalışmamı engelleyen hiçbir şey yokmuş gibi geliyor ve yine de port iletimi yapıyor: m1'e kabuk erişimim var, m1 ve m2 arasında bir SSH bağlantım olabilir, m1'de dinleyen bir işlemi çalıştırabilirim Tüm arabirimlerde q bağlantı noktasında (SSH arka planının dinlemesini yapmak yerine) ve bağlantıyı SSH üzerinden yönlendirir. Bu yüzden, esasen kendi limanımı ilerletmek için gerekli tüm izinlere sahibim.
Bunu gerçekten yapabilir miyim ve yapmanın kolay bir yolu var mı?
Ek gereksinimler:
- Ben m1 kök değilim, ben karmaşık bağımlılıklar olmadan bir çözüm gibi ortak kamu hizmetleri ile ideal bazı kabuk komut tercih ediyorum
netcat
,socat
vb veya bazı müstakil C programı. - M2 ise kökündüm, eğer yardımcı olursa (ama prensipte buna ihtiyacım olması gerektiğini düşünmüyorum).
- M1 ve m2 arasındaki bağlantıya güvenmiyorum, bu nedenle yönlendirme m1 ve m2 arasında şifrelenmelidir (yani gerçekten SSH üzerinden geçmelidir).