SSH tünellerini anlama


15

Ben sadece ssh (port 22) üzerinden root erişimi olan linux (Ubuntu) sunucum var. Bu sunucuda 3306 numaralı bağlantı noktasını dinleyen bir MySQL veritabanı var. Makinemdeki yerel bir bağlantı noktasından (4000 gibi) bir tünel oluşturmak için macun (makinemde) ve tünel (linux makinede) kullanmak mümkün müdür? 22 numaralı bağlantı noktasında linux sunucusu ve daha sonra 3306 numaralı bağlantı noktasında sunucudan kendisine?

Yanıtlar:


20

Bazı eskizler çizdim

Ssh tünel komutunun yazıldığı makineye (veya sizin durumunuzda: Tünel açma macununun başlatıldığı) makine »ana makineniz« olarak adlandırılır .

yerelden başlayan ssh tüneli


uzaktan başlayan ssh tüneli

Giriş

  1. yerel: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

    ssh -L sourcePort:forwardToHost:onPort connectToHostşu anlama gelir: ssh ile bağlanın connectToHostve tüm bağlantı girişimlerini makineden erişilebilen makinedeki yerel sourcePort bağlantı noktasına yönlendirin .onPortforwardToHostconnectToHost

  2. uzaktan: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.

    ssh -R sourcePort:forwardToHost:onPort connectToHostaraçlar: ssh ile bağlantı connectToHostve tüm bağlantı girişimlerini iletmek uzak sourcePort noktasına onPortdenilen makine üzerinde forwardToHostyerel makineden ulaşılabilir.

Örneğiniz

İlk görüntü durumunuzu temsil eder. Çağrılan mavi kutu , benim görüntümde your hostçağırılan Ubuntu sunucunuza Putty'yi başlattığınız Windows makinenizdir remotehost. Yeşil bağlantı noktasına bağlantılar (durumunuzdaki bağlantı noktası numarası 4000), bağlantı noktasının pembe MySQL bağlantı noktasına iletilir 3306.localhost Ubuntu sunucu makinesinin (yani Ubuntu sunucu kendisi).

Putty ile kurmak için

Putty'yi başlatın ve her zamanki bağlantı ayarlarınızı (Ana bilgisayar adı veya IP adresi) girin Sol taraftaki ağaçta şuraya gidin:

Bağlantı → SSH → Tüneller

ve kaynak bağlantı noktası (resimde 123) ve hedef ile yeni bir yerel tünel oluşturun4000localhost:3306 (resimde localhost: 456 .

Ekle üzerine tıklamayı unutmayın .

Ardından tekrar oturuma gidin ve ayarlarınızı bir dahaki sefere korumak için Kaydet'i tıklayın . Şimdi sunucunuza oturum açmak için kaydedilen bağlantıyı kullanabilirsiniz ve başarıyla oturum açtıktan sonra, ana makinenizdeki bağlantı noktası 4000'e her bağlandığınızda, aslında Ubuntu sunucusundaki 3306 bağlantı noktasına bağlanacaksınız.

macun ile ileri tünel oluştur


Çok iyi, illüstrasyon için teşekkürler. Anwers'imi kapsamadığım "uzak" tip tüneller eklediğiniz için teşekkür ederiz.
Guss

1
Bu cevap harika
Mauricio Pasquier Juan

2
Müthiş ve çok açıklayıcı cevap +1
rkachach

1
Bunun ne kadar az oyu olduğu utanç verici.
Ryan Fisher

1
Bu eskizleri çok seviyorum. Resim bin kelimeye bedeldir.
qartal

16

Basit cevap evet, ancak tünelin aslında bilgisayarınızda başlatıldığını lütfen unutmayın. Çalışma şekli, sunucuya bir SSH bağlantısı (güvenli) oluşturmanız ve ardından SSH'ye yanınızdaki bir bağlantı noktasını dinlemesini ve hangi bağlantıların geldiyse bağlantıyı belirli bir ana bilgisayar adresindeki belirli bir bağlantı noktasına iletmesini istemektir. sunucu tarafı. Tünelin hedefinin aynı sunucu olması gerekmez - başka geçerli bir adres olabilir, bu - SSH sunucusunun kendisini çalıştıran sunucu değilse - gelen bağlantıyı SSH sunucusundan değil sanki gelen bağlantıyı görür istemcinizden.

Ayarlamak için Macun yapılandırma iletişim kutusunu açın, sunucunuza erişmek için normalde kullandığınız bağlantının ayarını seçin ve "yükle" yi tıklayın ("açık" değil). Ardından sol taraftaki ağaçta Bağlantı-> SSH-> Tünelleri'ne gidin ve kaynak bağlantı noktası 4000 ve hedef "localhost: 3306" ile yeni bir "yerel" tünel oluşturun (çünkü hedef adresi sunucuda çözülür, sunucunun bakış açısından MySQL portu localhost üzerindedir). Ardından tekrar "oturum" a gidin ve ayarlarınızı bir dahaki sefere korumak için "Kaydet" i tıklayın. Şimdi sunucunuza oturum açmak için kaydedilen bağlantıyı kullanabilirsiniz ve başarıyla oturum açtıktan sonra, bilgisayarınızdaki 4000 numaralı bağlantı noktasına her bağlandığınızda, sunucudaki 3306 numaralı bağlantı noktasına bağlanırsınız.

Tünellere ciddi bir şekilde giriyorsanız ve bir MS-Windows istemcisi çalıştırıyorsanız, açık bir macun konsoluna ihtiyaç duymadan tünelleri kolayca kurmak ve çalıştırmak için Putty'yi kullanan Putty Tunnel Manager'a bakmanızı öneririm .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.