Ekran Kartlı Sunucu Satışları Başladı. İncele
VDS ve Dedicated Sunucu

SSH ile Sunucuya Bağlanma Rehberi

SSH bağlantısı nasıl kurulur? PuTTY ve terminal kullanımı, SSH anahtarı oluşturma, şifresiz giriş ve yaygın bağlantı hatalarının çözümü.

  • 7 dk okuma
  • Güncelleme:
  • Yayın:
  • Batihost Teknik Ekibi

Kısaca Özet

  • SSH bağlantısı tek komutla kurulur: ssh kullanici@sunucu-ip. Varsayılan port 22/TCP’dir, farklı porta -p parametresiyle bağlanılır.
  • Windows 10 ve 11’de SSH istemcisi yerleşiktir; PowerShell’den doğrudan çalıştırabilirsiniz. Grafik arayüz isterseniz PuTTY kullanın.
  • Parola yerine SSH anahtarı kullanın: ssh-keygen -t ed25519 ile üretip ssh-copy-id ile yükleyin, sonra parola girişini kapatın.
  • Dosya aktarımı için scp, sftp ve rsync; grafik arayüz isteyenler için WinSCP veya FileZilla kullanılabilir.

SSH ile sunucuya bağlanma tek bir komutla yapılır: ssh kullanici@sunucu-ip. SSH (Secure Shell), uzaktaki bir sunucunun komut satırına şifreli bir kanal üzerinden erişmenizi sağlayan protokoldür ve Linux sunucu yönetiminin temelidir. Varsayılan portu 22/TCP’dir; sunucunuz farklı bir port kullanıyorsa -p parametresiyle belirtirsiniz.

Bu rehberde Windows, macOS ve Linux’tan bağlanmayı, PuTTY kullanımını, SSH anahtarı üretip şifresiz girişe geçmeyi, dosya aktarımını ve en sık karşılaşılan bağlantı hatalarının çözümünü bulacaksınız. Sunucunuzu yeni aldıysanız bağlandıktan sonraki adımlar için VDS ilk ayarlar sayfasına geçin.

SSH Nasıl Çalışır?#

SSH iki katmanlı bir yapı kurar. Önce istemci ile sunucu arasında şifreli bir kanal oluşturulur, sonra bu kanalın içinde kimlik doğrulaması yapılır. Kimlik doğrulaması iki yöntemden biriyle olur:

  • Parola: Kurulum kolaydır ama kaba kuvvet saldırılarına açıktır. Üretim sunucularında tercih edilmemeli.
  • Genel/özel anahtar çifti: Özel anahtar sizin bilgisayarınızda kalır, genel anahtar sunucuya yüklenir. Tahmin edilemez, çok daha güvenlidir.

İlk bağlantıda sunucunun genel anahtarının parmak izi size gösterilir ve onayınız istenir. Onayladığınızda parmak izi ~/.ssh/known_hosts dosyasına kaydedilir. Sonraki bağlantılarda bu değer değişirse SSH sizi uyarır; bu uyarı, araya girme girişimlerine karşı en önemli korumadır.

BilgiSunucu yeniden kurulduğunda anahtarı değişir ve SSH “REMOTE HOST IDENTIFICATION HAS CHANGED” uyarısı verir. Sunucuyu kendiniz yeniden kurduysanız eski kaydı silin: ssh-keygen -R 203.0.113.10. Bu uyarıyı beklemiyorsanız bağlantıyı kurmayın ve sağlayıcınıza danışın.

Terminalden İlk Bağlantı#

Windows 10 ve 11’de, macOS’ta ve tüm Linux dağıtımlarında SSH istemcisi hazır gelir. Ek bir program kurmadan bağlanabilirsiniz.

# Standart bağlantı
ssh root@203.0.113.10

# Farklı port
ssh -p 2222 batihost@203.0.113.10

# Belirli bir anahtar dosyasıyla
ssh -i ~/.ssh/batihost_key batihost@203.0.113.10

