SSH Komutları ve Terminal Kısayolları

Web geliştirme dünyasında grafik kullanıcı arayüzleri (GUI) ve kontrol panelleri işlerimizi oldukça kolaylaştırsa da, gerçek güç ve esneklik her zaman siyah ekranın ardında yatar. Bir web projesini yayına alırken, sunucu tarafında ortaya çıkan bir hatayı (bug) ayıklarken veya dosya izinlerini düzenlerken terminale hakim olmak, sizi ortalama bir geliştiriciden ayırıp profesyonel bir sistem yöneticisi seviyesine taşır.

Özellikle bulut sunucularla (cloud servers) çalışırken, terminal ve SSH yetenekleriniz sizin en önemli araç setinizdir. Peki, bu karanlık ama bir o kadar da aydınlatıcı dünyaya nasıl adım atarız?

Temel Kavramlar: Terminal ve SSH Nedir?

Terminal (Komut Satırı Arayüzü – CLI): Bilgisayarınızın veya bağlandığınız bir sunucunun işletim sistemiyle metin tabanlı olarak iletişim kurmanızı sağlayan arayüzdür. Farenizle yaptığınız tıklamaların aksine, terminalde isteklerinizi yazılı komutlar halinde iletirsiniz. Bu, işlemleri çok daha hızlı, kesintisiz ve düşük kaynak tüketimiyle gerçekleştirmenizi sağlar.

SSH (Secure Shell) Nedir ve Neden Kullanılır? SSH, ağ üzerindeki başka bir bilgisayara (genellikle bir web veya veritabanı sunucusuna) uzaktan, şifrelenmiş ve son derece güvenli bir şekilde bağlanmanızı sağlayan ağ protokolüdür. SSH kullanmamızın temel nedenleri şunlardır:

  • Güvenlik: İstemci (sizin bilgisayarınız) ile sunucu arasındaki tüm veri akışı kriptolanır. Parolalarınız veya aktardığınız veriler ağ dinleyicileri (sniffer) tarafından okunamaz.
  • Performans: Grafik arayüz verisi taşınmadığı için bağlantı son derece hızlıdır. Düşük internet hızlarında bile sunucunuzu kesintisiz yönetebilirsiniz.
  • Tam Kontrol: Sunucu üzerinde root (kök) veya yetkili kullanıcı erişimiyle, grafik panellerin (cPanel, Plesk vb.) kısıtlamalarına takılmadan işletim sisteminin her noktasına müdahale edebilirsiniz.
server  terminal ssh

Sunucuya Terminal Üzerinden Nasıl Bağlanılır?

SSH bağlantısı kurabilmek için öncelikle sunucunuzun “kimlik ve adres” bilgilerine ihtiyacınız vardır.

Terminal (SSH) Bilgilerine Nasıl Ulaşılır? Bu bilgiler genellikle hosting veya bulut sunucu sağlayıcınızın müşteri yönetim panelinde yer alır. Bir sunucu (VPS/VDS) satın aldığınızda, sağlayıcınız size şu bilgileri iletir:

Sunucuya Terminal Üzerinden Nasıl Bağlanılır?

Terminal (SSH) Bilgilerine Nasıl Ulaşılır? Bu bilgiler genellikle hosting veya bulut sunucu sağlayıcınızın müşteri yönetim panelinde yer alır. Bir sunucu (VPS/VDS) satın aldığınızda, sağlayıcınız size şu bilgileri iletir:

  1. Sunucu IP Adresi: (Örn:
    192.168.1.50
    )
  2. Kullanıcı Adı: (Genellikle Linux sunucularda varsayılan olarak
    root
    veya özel oluşturulmuş bir kullanıcı adı)
  3. Parola veya SSH Anahtarı (Key): Güvenlik için size verilen şifre veya
    .pem
    /
    .pub
    uzantılı anahtar dosyası.
  4. Port Numarası: Varsayılan SSH portu 22’dir, ancak güvenlik amacıyla sunucu yöneticileri bunu farklı bir porta (örn: 2222) taşımış olabilir.

Bağlantı Adımları: Windows kullanıyorsanız PowerShell veya Git Bash, macOS veya Linux kullanıyorsanız doğrudan sistemin kendi Terminal uygulamasını açın ve şu temel formülü yazın:

Bash


ssh kullanici_adi@sunucu_ip_adresi

Örneğin:

Eğer sunucunuz standart dışı bir port kullanıyorsa

-p
parametresini eklemelisiniz:

Bash


ssh [email protected] -p 2222

Komutu çalıştırdığınızda sistem size parolayı soracaktır. Terminalde parola yazarken ekranda karakterler (yıldız dahil) görünmez. Bu bir güvenlik önlemidir; parolanızı yazıp

Enter
tuşuna basmanız yeterlidir.

Hayat Kurtaran SSH Komutları

Bağlantıyı kurduk ve sunucunun içindeyiz. İşte bir web geliştiricisinin günlük operasyonlarında en çok ihtiyaç duyacağı, hayat kurtaran komutlar:

1. Dizin ve Dosya Navigasyonu

  • pwd
    (Print Working Directory): Sunucu içinde şu an tam olarak hangi klasörde bulunduğunuzu dizin yolu olarak gösterir (Örn:
    /var/www/html
    ).
  • ls -la
    : Bulunduğunuz dizindeki tüm dosyaları (gizli dosyalar dahil), dosya boyutları, sahiplik bilgileri ve izinleriyle birlikte listeler.
  • cd klasor_adi
    (Change Directory): Belirtilen klasöre geçiş yapmanızı sağlar. Bir üst klasöre çıkmak için
    cd ..
    kullanılır. Kök dizine dönmek için sadece
    cd
    veya
    cd ~
    yazabilirsiniz.

