Sıfırdan SSH ile Sunucuya Bağlanma Rehberi (2026)
SSH ile sunucuya güvenli bağlanmayı sıfırdan öğrenin: anahtar üretimi, kullanıcı/port seçimi, ilk bağlantı, güvenlik kontrolleri ve sorun giderme.
SSH (Secure Shell), VDS/VPS ya da dedicated sunucunuza yönetim erişimi sağlayan temel yoldur. Doğru kurulum yapılmadığında en sık yaşanan sorunlar; kimlik doğrulama hataları, yanlış port/yönetici kullanıcı, güvenlik duvarı (firewall) blokları ve anahtar yerine parola kullanımıdır. Bu rehberde sıfırdan başlayarak SSH anahtarı üretme, ilk bağlantıyı kurma, ardından erişimi güvenle sürdürme adımlarını göreceksin. Amaç; senin “bağlandım ve yönetebiliyorum” noktasına net bir şekilde ulaşmanı sağlamak.
SSH bağlantısı için önce doğru bilgileri topla
SSH ile bağlanmak için sağlayıcının panelinden şu bilgileri netleştir:
- Sunucu IP adresi: IPv4 (ve gerekiyorsa IPv6)
- SSH portu: Çoğu sistemde 22; bazı sağlayıcılarda farklı olabilir
- Kullanıcı adı: Örnekler: root (riskli), ubuntu, debian, centos. Sağlayıcı dokümanı belirleyicidir.
- Kimlik doğrulama yöntemi: Parola yerine anahtar (SSH key) hedeflenmelidir.
En sık yapılan hata: yanlış kullanıcı/port
Örneğin sağlayıcı “IP: x.x.x.x, port: 22, kullanıcı: ubuntu” diyorsa; sen “root ve 2222” denersen bağlantı ilerlemez. Bu yüzden ilk adımda panel ekran görüntülerini not etmek, saat kazandırır.
Adım 1: SSH anahtarı (key pair) oluştur
Anahtar yöntemi, parola yöntemine göre daha güvenlidir ve otomasyon (script), kimlik doğrulama kalıcılığı için idealdir.
Aşağıdaki komutlar yerel bilgisayarında çalışır.
Windows (PowerShell)
- PowerShell’i yönetici olarak aç.
- Anahtar üret:
ssh-keygen -t ed25519 -C "netkyas-ssh"
- Dosya yolu için varsayılan genelde uygundur (ör.
C:\Users\kullanici\.ssh\id_ed25519). - Parola sorarsa, tercihine göre boş bırakabilirsin. Güvenlik için parola eklemek mantıklıdır; ancak otomasyon kullanacaksan Agent (ssh-agent) kurulumunu da düşün.
Linux/macOS
Terminalde:
ssh-keygen -t ed25519 -C "netkyas-ssh"
Anahtar dosyaları genellikle ~/.ssh/id_ed25519 ve ~/.ssh/id_ed25519.pub olur.
“public key” nedir, hangisini göndereceğim?
- Gönderilecek dosya: id_ed25519.pub (public key)
- Yerel bilgisayarda saklanan özel anahtar: id_ed25519 (private key)
Public key içeriğini görmek için:
cat ~/.ssh/id_ed25519.pub
Adım 2: Public key’i sunucuya ekle
Bu adım iki şekilde yapılır:
- Sağlayıcı paneli “SSH Key” alanı sunuyorsa oraya yapıştırırsın.
- Panel yoksa sunucuya ilk erişim (bazı sistemlerde sağlanan geçici yöntemle) yapılıp ~/.ssh/authorized_keys içine eklenir.
Sağlayıcı paneli varsa (en pratik yöntem)
- NetKıyas’ta gördüğün sağlayıcıya ait kontrol panelinde “SSH Key”, “Access” ya da “User” benzeri menüyü aç.
- id_ed25519.pub içeriğini yapıştır.
- Değişiklikleri kaydet.
Bu yöntem, kullanıcıdan kullanıcıya en az riskle taşır.
Panel yoksa: authorized_keys yöntemi (genel akış)
Sunucuya geçici erişim sağlandıktan sonra hedef kullanıcı için:
- ~/.ssh klasörü yoksa oluştur
- authorized_keys dosyasına public key ekle
Bu işlem genelde şu kavramlarla yönetilir:
- ~/.ssh/authorized_keys içine satır satır public key
- Dosya izinleri: 700 klasör, 600 dosya
İzinler yanlışsa SSH “key kabul etmiyorum” hatası verebilir. Bu yüzden izinleri düzeltmek kritik olur.
Adım 3: İlk SSH bağlantısını kur
Artık sunucu IP, port ve kullanıcı adı net.
Anahtar ile bağlanma komutu
Linux/macOS/Windows PowerShell’de (OpenSSH):
ssh -i ~/.ssh/id_ed25519 kullanici@sunucu-ip -p 22
-iözel anahtar dosyanı belirtir.-pportu ayarlar.
İpucu: Port 22 ise -p 22 yazmak zorunlu değildir.
İlk bağlantıda host fingerprint uyarısı
İlk kez bağlanırken şu tarz bir uyarı görürsün: - “The authenticity of host ... can’t be established”
Burada hedef: sağlayıcının verdiği host key fingerprint’i ile senin ekranda gördüğün değeri doğrulamak. Doğrulama yapmadan yes deyip devam etmek riskli olabilir.
Adım 4: Bağlantı güvenliğini düzgün ayarla
SSH’ye bağlandın; sıra güvenlikte “varsayılanlar”ı kontrol etmekte.
Kontrol listesi (hedef: parola kapalı, anahtar aktif)
Sunucunda (root ya da yetkili kullanıcı ile):
- Parola ile giriş kapalı mı?
- SSH konfigürasyonunda
PasswordAuthentication noolmalı. - Anahtar ile giriş açık mı?
-
PubkeyAuthentication yesolmalı. - Yetkisiz kullanıcılar/izinler düzgün mü?
- Port doğru mu? - Sağlayıcı farklı port önerdiyse aynı port kullan.
Genel dosya yolu dağıtıma göre değişebilir ama en yaygın konum:
- /etc/ssh/sshd_config
Ne zaman “root” yerine standart kullanıcı kullanmalısın?
- Günlük erişim için standart kullanıcı (ör. ubuntu/debian) kullanıp gerektikçe
sudoile yönetmek daha güvenlidir. - Root ile sürekli giriş; loglarda risk artışı ve yanlış komutta geniş etki anlamına gelir.
Dosya izinleri: anahtar kabul sorunlarının en yaygın kökü
Şu hatalar sık görülür: - “Permission denied (publickey)” - “Server refused our key”
Bu tür hatalarda hızlı kontrol:
- Yerel private key izinleri (Linux/macOS): chmod 600 ~/.ssh/id_ed25519
- Sunucudaki ~/.ssh ve authorized_keys izinleri: klasör 700, dosya 600
Adım 5: Bağlantıyı kalıcı ve konforlu hale getir (SSH config)
Her seferinde komut yazmak yerine ~/.ssh/config dosyasında tanım yap.
Örnek (Linux/macOS/Windows git bash veya PowerShell’de de benzer mantık):
Host ornek-vps
HostName sunucu-ip
User kullanici
Port 22
IdentityFile ~/.ssh/id_ed25519
Sonra sadece:
ssh ornek-vps
gibi bağlanırsın.
SSH bağlantısı sorun giderme: en net 10 senaryo
Aşağıdaki tabloda, hata mesajı benzerliğine göre en hızlı çözümü bul.
| Belirti / hata mesajı | En olası sebep | Net kontrol adımı |
|---|---|---|
Permission denied (publickey) |
Yanlış key ya da sunucuda public key yok | Sunucunun panelindeki key ile local id_ed25519.pub aynı mı kontrol et |
Connection timed out |
Firewall / port kapalı / yanlış IP | Portu doğrula; sağlayıcı güvenlik grubunda SSH açık mı? |
Connection refused |
SSH servisi çalışmıyor veya yanlış port | sshd durumu ve doğru port kullanımı |
Host key verification failed |
Host key değişti (IP yeniden kullanımı vb.) | Sağlayıcı doğrulaması yap; config’te old data temizle |
No route to host |
Ağ erişimi yok | IP doğru mu, lokasyon/route engeli var mı |
Bad configuration option (sshd_config) |
Konfigürasyon hatası | sshd -t (test) ile syntax kontrol |
| Yavaş bağlantı | DNS/route gecikmesi | IP ile bağlanmayı dene, DNS’i atla |
| Parola soruyor ama kapalı | PasswordAuthentication no |
Anahtar yönteminin aktif olduğundan emin ol |
| Sık kopmalar | Keepalive yok, ağ kararsız | ServerAliveInterval ayarla |
| Yetki hatası | Kullanıcının home klasörü/izinleri yanlış | ~/.ssh izinlerini ve home ownership’ı kontrol |
Mini test komutları (bağlantı türünü ayırmak için)
- Port açık mı sorusu için:
nc -vz sunucu-ip 22
nc yoksa telnet veya sağlayıcı paneli ile port kontrolü yapılabilir.
Port 22 mi farklı mı? Doğru tercihi sayılarla netleştir
Port değiştirmek tek başına güvenlik sağlamaz; ama “robot taramalarını azaltma” etkisi olur. En kritik olan; sağlayıcının firewall/kontrol paneli seviyesinde SSH portunun açık olması ve gerçek kullanıcı/anahtar doğrulamasının çalışmasıdır.
Net yaklaşım: - Sağlayıcı varsayılan olarak 22 kullanıyorsa 22 ile başla. - 22 kapalıysa ve sağlayıcı 2222 gibi özel port veriyorsa o portu birebir kullan. - Deneme amaçlı her portu rastgele açma; loglarda güvenlik izlerini artırır.
SSH ile yönetimi büyüt: rutin güvenlik uygulamaları
Bağlantıyı kurmak kadar sürdürmek de önemlidir.
Fail2ban gibi servisler hangi problemi çözer?
- Brute-force (parola denemeleri) saldırılarına karşı otomatik bloklama sağlar.
- Ama senin sisteminde parola kapalıysa etkisi azalır; yine de diğer anomali denemeleri için faydalı olabilir.
Güncelleme ve anahtar yönetimi
- SSH anahtarlarını düzenli aralıklarla gözden geçir.
- Yeni kullanıcı eklendiğinde sadece gerekli public key’i ekle.
- Gereksiz eski anahtarları
authorized_keysiçinden temizle.
Sonuç: Şimdi aksiyon planı
Bu rehberle ilk hedefin: IP/port/kullanıcı bilgilerini doğrulayıp anahtar tabanlı SSH ile bağlanmak. En hızlı ilerlemek için sırayla şunları yap: (1) ed25519 key üret, (2) public key’i sunucuya ekle, (3) ssh -i ... -p ... komutu ile ilk bağlantıyı kur, (4) PasswordAuthentication ayarını anahtar lehine kontrol et, (5) ~/.ssh/config ile yönetimi kalıcı hale getir.
Bağlandıktan sonra bir sonraki adım olarak güvenlik katmanlarını (firewall kuralları, log izleme, yetki sınırları) yapılandır. Böylece SSH sadece “erişim aracı” değil, kontrollü bir yönetim kanalına dönüşür.
Hosting karşılaştırması yapmaya hazır mısın?
100+ firmanın fiyatlarını tek tıkla karşılaştır, en uygun paketi bul.
Hosting Karşılaştır →İlgili Yazılar
WordPress yedekleme: UpdraftPlus mı sunucu yedeği mi?
WordPress’te yedek stratejisini netleştirin: UpdraftPlus (eklenti) ile sunucu yedeği farkları, restore testi, RPO/RTO ve doğru kombinasyon.
Robots.txt ve sitemap.xml: Hosting’de en iyi yerleşim rehberi
Robots.txt ve sitemap.xml dosyalarının doğru dizilimi, hosting’de etkili yerleşimi ve hataları düzeltme adımlarıyla SEO risklerini azaltın.
WordPress Hosting Seçerken 7 Kritik Faktör (Net Rehber)
WordPress hosting seçimi için CPU/RAM, SSD, önbellek, CDN, yedek, güncelleme, destek ve ölçeklenebilirliği 7 kritik faktörle net karşılaştır.
Sunucu CPU %100: Sebepler ve Net Çözümler Rehberi (2026)
Sunucu CPU yüzde 100 olduğunda hangi süreçler suçludur? Net teşhis adımları, log kontrolleri ve kalıcı çözümlerle sistemi yeniden dengeleyin.