# Ayrıntılı çıktı (sorun ayıklama için)
ssh -vvv batihost@203.0.113.10

Windows PowerShell’de aynı komutlar birebir çalışır. Bağlantı başarılıysa sunucunun komut istemi karşınıza gelir ve artık komutlarınız uzaktaki makinede çalışır.

İndirmeniz gerekenler (Windows)
  • PuTTY (SSH istemcisi + PuTTYgen)Önerilen Windows.msi / .exeÜcretsiz
    İndir
  • WinSCP (SFTP / SCP dosya aktarımı) Windows.exeÜcretsiz
    İndir
  • FileZilla Client (çapraz platform SFTP) Windows / Linux / macOS.exeÜcretsiz
    İndir
  • Windows Terminal (çok sekmeli terminal) WindowsMağaza / GitHubÜcretsiz
    İndir

Bağlantılar resmî kaynaklara gider. SSH istemcisini üçüncü taraf sitelerden indirmeyin; değiştirilmiş sürümler girdiğiniz parolayı sızdırabilir.

PuTTY ile Bağlanma#

  1. Oturum bilgilerini girin#

    PuTTY’yi açın. Host Name (or IP address) alanına sunucunun IP adresini, Port alanına SSH portunu yazın. Connection type olarak SSH seçili olmalı.

  2. Oturumu kaydedin#

    Saved Sessions alanına bir isim yazıp Save’e basın. Bir dahaki sefere isme çift tıklamanız yeterli olur.

  3. Kopmaları önleyin#

    Sol menüden Connection bölümüne gidin, Seconds between keepalives değerini 60 yapın. Boş kalan bağlantıların düşmesini engeller.

  4. Anahtar kullanacaksanız tanımlayın#

    Connection > SSH > Auth > Credentials bölümünden PuTTYgen ile ürettiğiniz .ppk dosyasını seçin.

  5. Bağlanın#

    Open’a tıklayın. İlk bağlantıda sunucu parmak izi onayı istenir; Accept diyerek kaydedin ve kullanıcı adınızla giriş yapın.

SSH Anahtarı Oluşturma ve Şifresiz Giriş#

Parola girişini kapatıp anahtara geçmek, sunucu güvenliğinde yapabileceğiniz en etkili tek değişikliktir. Anahtarı kendi bilgisayarınızda üretin, sunucuda değil.

# Modern ve önerilen algoritma
ssh-keygen -t ed25519 -C "batihost-vds-2026"

# Eski sistemlerle uyum gerekiyorsa
ssh-keygen -t rsa -b 4096 -C "batihost-vds-2026"

# Üretilen dosyalar:
#   ~/.ssh/id_ed25519       -> özel anahtar (asla paylaşmayın)
#   ~/.ssh/id_ed25519.pub   -> genel anahtar (sunucuya yüklenir)

Anahtarı sunucuya yükleyin:

# En kolay yol
ssh-copy-id -p 2222 batihost@203.0.113.10

# ssh-copy-id yoksa elle
cat ~/.ssh/id_ed25519.pub | ssh batihost@203.0.113.10 \
  "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

# Test edin: parola sormadan girmeli
ssh batihost@203.0.113.10

Windows’ta PuTTYgen ile anahtar üretme#

PuTTY paketiyle gelen PuTTYgen’i açın, anahtar türü olarak EdDSA (Ed25519) seçin ve Generate’a basın. Fare imlecini pencerede gezdirerek rastgelelik üretin. Ardından:

  • Üstteki kutuda görünen genel anahtar metnini kopyalayıp sunucudaki ~/.ssh/authorized_keys dosyasına yapıştırın.
  • Save private key ile .ppk dosyasını güvenli bir yere kaydedin.
  • PuTTY oturumunuzda bu .ppk dosyasını tanımlayın.
UyarıÖzel anahtar dosyanızı hiçbir yere yüklemeyin, e-postayla göndermeyin, yedek diye bulut depolamaya atmayın. Özel anahtarı ele geçiren kişi parolanızı bilmeden sunucunuza girer. Anahtara ek bir parola cümlesi (passphrase) tanımlamak, dosya çalınsa bile koruma sağlar.