2. Dosya ve Klasör Yönetimi

  • mkdir yeni_klasor
    (Make Directory): Yeni bir klasör oluşturur.
  • touch index.php
    : İçi boş yeni bir dosya oluşturur.
  • rm -rf klasor_adi
    (Remove): Belirtilen klasörü ve içindeki her şeyi geri dönüşümsüz olarak siler. (Dikkatli kullanılmalıdır!) Sadece dosya silmek için
    rm dosya.txt
    yeterlidir.
  • cp kaynak_dosya hedef_dosya
    (Copy): Dosyayı kopyalar. Klasör kopyalamak için
    cp -r kaynak hedef
    kullanılır.
  • mv eski_isim yeni_isim
    (Move): Dosyanın adını değiştirmek veya dosyayı başka bir dizine taşımak için kullanılır.

3. Web Geliştiriciler İçin Sahiplik ve İzinler

  • chmod 755 klasor_adi
    : Dosya veya klasörün okuma/yazma/çalıştırma izinlerini ayarlar. (Web klasörleri için genelde klasörler 755, dosyalar 644 yapılır).
  • chown -R www-data:www-data /var/www/html
    : Web sunucusunun (Apache/Nginx) dosyaları okuyup yazabilmesi için klasör sahipliğini değiştirir. Özellikle web sitenizde “klasöre yazılamıyor” hatası alıyorsanız hayat kurtarır.

4. Dosya İçeriği Okuma ve Düzenleme

  • nano dosya.txt
    veya
    vim dosya.txt
    : Terminal üzerinden metin editörü açarak dosya içeriğini düzenlemenizi sağlar. (Nano daha başlangıç dostudur).
  • cat error.log
    : Dosyanın tüm içeriğini terminal ekranına yazdırır.
  • tail -f /var/log/nginx/error.log
    : En kritik komutlardan biridir. Log dosyasının son satırlarını gösterir ve dosya güncellendikçe ekranı canlı olarak akıtır. Sitenizdeki anlık hataları izlemek için mükemmeldir. Canlı akıştan çıkmak için
    Ctrl + C
    yapılır.
  • grep "aranan_kelime" dosya.txt
    : Dosya içinde belirli bir kelimeyi veya hatayı arar ve sadece o satırları ekrana basar.

5. Arşivleme ve Sıkıştırma (Yedek Alma)

  • tar -czvf yedek.tar.gz /var/www/html
    : Belirtilen klasörü sıkıştırarak
    .tar.gz
    formatında tek bir yedek dosyası haline getirir.
  • tar -xzvf yedek.tar.gz
    : Sıkıştırılmış
    .tar.gz
    dosyasını bulunduğunuz dizine çıkartır.

6. Sistem Durumu ve Analiz

  • htop
    veya
    top
    : Sunucunuzun CPU, RAM kullanımını ve çalışan işlemleri (process) canlı olarak gösterir. Sunucu neden yavaşladı sorusunun cevabını burada bulursunuz.
  • df -h
    : Sunucunuzun disk doluluk oranlarını okunabilir (Megabayt/Gigabayt) formatta listeler.
  • free -m
    : Sunucunun anlık boş ve dolu RAM miktarını Megabayt cinsinden gösterir.

Hız Kazandıran Terminal Kısayolları

Komutları bilmek kadar onları hızlı yazabilmek de önemlidir. Terminalde geçirdiğiniz süreyi yarı yarıya kısaltacak klavye kısayolları:

  • Tab (Sekme) Tuşu: En büyük yardımcınızdır. Uzun bir dosya veya klasör adının ilk birkaç harfini yazıp Tab’a bastığınızda terminal kalanını otomatik tamamlar.
  • Ctrl + C: Devam eden bir işlemi veya komutu anında iptal eder/durdurur.
  • Ctrl + L: Ekrandaki tüm komut kalabalığını temizler ve size taze, boş bir ekran sunar (Tıpkı
    clear
    komutu gibi).
  • Ctrl + R (Reverse Search): Geçmişte yazdığınız uzun bir komutu hatırlayamıyorsanız bu kısayola basın ve komutun içinde geçen bir kelimeyi yazın. Terminal geçmişi tarayıp komutu bulacaktır.
  • Ctrl + A: İmleci anında bulunduğunuz satırın en başına taşır.
  • Ctrl + E: İmleci anında bulunduğunuz satırın en sonuna taşır.
  • Ctrl + U: İmleçten önceki tüm metni siler (Yanlış yazılan uzun bir komutu tek seferde silmek için).
  • Ctrl + W: İmleçten önceki tek bir kelimeyi siler.
  • Yukarı / Aşağı Yön Tuşları: Terminal geçmişinde daha önce yazdığınız komutlar arasında gezinmenizi sağlar.

Terminal, başlangıçta dik bir öğrenme eğrisine sahip gibi görünse de kas hafızanıza yerleştikten sonra vazgeçilmez bir çalışma ortamı haline gelir. Yukarıdaki komutları ve kısayolları günlük iş akışınıza dahil ettikçe, hem sunucu yapılandırmalarında hem de hata ayıklama süreçlerinde çok daha profesyonel ve proaktif bir refleks kazandığınızı fark edeceksiniz. Siyah ekranın potansiyelini keşfetmeye hemen bir deneme sunucusuna bağlanarak başlayabilirsiniz.

Bir yanıt yazın