Sunucu Yönetimi & Linux

    cPanel'de SSH Erişimi Nasıl Açılır? Terminal Kullanımı Rehberi

    cPanel SSH erişimini etkinleştirme, anahtar oluşturma ve tarayıcı içi Terminal aracını kullanma.

    12 dk okuma Güncellendi: 11 Ağustos 2026

    10 GB'lık bir yedeği FTP ile indirmeye çalışıp yarıda kopan bağlantıyı izlemek, ya da 40 bin dosyalık bir WordPress kurulumunu dosya yöneticisinden tek tek taşımaya çalışmak — cPanel SSH erişimi tam olarak bu anlarda aranır. SSH bir kez açıldığında tar ile arşiv 20 saniyede oluşur, wp search-replace ile site taşıma sonrası URL değişimi tek komuta iner, composer install sunucuda çalışır.

    Türkçe kaynakların çoğu bu konuda "Güvenlik → SSH Erişimi'ne girin, anahtarınızı oluşturun" deyip bırakıyor. Oysa asıl takıldığınız yerler bundan sonrası: oluşturduğunuz anahtarı Authorize etmezseniz hiçbir işe yaramaz, cPanel'in kendi tarayıcı içi Terminal aracı çoğu kişinin haberi olmadığı hâlde hiçbir kurulum gerektirmeden aynı işi görür, paylaşımlı hostingte düştüğünüz kabuk çoğu zaman jailshell olduğu için sudo ve sistem komutları çalışmaz, ve pek çok firmada SSH varsayılan olarak tamamen kapalıdır. Bu yazı bunların hepsini sırayla ele alıyor.

    cPanel'de SSH Erişimi Nasıl Açılır#

    cPanel'de SSH erişimi Security → SSH Access ekranından yönetilir; ancak bu ekranın varlığı SSH'in açık olduğu anlamına gelmez — sunucu yöneticisi paket düzeyinde kapatmış olabilir.

    Önce durumunuzu tespit edin:

    1. cPanel ana ekranında Güvenlik (Security) bölümüne bakın.
    2. SSH Erişimi (SSH Access) simgesi varsa tıklayın; Manage SSH Keys düğmesini göreceksiniz.
    3. Simge hiç yoksa, hosting paketinizde SSH özelliği kapalıdır. Bu durumda tek yol, hosting firmanızdan hesabınız için SSH açmasını istemektir.

    Paylaşımlı hostingte SSH'in kapalı olması bir eksiklik değil, bilinçli bir güvenlik tercihidir: aynı sunucuda yüzlerce hesap barındığı için kabuk erişimi saldırı yüzeyini büyütür. Çoğu firma, hesap sahibinin kimliğini doğruladıktan sonra talep üzerine açar. Talebi açarken ne yapacağınızı yazın ("WP-CLI ile toplu güncelleme ve büyük yedek arşivleme") — bu, açılma ihtimalini belirgin biçimde artırır.

    ⚠️ SSH açıldığında bile şifreyle giriş genellikle kapalıdır. Sunucular kaba kuvvet saldırılarına karşı PasswordAuthentication no ile yapılandırılır ve yalnızca anahtarla giriş kabul edilir. Bu yüzden bir sonraki adım isteğe bağlı değil, zorunludur.

    SSH Anahtarı Oluşturma ve Authorize Etme#

    Bu, en çok atlanan adım: cPanel'de bir SSH anahtarı oluşturmak yetmez, o anahtarı ayrıca Authorize (yetkilendirme) etmeniz gerekir. Yetkilendirilmemiş anahtar sunucuda durur ama girişi kabul edilmez.

    Manage SSH Keys ekranında iki yol var:

    Yol A — Anahtarı cPanel'e ürettirin:

    1. Generate a New Key düğmesine basın.
    2. Key Name alanına anlamlı bir isim verin (id_rsa yerine ofis-macbook gibi — hangi cihazın anahtarı olduğunu altı ay sonra hatırlarsınız).
    3. Key Password girin. Bu, anahtar dosyasını koruyan parolalardır; boş bırakırsanız anahtarı çalan kişi doğrudan girer.
    4. Key Type olarak RSA, Key Size olarak 4096 seçin. ED25519 seçeneği sunuluyorsa onu tercih edin: daha kısa, daha hızlı ve en az RSA 4096 kadar güçlüdür.
    5. Generate Key ile üretin.
    6. Listeye dönün. Public Keys bölümünde yeni anahtarın satırında ManageAuthorize düğmesine basın. Durum "not authorized" iken "authorized" olmalıdır.
    7. Private Keys bölümünden View/Download ile özel anahtarı bilgisayarınıza indirin ve cPanel'den silin. Özel anahtar sunucuda durmamalıdır.

    Yol B — Anahtarı kendi bilgisayarınızda üretin (önerilen):

    Özel anahtarın hiçbir zaman sunucuya uğramaması güvenlik açısından daha doğrudur. Kendi makinenizde üretin:

    ssh-keygen -t ed25519 -C "ofis-macbook" -f ~/.ssh/cloutr_hosting
    

    Komut iki dosya üretir: cloutr_hosting (özel, asla paylaşılmaz) ve cloutr_hosting.pub (açık, sunucuya yüklenir). .pub dosyasının içeriğini kopyalayın:

    cat ~/.ssh/cloutr_hosting.pub
    

    Çıktı tek satırdır ve şuna benzer:

    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH8k... ofis-macbook
    

    cPanel'de Manage SSH Keys → Import Key ekranına gidin, Paste the public key alanına bu satırı yapıştırın (özel anahtar alanını boş bırakın), Import deyin ve ardından Authorize edin.

    Anahtar üretme mantığını daha derinlemesine anlamak isterseniz SSH anahtarı nasıl oluşturulur yazısı süreç ve dosya izinleri tarafını ayrıntılı ele alıyor.

    Tarayıcı İçi Terminal Aracı#

    cPanel'in Advanced → Terminal aracı, hiçbir program kurmadan doğrudan tarayıcıdan sunucu kabuğuna düşmenizi sağlar ve Türkçe kaynaklarda neredeyse hiç anlatılmaz.

    Kullanımı basit: Terminal simgesine tıklarsınız, çıkan uyarıyı onaylarsınız ve ekranın altında siyah bir kabuk penceresi açılır. Kimlik doğrulaması yoktur — panele zaten giriş yapmış olduğunuz için oturum devralınır. Anahtar üretmeye, PuTTY kurmaya, port açmaya gerek kalmaz.

    Terminal aracının gerçek avantajları:

    • 2083 dışında port gerekmez. Kurumsal ağlar SSH'in 22 portunu sık sık engeller; Terminal HTTPS üzerinden çalıştığı için engellenmez.
    • Anahtar yönetimi yoktur. Tek seferlik bir iş için (bir arşivi açmak, bir izni düzeltmek) anahtar kurulumuyla uğraşmazsınız.
    • Kurulum gerektirmez. Başkasının bilgisayarındayken bile çalışır.

    Sınırları da net:

    • Oturum kalıcı değildir. Tarayıcı sekmesini kapattığınızda ya da oturum zaman aşımına uğradığında çalışan komut kesilir. Uzun süren işleri screen veya nohup ile arka plana almadan başlatmayın.
    • Dosya kopyalama yoktur. scp ile yerel makinenizden dosya gönderemezsiniz; o iş için gerçek SSH veya SFTP gerekir.
    • Terminal aracı da paket düzeyinde kapatılabilir. Simge görünmüyorsa SSH ile aynı şekilde firmadan istemeniz gerekir.

    Uzun sürecek bir iş için doğru kullanım şudur:

    screen -S yedek
    tar -czf ~/site-yedek.tar.gz public_html
    # Ctrl+A ardından D ile oturumdan ayrıl
    

    Sekmeyi kapatsanız bile işlem sürer; sonra screen -r yedek ile geri dönersiniz.

    PuTTY ile Windows'tan Bağlanma#

    Windows 10 ve sonrasında yerleşik OpenSSH istemcisi bulunur, yani PuTTY şart değildir. PowerShell'i açıp doğrudan bağlanabilirsiniz:

    ssh -p 22 -i C:\Users\Ad\.ssh\cloutr_hosting [email protected]
    

    PuTTY kullanmak isterseniz kritik nokta şudur: PuTTY, OpenSSH biçimindeki özel anahtarı doğrudan kabul etmez. Önce PuTTYgen ile .ppk biçimine çevirmeniz gerekir.

    1. PuTTYgen'i açın, Conversions → Import key ile indirdiğiniz özel anahtarı seçin.
    2. Anahtar parolanızı girin.
    3. Save private key ile .ppk olarak kaydedin.
    4. PuTTY'yi açın; Host Name alanına [email protected], Port alanına sunucunun SSH portunu yazın.
    5. Sol menüden Connection → SSH → Auth → Credentials yolunu izleyin ve .ppk dosyasını seçin.
    6. Session ekranına dönüp bağlantıya bir isim verin ve Save ile kaydedin.

    ⚠️ SSH portu 22 olmayabilir. Pek çok sağlayıcı kaba kuvvet saldırılarını azaltmak için portu değiştirir. Hoş geldiniz e-postanızda ya da müşteri panelinde yazar; bilmiyorsanız 22'ye bağlanma denemeniz zaman aşımıyla sonuçlanır ve sorunun anahtarda olduğunu sanırsınız. Windows tarafındaki bağlantı ayrıntıları ve alternatif istemciler için Windows bilgisayardan sunucuya SSH bağlantısı yazısına bakabilirsiniz.

    Jailshell Nedir, Neyi Kısıtlar#

    Paylaşımlı hostingte SSH ile bağlandığınızda düştüğünüz kabuk büyük ihtimalle normal bir bash değil, jailshell'dir. Jailshell, kullanıcıyı kendi ev dizinine hapseden kısıtlı bir kabuktur; chroot benzeri bir sanal kök oluşturur ve sistemin geri kalanını görünmez kılar.

    Neyin çalışıp neyin çalışmadığını bilmek, boşuna vakit kaybetmenizi engeller:

    İşlemJailshell (paylaşımlı)Normal kabuk (VDS/root)
    cd ~/public_html, ls, cp, mvÇalışırÇalışır
    tar, zip, unzip, gzipÇalışırÇalışır
    wp (WP-CLI)Genellikle çalışırÇalışır
    composer, npm, gitGenellikle çalışırÇalışır
    mysql, mysqldump (kendi veritabanınız)ÇalışırÇalışır
    sudo / suÇalışmazÇalışır
    /etc altını görüntülemeGörünmez veya kısıtlıÇalışır
    systemctl restartÇalışmazÇalışır
    Başka kullanıcının dizinini okumaÇalışmazÇalışır
    Port dinleyen servis başlatmaGenellikle engellidirÇalışır
    ps ile tüm sistem süreçlerini görmeYalnızca kendi süreçlerinizTümü

    Yani jailshell'de "izin reddedildi" hatası aldığınızda bu bir yapılandırma hatası değil, tasarımın kendisidir. sudo apt install çalıştırmaya çalışmanın hiçbir anlamı yoktur; paylaşımlı hostingte sistem paketi kurulmaz.

    Hangi kabukta olduğunuzu şöyle anlarsınız:

    echo $SHELL
    

    Çıktı /usr/local/cpanel/bin/jailshell ise kısıtlı kabuktasınız, /bin/bash ise normal kabuktasınız.

    Sistem paketi kurmak, servis yeniden başlatmak, kendi nginx yapılandırmanızı yazmak ya da bir port dinleyen uygulama çalıştırmak istiyorsanız paylaşımlı hosting yanlış zemin demektir; kök erişimi olan bir sunucuya geçmeniz gerekir.

    Paylaşımlı Hostingte SSH ile Yapabileceğiniz Pratik İşler#

    Jailshell kısıtlarına rağmen günlük işlerin büyük bölümü SSH'te dosya yöneticisinden kat kat hızlıdır. En sık kullanılanlar:

    Büyük arşiv oluşturma ve açma. Dosya yöneticisi 50 bin dosyalık bir dizini sıkıştırırken zaman aşımına uğrar; kabukta saniyeler sürer:

    cd ~
    tar -czf site-yedek-$(date +%F).tar.gz public_html
    tar -xzf eski-site.tar.gz -C public_html
    

    Arayüz tarafındaki karşılığı ve sıkıştırma biçimleri arasındaki farklar için cPanel zip sıkıştırma ve çıkarma yazısına bakın.

    Veritabanı yedeği alma ve geri yükleme. phpMyAdmin büyük tablolarda zaman aşımına uğrar; kabukta böyle bir sınır yoktur:

    mysqldump -u kullanici_db -p kullanici_wp > wp-yedek.sql
    mysql -u kullanici_db -p kullanici_wp < wp-yedek.sql
    

    WordPress toplu işleri. WP-CLI kuruluysa panelden dakikalar süren işler tek komuta iner:

    wp core update
    wp plugin update --all
    wp search-replace 'http://eskisite.com' 'https://yenisite.com' --skip-columns=guid
    wp db optimize
    

    Site taşıma sonrası URL değişimi için bu komut serileştirilmiş verileri de doğru şekilde günceller — veritabanında elle "bul ve değiştir" yapmanın bozduğu tam olarak budur. Komut setinin tamamı için WP-CLI kullanımı yazısına göz atabilirsiniz.

    Dosya izinlerini toplu düzeltme. Yanlış izinler yüzünden 403 alan bir siteyi iki komutla düzeltirsiniz:

    find ~/public_html -type d -exec chmod 755 {} \;
    find ~/public_html -type f -exec chmod 644 {} \;
    

    Disk dolduran dizini bulma. "Disk kotam doldu ama neden bilmiyorum" sorusunun cevabı genellikle bir log dosyası ya da eski bir yedektir:

    du -sh ~/* | sort -h
    du -sh ~/public_html/wp-content/* | sort -h
    

    Sık Karşılaşılan Hatalar ve Çözümleri#

    Hata mesajıGerçek nedenÇözüm
    Permission denied (publickey)Anahtar Authorize edilmemişcPanel'de Manage SSH Keys → Authorize
    Permission denied (publickey) (anahtar yetkili)Yanlış anahtar dosyası kullanılıyorssh -i ile doğru dosyayı belirtin
    Connection timed outYanlış port veya firewall engeliDoğru SSH portunu doğrulayın; mobil veriyle test edin
    Connection refusedSSH servisi kapalı / paket kısıtıFirmadan SSH açmasını isteyin
    WARNING: UNPROTECTED PRIVATE KEY FILEÖzel anahtarın izinleri genişchmod 600 ~/.ssh/anahtar_dosyasi
    Host key verification failedSunucu yeniden kurulmuşssh-keygen -R alanadiniz.com sonra tekrar bağlanın
    sudo: command not foundJailshell kısıtıNormaldir; kök erişimi gerekir
    -bash: wp: command not foundWP-CLI kurulu değilFirmadan kurulumunu isteyin veya kendi dizininize kurun

    Özel anahtar izni sorunu Linux ve macOS'ta neredeyse herkesin başına gelir; çözümü tek satırdır:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/cloutr_hosting
    

    Anahtarınızı her bağlantıda parolayla açmaktan yorulduysanız ssh-agent işi devralır; birden fazla sunucu ve anahtarla çalışıyorsanız bu neredeyse zorunlu hâle gelir.

    Uzun adresleri ve -i, -p bayraklarını her seferinde yazmamak için yerel makinenizde ~/.ssh/config dosyasına kısa bir kayıt bırakın:

    Host hosting
        HostName alanadiniz.com
        User cpanelkullanicisi
        Port 22
        IdentityFile ~/.ssh/cloutr_hosting
        ServerAliveInterval 60
    

    Bundan sonra ssh hosting yazmanız yeterlidir; scp dosya.zip hosting:~/public_html/ gibi dosya transferleri de aynı kısa adı kullanır. ServerAliveInterval satırı, uzun süren komutlarda oturumun sessizce düşmesini engeller — özellikle NAT arkasındaki ev bağlantılarında bu tek satır çok işe yarar. Farklı sunucular için farklı Host blokları ekleyip her birine kendi anahtarını tanımlayabilirsiniz; böylece yanlış anahtarla bağlanma kaynaklı "Permission denied" hatası da ortadan kalkar.

    Sıkça Sorulan Sorular#

    cPanel'de SSH erişimi nasıl açılır#

    cPanel ana ekranında Güvenlik bölümündeki SSH Erişimi simgesine tıklayıp Manage SSH Keys ekranından anahtarınızı oluşturur veya içe aktarır, ardından anahtarı Authorize edersiniz. Simge hiç görünmüyorsa hosting paketinizde SSH özelliği kapalıdır ve yalnızca hosting firmanız açabilir. Paylaşımlı hostingte SSH varsayılan olarak kapalı tutulur; talebinizde ne için kullanacağınızı belirtirseniz açılma ihtimali artar. Anahtarı yetkilendirmeyi atlarsanız bağlantı "Permission denied (publickey)" hatasıyla reddedilir.

    cPanel Terminal aracı ile SSH arasındaki fark nedir#

    Terminal aracı tarayıcı içinden çalışır ve hiçbir kurulum, anahtar ya da ek port gerektirmez; panele girdiğiniz oturumu devralır. Gerçek SSH bağlantısı ise bir istemci programı, yetkilendirilmiş anahtar ve açık bir SSH portu ister. Terminal'in sınırı oturumun kalıcı olmamasıdır: sekmeyi kapattığınızda çalışan komut kesilir, bu yüzden uzun işleri screen ile arka plana almalısınız. Ayrıca Terminal ile yerel bilgisayarınızdan scp ile dosya kopyalayamazsınız.

    Paylaşımlı hostingte sudo neden çalışmıyor#

    Paylaşımlı hostingte jailshell adı verilen kısıtlı bir kabuğa düşersiniz ve bu kabuk sizi kendi ev dizininize hapseder. sudo, su ve sistem servislerini yöneten komutlar tasarım gereği kapalıdır, çünkü aynı sunucuda yüzlerce başka hesap barınır. Hangi kabukta olduğunuzu echo $SHELL komutuyla görebilirsiniz. Sistem paketi kurmak veya servis yeniden başlatmak istiyorsanız kök erişimi olan bir sanal ya da fiziksel sunucuya geçmeniz gerekir.

    SSH anahtarı oluşturdum ama bağlanamıyorum#

    En yaygın sebep anahtarın Authorize edilmemiş olmasıdır; cPanel'de Manage SSH Keys ekranında anahtarın durumu "authorized" görünmelidir. İkinci sebep yanlış port kullanmaktır: birçok sağlayıcı SSH portunu 22 dışında bir değere taşır ve doğru portu hoş geldiniz e-postasında bildirir. Üçüncü sebep özel anahtar dosyasının izinlerinin fazla geniş olmasıdır; chmod 600 ile düzeltilir. Bağlantıyı ssh -v ile başlatırsanız hangi aşamada durduğunu ayrıntılı olarak görürsünüz.

    SSH anahtarı yerine şifreyle bağlanabilir miyim#

    Çoğu sunucuda hayır, çünkü kaba kuvvet saldırılarına karşı şifreyle giriş kapatılmıştır ve yalnızca anahtar kabul edilir. Şifreyle giriş açık olsa bile kullanmanız önerilmez: internete açık bir SSH portuna saniyeler içinde otomatik deneme trafiği gelir. Anahtar tabanlı kimlik doğrulama hem daha güvenli hem de günlük kullanımda daha pratiktir. Anahtar dosyanızı mutlaka bir parolayla koruyun, böylece dosya çalınsa bile tek başına işe yaramaz.

    SSH ile bağlanınca hangi dizine düşerim#

    Bağlandığınızda kendi ev dizininize, yani /home/kullaniciadi yoluna düşersiniz. Web sitesi dosyalarınız bunun altındaki public_html klasöründedir; cd ~/public_html komutuyla oraya geçersiniz. Ev dizininde ayrıca e-posta dosyaları, günlükler ve varsa yedekler bulunur. Paylaşımlı hostingte bu dizinin dışına çıkmanız jailshell tarafından engellenir, yani /etc veya başka kullanıcıların dizinlerini göremezsiniz.

    Uzun süren bir komutu SSH oturumu kapanınca nasıl devam ettiririm#

    Komutu screen veya tmux gibi bir terminal çoklayıcı içinde başlatın; oturum kopsa bile işlem sunucuda çalışmaya devam eder. screen -S isim ile oturum açar, Ctrl+A ardından D ile ayrılır, screen -r isim ile geri dönersiniz. Alternatif olarak nohup komut & biçimi de işlemi terminalden bağımsız hâle getirir ve çıktıyı nohup.out dosyasına yazar. Özellikle cPanel'in tarayıcı içi Terminal aracında bu şart, çünkü sekmeyi kapatmak oturumu bitirir.

    Kapanış#

    cPanel'de SSH erişimi, dosya yöneticisi ve FTP ile saatler süren işleri saniyelere indiren bir araç; ama işe yaraması için üç şeyin doğru olması gerekiyor: paketinizde SSH açık olmalı, anahtarınız yalnızca oluşturulmuş değil Authorize edilmiş olmalı ve doğru porta bağlanıyor olmalısınız. Anahtar kurulumuyla uğraşmadan tek seferlik bir iş yapacaksanız cPanel'in tarayıcı içi Terminal aracı çoğu zaman yeterlidir; uzun süren komutlarda screen kullanmayı unutmayın. Paylaşımlı hostingte düştüğünüz jailshell'in sudoya izin vermemesi bir arıza değil, tasarımın kendisidir — sistem düzeyinde iş yapacaksanız zemini değiştirmeniz gerekir.

    Kök erişimi isteyen işler (kendi nginx yapılandırmanız, sistem paketi kurulumu, port dinleyen bir servis, Docker) söz konusuysa VDS sunucu paketleri tam yetkili bir kabuk ve kendi güvenlik duvarınızı yönetme imkânı verir. Buna karşılık ihtiyacınız yalnızca WP-CLI, composer ve büyük arşiv işlemleriyse web hosting paketleri SSH erişimiyle birlikte gelir ve sunucu bakımıyla uğraşmazsınız. Sunucunuz var ama kullanıcı, anahtar, port ve güvenlik duvarı yönetimini üstlenmek istemiyorsanız sunucu yönetimi hizmeti bu tarafı devralır.

    cPanelSSHterminal

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.