SSH Yapılandırma Dosyasıyla Hayatı Kolaylaştırma#

Sık bağlandığınız sunucuları ~/.ssh/config dosyasında takma adlarla tanımlayabilirsiniz. Bu dosya Windows’ta C:\Users\KullaniciAdi\.ssh\config yolundadır.

Host web01
    HostName 203.0.113.10
    User batihost
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60
    ServerAliveCountMax 3

Host oyun
    HostName 203.0.113.25
    User minecraft
    Port 22
    IdentityFile ~/.ssh/id_ed25519

Host *
    AddKeysToAgent yes
    Compression yes

Bu tanımdan sonra ssh web01 yazmanız yeterlidir. scp ve rsync de aynı takma adları kullanır.

Dosya Aktarımı: scp, sftp ve rsync#

AraçGüçlü yanıNe zaman kullanılır
scpBasit, tek komutTek dosya, hızlı aktarım
sftpEtkileşimli oturumDizinde gezinerek dosya seçmek
rsyncFark aktarımı, devam ettirmeBüyük klasörler, yedekleme, taşıma
WinSCP / FileZillaGrafik arayüzSürükle-bırak ile çalışmayı sevenler
SSH üzerinden dosya aktarım araçları
# Tek dosya gönderme
scp -P 2222 yedek.tar.gz batihost@203.0.113.10:/home/batihost/

# Sunucudan dosya çekme
scp -P 2222 batihost@203.0.113.10:/var/log/syslog ./

# Klasör aktarma (rsync, ilerleme çubuğuyla)
rsync -avz --progress -e "ssh -p 2222" ./site/ batihost@203.0.113.10:/var/www/site/

# Etkileşimli SFTP oturumu
sftp -P 2222 batihost@203.0.113.10

Rsync’in en değerli özelliği, yalnızca değişen dosyaları göndermesidir. Bir sunucudan diğerine taşıma yaparken bu, saatler kazandırır; yöntemin taşıma senaryosundaki kullanımını sunucu taşıma rehberinde anlattık.

SSH Sunucusunu Sıkılaştırma#

Sunucu tarafındaki yapılandırma /etc/ssh/sshd_config dosyasındadır. Aşağıdaki ayarlar üretim sunucuları için makul bir taban oluşturur:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
PermitEmptyPasswords no
MaxAuthTries 3
MaxSessions 5
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
X11Forwarding no
AllowUsers batihost deploy
# Sözdizimini kontrol edin, sonra servisi yeniden başlatın
sudo sshd -t
sudo systemctl restart ssh
sudo systemctl status ssh

# Yeni portu güvenlik duvarında açın
sudo ufw allow 2222/tcp comment 'SSH'
sudo ufw delete allow 22/tcp
DikkatYapılandırmayı değiştirdikten sonra mevcut oturumunuzu kapatmayın. İkinci bir terminal açıp yeni ayarlarla bağlanabildiğinizi doğrulayın. Kendinizi kilitlerseniz sağlayıcının konsol erişimine muhtaç kalırsınız.

Başarısız giriş denemelerini otomatik engellemek için Fail2Ban kurun; kurulumu ve kural yazımı güvenlik duvarı rehberinde anlatılıyor. Kimlerin giriş yaptığını görmek için:

# Başarılı girişler
last -a | head -20

# Başarısız denemeler
sudo grep "Failed password" /var/log/auth.log | tail -20

# Şu an bağlı kullanıcılar
who -a

Yaygın SSH Hataları ve Çözümleri#

