Kısa cevap: SSH yerel port yönlendirmesi, kendi bilgisayarınızdaki bir bağlantı noktasını SSH sunucusundan erişilebilen MySQL hizmetine taşıyabilir. Böylece veritabanı portunu bütün internete açmadan yönetim bağlantısı tasarlanabilir. Bunun için hem SSH erişimi hem MySQL yetkisi gerekir; yöntem yetki sınırlarını atlatmak için kullanılmamalıdır.
Önce üç adresi kâğıda yazın
Çalışma bilgisayarı, SSH sunucusu ve MySQL hedefi ayrı kutular olsun. MySQL SSH sunucusunun üzerinde mi, yoksa özel ağdaki başka makinede mi? Bunu bilmeden kopyalanan bir komutta yanlış hedefe bağlanabilirsiniz. localhost ve veritabanı hedefi rehberi adreslerin bağlama göre anlamını açıklar. SSH üzerinden ulaşılan sunucuya göre görülen hedef ile kendi bilgisayarınızın loopback adresini karıştırmayın.
Yerel dinleyiciyi sınırlandırın
OpenSSH ssh kılavuzu, -L seçeneğiyle yerel port yönlendirmesini belgeler. Bir yönetici testinde dinleyicinin yalnız 127.0.0.1 üzerinde olması, aynı ağdaki diğer cihazlara açık bir köprü oluşturma riskini azaltır. Yerel port başka uygulama tarafından kullanılıyorsa rastgele uygulamaları kapatmak yerine uygun boş port seçin. Anahtar seçimi rehberi, bağlantı yapan kimliği doğrulamaya yardımcı olur. Bu yazıdaki mimariyi onaylamadan üretim sunucunuzda komut çalıştırmayın; gerçek kullanıcı ve hedef bilgilerini yöneticiniz belirlemelidir.
MySQL istemcisi yerel uca bağlanır
Veritabanı yönetim aracında tünelin yerel dinleyici adresi ve seçilen port kullanılır. MySQL bağlantı belgesi, host, port ve protokol seçeneklerinin nasıl ayrıldığını açıklar. Bazı araçların kendi SSH sekmesi bulunur; hem dışarıda tünel açıp hem araçta ikinci tünel tanımlamak yolu gereksiz karmaşıklaştırabilir. Hangi yöntemi kullandığınızı destek kaydında açık belirtin.
Bağlantı ile veri yetkisini ayırın
SSH’ye giriş yapılabilmesi MySQL’de tablo okuma veya değiştirme yetkisi sağlamaz. İlk testte yalnız gerekli veritabanına erişen kısıtlı bir kullanıcı tercih edin. Access Denied rehberi, reddedilen kimliğin doğru katmanda incelenmesine yardımcı olur. Parolayı komut satırı geçmişine veya ekran görüntüsüne koymayın. Üretim verisini ilk bağlantı testi için dışa aktarmak yerine hassas olmayan bir doğrulama işlemi kullanın.
İş bitince bağlantının kapandığını doğrulayın
Veritabanı aracını kapatmak tünelin her zaman sona erdiği anlamına gelmez; kullanılan SSH oturumunu da kontrol edin. Sürekli erişim gerekmiyorsa geçici tüneli açık bırakmayın. Sunucu anahtarını doğrularken SSH host key uyarısı rehberini kullanın. Başarılı bağlantı, yanlış anahtarı kabul etmeyi haklı çıkarmaz. Erişim yalnız kendi sorumluluğunuzdaki ortamda, sağlayıcının ve kurumun kuralları içinde kullanılmalıdır.
Bu konunun diğer kontrolleri
- SSH Tüneli Açık Ama MySQL Bağlanmıyor: Port, Hedef ve Access Denied Ayrımı
- Veritabanı İçin Geçici SSH Erişimi: Anahtar, Yetki ve İş Bitiminde Kapatma
Sıkça Sorulan Sorular
SSH tüneli MySQL parolasının yerine geçer mi?
Hayır. SSH tüneli bağlantı yolunu sağlar; veritabanının kullanıcı, parola ve yetkileri ayrıca doğrulanır. İki hesabın aynı kimlik olduğunu varsaymayın.
Tünel açmak için 3306’yı herkese açmalı mıyım?
Bu senaryoda amaç zaten genel veritabanı erişimi açmadan yetkili yol kullanmaktır. Sunucu topolojinizi yöneticiyle doğrulayın; genel güvenlik kuralı eklemeyi ilk adım saymayın.
Tünelde localhost nereye karşılık gelir?
Yerel istemcideki dinleyici ile uzak uçtan görülen hedef farklıdır. Komuttaki hedefin SSH sunucusundan ulaşılabilen hizmet olduğunu, istemci uygulamanın ise yerel dinleyiciye bağlandığını ayrı düşünün.
Bir bağlantı çiziminde yerel portu nasıl göstermeliyim?
Çalışma bilgisayarındaki loopback adresi ve seçilen yerel portu ilk kutuya yazın. İkinci kutu SSH sunucusu, üçüncü kutu veritabanının o sunucudan erişilen adresi olsun. Aynı makinede olsalar bile SSH ve MySQL kimliklerini ayrı etiketleyin. İstemci uygulamanın hangi kutuya bağlandığını işaretleyin. Bu çizim, yanlışlıkla doğrudan genel IP bağlantısı yapan kayıtlı profilleri fark etmenize yardımcı olur. Gerçek parolaları veya özel anahtar içeriğini çizime eklemeyin; belgeyi yetkili ekiple paylaşın.