Blog’a Dön

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.

Nodesty Ekibi4 dk okumaGüvenlik
Koyu Nodesty arka planında SSH Tunnel yazısı ile -L, -R ve -D ifadeleri

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ürParametreNe yapar?
Yerel yönlendirme-LKendi bilgisayarınızdaki bir portu sunucu tarafındaki bir servise bağlar
Uzak yönlendirme-RSunucudaki bir portu kendi bilgisayarınızdaki bir servise bağlar
Dinamik yönlendirme-DBilgisayarı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

ParametreNe yapar?
-NUzak komut çalıştırmaz; yalnızca tünel açar
-fBağlantı kurulduktan sonra arka plana geçer
-vAyrıntılı çıktı verir; bağlantı sorunlarını bulmak için kullanılır
-p 2222SSH 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.1 adresinde 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_config dosyası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.1 adresini 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.

Nodesty

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

Sunucunuzu şimdi başlatın.

Nodesty'nin üstün altyapısı ile projelerinizi özgürce inşa edin ve sınır tanımadan ölçeklendirin.

                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                                                                                                                            
                                                                                                                             ············································                                                   
                                                ··································································································..........···························                                     
                                       ················..........................................................................................................................··············                             
                                  ·············.................::::::::::::::::::::::::::::::::::::::::::::::....................:::::::::::::::::::::::::::::::::::::::................···········                        
                             ············................:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::............·········                     
                         ············.................:::::::::::::::::::::::::::::::::::::::::::::::::::------------::::::::::::::::::::::::::::::----------------:::::::::::::::::::::..........········                  
                    ············......................::::::::::::::::::::::::::::::::::::------------------------------------------------------------------------------------:::::::::::::.........········                
                ··········.............................................::::::::::::::::::-------------==========================================-----------------------------------:::::::::::........·······               
             ········..................:.....................................::::::::::--------=======+++++++++++++++++++++++++++++++++++++=========================------------------::::::::::.......·······              
           ······.........::::::::::::::::::::................................:::::::-----=====++++xxxxxx**************************xxxxxxxxx++++++++++++++===================------------::::::::.......·······             
          ·····.......:::::::::::::::::::::::::::.............................:::::----===+++xxx****%%%%&&&&&&#############&&&&&&&%%%%%*******xxxxxxxx++++++++++++++==============----------:::::::......······             
         ····......::::::::-------------:::::::::::..........................::::---===+++xx***%%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@####&&&&&%%%%*******xxxxxxxxx+++++++++++++===========--------::::::......·····             
        ····.....:::::::--------------------:::::::::.......................::::---===++xxx**%%&&&###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&%%%%%********xxxxxxxxxxx++++++++++++========------::::::.....······            
        ····.....:::::--------------------------::::::::....................::::---===++xx***%%&&&####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###&&&&&%%%%%**********xxxxxxxxxxxxx+++++++++=======------:::::.....·····            
        ····....::::::-------=============---------:::::::::................:::::---===+++xx***%%%&&&#####@@@@@@@@@@@@@@@@@@@@@@@@@#####&&&&&%%%%%%*************xxxxxxxxxxxxxx+++++++++======-----:::::....·····            
         ····....:::::-------================---------:::::::::...............:::::----===++++xxx***%%%%&&&&&&#################&&&&&&%%%%%%%*******************xxxxxxxxxxxxxxxxx++++++++======----:::::....·····            
         ·····....:::::--------=================---------::::::::::..............:::::::-----====+++++xxxxxx**************************xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++++=====-----::::....·····            
          ·····.....:::::--------=================----------:::::::::::.................:::::::::-------=============++++++++++++++++++++++++++++++++++++xxxxxxxxxxxxxxxxxxxxxxx++++++++======-----::::....·····            
            ·····.....:::::::----------===========-------------::::::::::::.........................::::::::::::::::::------------------=============+++++++++++++++++++++++++++++++++=======-----::::.....·····            
              ······......:::::::---------------------------------:::::::::::::........................................:::::::::::::::-----------============+++++++++++++++++++++========------:::::.....·····             
                 ······........:::::::::---------------------------:::::::::::::::::...........................................:::::::::::::------------=============================--------::::::.....······              
                    ·········.........:::::::::::::::-------------::::::::::::::::::::::::.......................................::::::::::::::::--------------------------------------::::::::......·······                
                          ··········............::::::::::::::::::::::::::::::::::::::::::::::::::................................::::::::::::::::::::::::::-------------:::::::::::::::.........········                   
                                  ············..................:::::::::::::::::::::::::::::::::::::::::::.........................:::::::::::::::::::::::::::::::::::::................···········                        
                                             ················.............................................................................................................·················                                 
                                                           ······················................................................................···························                                                
                                                                               ·········································································