HataSebepÇözüm
Connection refusedSSH servisi çalışmıyor veya port yanlışDoğru portu kullanın, sunucuda systemctl status ssh kontrol edin
Connection timed outGüvenlik duvarı engelliyor veya sunucu kapalıPortu açın, sağlayıcı panelinden sunucu durumunu kontrol edin
Permission denied (publickey)Anahtar tanınmıyorauthorized_keys içeriğini ve izinleri kontrol edin
Permission denied (password)Yanlış parola veya parola girişi kapalıKullanıcı adını doğrulayın, anahtarla girmeyi deneyin
Host key verification failedSunucu anahtarı değişmişBeklenen bir değişimse ssh-keygen -R ip ile eski kaydı silin
Too many authentication failuresAjan çok fazla anahtar deniyorssh -o IdentitiesOnly=yes -i anahtar ile tek anahtar kullanın
Broken pipeBoşta kalan bağlantı düştüServerAliveInterval 60 ekleyin
SSH bağlantı hataları ve çözümleri

Sorunun kaynağını bulamıyorsanız ayrıntılı çıktı alın: ssh -vvv kullanici@ip. Çıktıda hangi kimlik doğrulama yönteminin denendiği ve nerede reddedildiği açıkça görünür.

İleri Seviye Kullanım#

Uzun süren işleri koparmadan çalıştırma#

Bağlantınız koptuğunda çalıştırdığınız komut da durur. Uzun işlerde screen veya tmux kullanın:

# Yeni bir screen oturumu başlat
screen -S kurulum

# Oturumdan ayrıl (iş çalışmaya devam eder): Ctrl+A sonra D
# Geri dön
screen -r kurulum

# tmux karşılığı
tmux new -s kurulum
tmux attach -t kurulum

Bu araçların oyun sunucusu yönetimindeki kullanımını screen ve tmux rehberinde bulabilirsiniz.

SSH tüneli ile yerel erişim#

Sunucuda yalnızca localhost’a açık bir servis varsa (örneğin bir veritabanı yönetim arayüzü), tünel açarak kendi bilgisayarınızdan erişebilirsiniz:

# Sunucudaki 3306 portunu yerel 13306'ya bağla
ssh -L 13306:127.0.0.1:3306 batihost@203.0.113.10

# Artık kendi bilgisayarınızda 127.0.0.1:13306 adresi
# sunucudaki MySQL'e gider

Bu yöntem, veritabanı portunu internete açmadan yönetmenin en güvenli yoludur.

Komutu bağlanmadan çalıştırma#

# Tek komut çalıştırıp çık
ssh batihost@203.0.113.10 "df -h; uptime"

# Betik dosyasını uzaktan çalıştır
ssh batihost@203.0.113.10 'bash -s' < yerel-betik.sh
İpucuSunucuya bağlandıktan sonra ne yapacağınızı bilmiyorsanız Linux temel komutları sayfası günlük yönetim için gereken komutları örneklerle veriyor. Minecraft sunucusu kuracaksanız Linux üzerinde Minecraft sunucu kurulumu sayfasıyla devam edebilirsiniz.

Özetle#

SSH bağlantısı ssh kullanici@sunucu-ip komutuyla kurulur ve Linux sunucu yönetiminin tamamı bu kanal üzerinden yapılır. Windows 10 ve 11’de istemci yerleşiktir; grafik arayüz isteyenler PuTTY, dosya aktarımı isteyenler WinSCP veya FileZilla kullanabilir.

Güvenlik tarafında yapılacak en önemli şey parola girişinden anahtar tabanlı kimlik doğrulamaya geçmektir: ssh-keygen -t ed25519 ile anahtar üretin, ssh-copy-id ile yükleyin, çalıştığını doğruladıktan sonra PasswordAuthentication no yapın. Portu değiştirin, root girişini kapatın ve Fail2Ban kurun. Sık kullandığınız sunucuları ~/.ssh/config dosyasında tanımlayarak günlük işinizi kısaltın. Sunucunuzun geri kalan yapılandırması için VDS ilk ayarlar kontrol listesini tamamlayın.

Sıkça Sorulan Sorular#

SSH ile sunucuya nasıl bağlanılır?

Terminal veya PowerShell açıp ssh kullanici@sunucu-ip yazın. Örnek: ssh root@203.0.113.10. Farklı bir port kullanılıyorsa -p parametresini ekleyin: ssh -p 2222 root@203.0.113.10. İlk bağlantıda sunucunun parmak izini onaylamanız istenir.

