SSH Tüneli Nedir? Port Yönlendirme Rehberi
SSH tüneli nedir, nasıl kurulur? Yerel, uzak ve dinamik port yönlendirme, veritabanına ve panellere güvenli erişim, ~/.ssh/config, autossh ve güvenlik.

İçindekiler
SSH tüneli, bir bağlantıyı şifreli SSH bağlantısının içinden geçirerek başka bir porta ya da sunucuya güvenle ulaşmanızı sağlayan bir yöntemdir. Veritabanı, yönetim paneli ya da izleme aracı gibi servisleri internete hiç açmadan, yalnızca SSH erişiminizle kullanabilirsiniz. Ek bir yazılım kurmanız gerekmez; SSH ile bağlanabildiğiniz her sunucu tünel için de hazırdır.
Bu rehberde yerel, uzak ve dinamik port yönlendirmeyi, sık kullanılan senaryoları, kalıcı tünelleri ve güvenlik ayarlarını anlatıyoruz. SSH'ın temellerini SSH nedir? yazımızda bulabilirsiniz.
Üç tür SSH tüneli
| Tür | Parametre | Ne yapar? |
|---|---|---|
| Yerel yönlendirme | -L | Kendi bilgisayarınızdaki bir portu sunucu tarafındaki bir servise bağlar |
| Uzak yönlendirme | -R | Sunucudaki bir portu kendi bilgisayarınızdaki bir servise bağlar |
| Dinamik yönlendirme | -D | Bilgisayarınızda bir SOCKS proxy açar; trafiği sunucu üzerinden geçirir |
En sık kullanılan, yerel yönlendirmedir.
Yerel yönlendirme (-L)
Sunucunuzda yalnızca 127.0.0.1 adresini dinleyen bir servise kendi bilgisayarınızdan ulaşmak için kullanılır. Söz dizimi:
ssh -L [yerel_port]:[hedef_adres]:[hedef_port] kullanici@sunucu
Örnek: Veritabanına güvenli erişim. Sunucudaki MariaDB yalnızca 127.0.0.1:3306 adresini dinliyor ve 3306 portu internete kapalı:
ssh -L 3307:127.0.0.1:3306 kullanici@203.0.113.10
Bu bağlantı açıkken HeidiSQL, DBeaver ya da başka bir araçla kendi bilgisayarınızdaki 127.0.0.1:3307 adresine bağlanırsınız; bağlantı şifreli olarak sunucudaki veritabanına iletilir. Veritabanı ayarlarını MySQL ve MariaDB kurulumu ve PostgreSQL kurulumu rehberlerimizde anlattık.
Örnek: Web arayüzüne erişim. Sunucuda 19999 portunda çalışan ve dışarıya açmak istemediğiniz bir izleme panelini kendi tarayıcınızda açmak için:
ssh -L 19999:127.0.0.1:19999 kullanici@203.0.113.10
Ardından tarayıcıda http://127.0.0.1:19999 adresini açarsınız.
Arkadaki başka bir sunucuya ulaşmak: Hedef adres sunucunun kendisi olmak zorunda değildir. Sunucunuzun özel ağda eriştiği başka bir makineye de tünel kurabilirsiniz:
ssh -L 5433:10.8.0.20:5432 kullanici@203.0.113.10
Uzak yönlendirme (-R)
Ters yönde çalışır: Sunucudaki bir portu, kendi bilgisayarınızdaki bir servise bağlar. Örneğin kendi bilgisayarınızda 3000 portunda geliştirdiğiniz bir uygulamayı, sunucunun 8080 portundan geçici olarak göstermek için:
ssh -R 8080:127.0.0.1:3000 kullanici@203.0.113.10
Varsayılan olarak uzak port yalnızca sunucunun 127.0.0.1 adresinde açılır. Dışarıdan erişilebilir olması için sunucudaki sshd_config dosyasında GatewayPorts ayarının değiştirilmesi gerekir; bunu yalnızca ne yaptığınızı biliyorsanız ve geçici olarak yapın.
Dinamik yönlendirme (-D): SOCKS proxy
ssh -D 1080 kullanici@203.0.113.10
Bu komut, kendi bilgisayarınızda 127.0.0.1:1080 adresinde bir SOCKS proxy açar. Tarayıcınızın proxy ayarlarına bu adresi yazdığınızda tarayıcı trafiğiniz şifreli olarak sunucunuz üzerinden internete çıkar. Güvenilmeyen Wi-Fi ağlarında ya da yalnızca sunucunuzun IP adresinden erişime izin veren servislerde işe yarar. Sunucunuzdan çıkan trafik sizin sorumluluğunuzdadır; yoğun ve sürekli kullanım için sağlayıcınızın kullanım kurallarını kontrol edin.
Kullanışlı parametreler
| Parametre | Ne yapar? |
|---|---|
-N | Uzak komut çalıştırmaz; yalnızca tünel açar |
-f | Bağlantı kurulduktan sonra arka plana geçer |
-v | Ayrıntılı çıktı verir; bağlantı sorunlarını bulmak için kullanılır |
-p 2222 | SSH farklı bir portta çalışıyorsa portu belirtir |
Arka planda çalışan, yalnızca tünel açan bir bağlantı için:
ssh -f -N -L 3307:127.0.0.1:3306 kullanici@203.0.113.10
~/.ssh/config ile kalıcı tüneller
Sık kullandığınız tünelleri her seferinde uzun komutlar yazmak yerine kendi bilgisayarınızdaki ~/.ssh/config dosyasına kaydedin:
Host vt-tunel
HostName 203.0.113.10
User kullanici
IdentityFile ~/.ssh/id_ed25519
LocalForward 3307 127.0.0.1:3306
LocalForward 19999 127.0.0.1:19999
ServerAliveInterval 30
Artık tek bir komut iki tüneli birden açar:
ssh -N vt-tunel
ServerAliveInterval, boşta kalan bağlantının modem ya da güvenlik duvarı tarafından kapatılmasını önler.
Sürekli açık tüneller: Bir sunucunun başka bir sunucuya sürekli tünel ile bağlı kalması gerekiyorsa, bağlantı koptuğunda otomatik olarak yeniden bağlanan autossh aracını bir systemd servisi olarak çalıştırabilirsiniz. Birden fazla sunucuyu kalıcı olarak birbirine bağlamak için ise WireGuard gibi bir VPN genellikle daha düzenli bir çözümdür.
Güvenlik
- Anahtarla giriş kullanın. Tüneller SSH erişiminiz kadar güvenlidir. Şifreli girişi kapatıp yalnızca anahtarla giriş yapın; adımlar SSH nedir? yazımızda.
- Yerel adresi kullanın. Tünelleri varsayılan olduğu gibi
127.0.0.1adresinde bırakın; böylece aynı ağdaki başka cihazlar tünelinizi kullanamaz. - Gereksiz yönlendirmeyi kapatın. Tünel kullanmayan kullanıcılar için sunucuda yönlendirmeyi kapatabilirsiniz.
sshd_configdosyasında belirli bir kullanıcı ya da grup için:Match User sadece-sftp AllowTcpForwarding no - Servisleri dışarıya açmayın. Tünelin asıl faydası, veritabanı ve panel gibi servisleri internete hiç açmamaktır. Bu servislerin yalnızca
127.0.0.1adresini dinlediğinden emin olun; port güvenliğini Port nedir? yazımızda anlattık.
SSH tüneli için Nodesty sunucuları
Nodesty AMD Ryzen 9 9950X VDS ve AMD EPYC 7763 VDS paketlerinde Linux sunucunuza SSH ile root erişimi alırsınız; veritabanlarınızı, yönetim panellerinizi ve izleme araçlarınızı internete açmadan SSH tünelleriyle güvenle kullanabilirsiniz. SSH erişiminiz kesildiğinde panelinizdeki web konsolu üzerinden sunucunuza her zaman ulaşabilirsiniz.
Sıkça Sorulan Sorular
SSH tüneli VPN yerine geçer mi?
Belirli bir servise güvenli erişim için çoğu zaman yeterlidir ve hiçbir ek kurulum gerektirmez. Bütün cihazınızın trafiğini sunucudan geçirmek, birden fazla servise ve cihaza sürekli erişim sağlamak gibi ihtiyaçlarda WireGuard gibi gerçek bir VPN daha uygundur.
Tünel kurdum ama bağlanamıyorum, neden?
En sık sebepler yerel portun başka bir uygulama tarafından kullanılması, hedef adresin yanlış yazılması ve sunucudaki SSH ayarlarında AllowTcpForwarding seçeneğinin kapalı olmasıdır. ssh komutuna -v ekleyerek ayrıntılı çıktı alabilir, hatanın hangi adımda oluştuğunu görebilirsiniz.
Windows'ta SSH tüneli kurabilir miyim?
Evet. Güncel Windows sürümlerinde hazır gelen OpenSSH istemcisi, bu rehberdeki ssh komutlarını aynen çalıştırır. PuTTY kullanıyorsanız Connection, SSH, Tunnels bölümünden yerel ve dinamik tünel tanımlayabilirsiniz. HeidiSQL ve DBeaver gibi araçların ayarlarında da hazır SSH tüneli seçeneği bulunur.
Tünel açıkken başkaları da kullanabilir mi?
Varsayılan olarak hayır. Yerel tüneller yalnızca kendi bilgisayarınızın 127.0.0.1 adresini dinler; aynı ağdaki başka cihazlar erişemez. Tüneli diğer cihazlara açmak için bağlantı adresini açıkça belirtmeniz gerekir, ki bu çoğu durumda önerilmez.
Tünel bağlantısı sürekli kopuyor, ne yapmalıyım?
Boşta kalan bağlantılar modemler ve güvenlik duvarları tarafından kapatılabilir. ~/.ssh/config dosyasına ServerAliveInterval 30 satırını ekleyerek bağlantıyı canlı tutun. Sürekli açık kalması gereken tüneller için bağlantı koptuğunda otomatik yeniden bağlanan autossh aracını kullanın.
SOCKS proxy ile internete sunucumun IP adresinden çıkabilir miyim?
Evet, dinamik tünel ile tarayıcınızın trafiğini sunucunuz üzerinden geçirebilirsiniz. Bu, güvenilmeyen ağlarda ve sabit bir IP adresinden erişim gereken servislerde işe yarar. Sunucunuzdan çıkan bütün trafik sizin sorumluluğunuzdadır; sağlayıcınızın kullanım kurallarına uyun.
Yazar hakkında
Nodesty Ekibi · Altyapı ve Destek
Nodesty ekibi sunucularımızı, ağımızı ve DDoS korumamızı her gün işletir ve müşteri destek taleplerini 7/24 yanıtlar. Bu rehberler o deneyimden yazılır.
İlgili yazılar

UFW Kullanımı: Ubuntu Güvenlik Duvarı Rehberi
UFW nedir, nasıl kullanılır? Ubuntu'da güvenlik duvarını açma, port ve IP kuralları, kural silme, uygulama profilleri, hız sınırlama, IPv6 ve Docker.

HTTP Güvenlik Başlıkları: HSTS, CSP ve Diğerleri
HTTP güvenlik başlıkları nedir? HSTS, Content-Security-Policy, X-Content-Type-Options ve Referrer-Policy, Nginx ve .htaccess ile ekleme ve test.

Web Siteniz Hacklendi mi? Adım Adım Ne Yapmalısınız?
Web siteniz hacklendiyse ne yapmalısınız? Belirtiler, ilk müdahale, şifreler, zararlı dosyaları bulma, temiz yedekten dönme, WordPress ve önlemler.