Windows’ta SSH için ayrı program gerekir mi?

Gerekmez. Windows 10 ve 11’de OpenSSH istemcisi yerleşik gelir; PowerShell veya Komut İstemi’nden ssh komutunu doğrudan çalıştırabilirsiniz. Kaydedilmiş oturumlar, oturum günlüğü ve grafik arayüz istiyorsanız PuTTY kullanmak daha rahat olabilir.

SSH anahtarı nasıl oluşturulur?

Kendi bilgisayarınızda ssh-keygen -t ed25519 -C "aciklama" komutunu çalıştırın. İki dosya üretilir: id_ed25519 (özel anahtar, asla paylaşmayın) ve id_ed25519.pub (genel anahtar, sunucuya yüklenir). Yükleme için ssh-copy-id kullanici@sunucu-ip komutunu kullanın.

“Permission denied (publickey)” hatası neden çıkar?

Sunucu parola girişini kapatmış ve sizin anahtarınızı tanımıyor demektir. Genel anahtarınızın sunucudaki ~/.ssh/authorized_keys dosyasında olduğunu, dosya izinlerinin doğru olduğunu (.ssh için 700, authorized_keys için 600) ve doğru kullanıcı adıyla bağlandığınızı kontrol edin.

SSH portunu değiştirmeli miyim?

Faydalı ama tek başına yeterli değil. Port değişimi otomatik tarama trafiğinin büyük kısmını keser; asıl korumayı anahtar tabanlı kimlik doğrulama ve Fail2Ban sağlar. Portu değiştirirken güvenlik duvarında yeni portu açmayı ve bağlanabildiğinizi doğrulamadan eski oturumu kapatmamayı unutmayın.

SSH ile dosya nasıl aktarılır?

Tek dosya için scp dosya.txt kullanici@sunucu:/hedef/, klasörler ve büyük aktarımlar için rsync -avz kullanın. Rsync yarıda kalan aktarımı kaldığı yerden sürdürür ve yalnızca değişen kısımları gönderir. Grafik arayüz isterseniz WinSCP veya FileZilla ile SFTP bağlantısı kurabilirsiniz.

Bağlantım bir süre sonra kopuyor, nasıl önlerim?

İstemci tarafında ~/.ssh/config dosyasına ServerAliveInterval 60 satırını ekleyin; SSH her 60 saniyede bir sinyal gönderip bağlantıyı canlı tutar. Uzun süren işlerde ise bağlantı kopsa bile işin devam etmesi için screen veya tmux kullanın.

Aynı anda birden fazla sunucuya bağlanabilir miyim?

Evet, her bağlantı ayrı bir terminal sekmesinde açılabilir. Sık bağlandığınız sunucuları ~/.ssh/config dosyasına takma adla tanımlarsanız ssh web01 gibi kısa komutlarla erişirsiniz. Windows Terminal ve PuTTY de kaydedilmiş oturumları listeleyerek aynı kolaylığı sağlar.

VDS ve Dedicated Sunucu — Tüm Rehberler#

  1. VDS Nedir ve Ne İşe Yarar?
  2. VDS ve VPS Arasındaki Farklar
  3. VDS mi Dedicated Sunucu mu Seçmelisiniz?
  4. VDS Aldıktan Sonra Yapılması Gereken İlk Ayarlar
  5. Windows Sunucuya Uzak Masaüstü (RDP) Bağlantısı
  6. SSH ile Sunucuya Bağlanma Rehberi
  7. Ubuntu Server Kurulumu ve İlk Yapılandırma
  8. Sunucu Güvenlik Duvarı Yapılandırması: UFW, iptables ve Windows Firewall

Bu rehber Batihost teknik ekibi tarafından hazırlanmış ve tarihinde güncellenmiştir. Eksik veya hatalı bulduğunuz bir bilgi varsa bize bildirin.

Başa dön