Sıfırdan SSH ile Sunucuya Bağlanma Rehberi
Bu rehberde VDS/VPS, Linux ve Windows’tan SSH ile giriş yapmayı sıfırdan öğrenin. Anahtar, port, güvenlik ve test adımları net anlatılır.
SSH ile sunucuya bağlanma; web paneli arayüzü yerine komut satırı üzerinden doğrudan erişim sağladığı için VDS/VPS ve dedicated sunucu yönetiminde temel beceridir. İlk kurulumda yapılan küçük hatalar (yanlış kullanıcı, yanlış port, eksik izinler, şifre/anahtar karmaşası) saniyeler içinde erişimi engelleyebilir. Bu rehberde, en baştan (sunucu bilgilerini toplama → bağlantı → ilk testler → güvenlik kilitleme) adım adım ilerleyeceksiniz. Hedef: “bağlandım ve güvenli şekilde yönetiyorum” noktasına net biçimde gelmek.
SSH nedir ve hangi sunucularda kullanılır?
SSH (Secure Shell), istemci cihazınızdan (PC/telefon) uzak bir Linux sunucusuna güvenli bir ağ tüneli kurar. Bu tünel üzerinde komut çalıştırabilir, dosya aktarabilir ve sistem ayarlarını yönetebilirsiniz.
SSH genellikle şu ortamlarda kullanılır: - VDS/VPS: Klasik kullanım senaryosu. - Dedicated sunucu: Veri merkezindeki fiziksel sunucuya doğrudan yönetim. - Cloud sunucuları: (AWS/Azure/GCP dahil) çoğu zaman ana kullanıcı adıyla geliyor. - Linux tabanlı sistemler: Ubuntu, Debian, AlmaLinux, Rocky gibi.
Not: Sunucunuz Linux olsa bile yönetim aracı olarak panel (cPanel/DirectAdmin vb.) kullanabilirsiniz; ancak SSH, panelin erişemediği yönetim görevlerinde (servis logları, sistem ayarları, network/iptables, hardening) kritik rol oynar.
SSH üzerinden neler yaparsınız?
- Sistemde komut çalıştırma:
sudo, servis yönetimi, paket kurulumu - Dosya aktarımı:
scpvesftpile - Güvenlik yönetimi: SSH anahtarları, parola girişini kapatma (tam hardening)
- Sorun giderme: log okuma, port dinleme, bant genişliği/CPU kontrolü
Bağlanmadan önce gerekli bilgiler (net kontrol listesi)
SSH ile bağlanmak için üç veri şarttır: IP/Hostname, kullanıcı adı ve bağlantı portu. Ek olarak doğrulama yöntemi (şifre veya SSH anahtarı) gerekir.
Aşağıdaki bilgileri sunucu panelinizden (NetKıyas üzerinden satın alım yapılmasa bile, sağlayıcınızın kontrol panelinden) tek tek doğrulayın:
- Sunucu IP adresi: IPv4 genelde yeterlidir. Örnek:
203.0.113.10 - Kullanıcı adı (username): Örnekler:
root,ubuntu,debian(sağlayıcıya göre değişir) - SSH portu (port): Çoğunlukla
22, bazı sunucularda2222gibi özel portlar olabilir. - Doğrulama yöntemi:
- Şifre ile giriş: Sunucu oluşturulurken verilen root/başlangıç şifresi
- Anahtar ile giriş:
private key(özel anahtar) sizde olacak - Erişim güvenliği:
- Sunucu güvenlik grubu / firewall kuralı: SSH portuna erişim açık mı?
- Sistem hardening yapılmış mı:
AllowUsers,PermitRootLogin,PasswordAuthenticationgibi ayarlar.
Hata ayıklama için hızlı doğrulama
Şu soruların cevabı net değilse ilerlemeyin: - “IP’ye ping atabiliyor muyum?” Tek başına SSH’yi garanti etmez ama ağ katmanında engel olup olmadığını gösterir. - “Portum doğru mu?” Panelde yazan port ile yerel komutta kullandığınız port aynı olmalı. - “Doğru kullanıcı adı mı?” Yanlış kullanıcı, doğru şifre/anahtar olsa bile reddedilmeyle sonuçlanabilir.
Linux/macOS’ta SSH ile giriş (temel komutlar)
Linux veya macOS kullanıyorsanız SSH çoğu sistemde hazır gelir.
1) Port belirtilmiş SSH bağlantısı
Varsayılan port 22 ise port belirtmeden bağlanabilirsiniz:
- ssh kullanici@sunucu_ip
Port 22 değilse:
- ssh -p 2222 kullanici@sunucu_ip
Örnek:
- ssh -p 2222 [email protected]
2) İlk bağlantıda host doğrulama (known_hosts)
İlk kez bağlandığınızda şu tarz bir uyarı görebilirsiniz: - Sunucunun parmak izi (fingerprint) doğrulama ekranı
Burada yapmanız gereken: sağlayıcının size verdiği sunucu bilgileriyle parmak izi/host adı uyumunu kontrol etmek. Onay verirseniz known_hosts dosyanıza kayıt düşer.
3) Bağlantı testi (en kısa kontrol)
Giriş aldıktan sonra şu kontrolleri yapın:
- whoami
- uname -a
- ip a
- ss -tulpn | grep -E ':(22|2222)\b'
Bu kontroller, sunucuya gerçekten bağlandığınızı ve temel network servislerinin çalıştığını anlamanıza yardım eder.
Windows’ta SSH ile giriş (iki pratik yol)
Windows’ta SSH için iki yaygın yaklaşım var: Windows terminal üzerinden yerleşik OpenSSH istemcisi veya PowerShell.
Yol A: PowerShell / Windows Terminal ile
PowerShell’de:
- ssh kullanici@sunucu_ip
- Port farklıysa: ssh -p 2222 kullanici@sunucu_ip
Eğer komut tanınmıyorsa şu kontrolü yapın: - Windows ayarlarında OpenSSH Client özelliği etkin mi?
Yol B: PuTTY (tercihen ileri seviye)
PuTTY kullanacaksanız:
- Host Name: sunucu_ip
- Port: 22 veya paneldeki port
- Connection type: SSH
Anahtar tabanlı giriş için PuTTYgen ile format dönüşümü gerekebilir. Bu rehberin devamında anahtar güvenliği adımlarına odaklanacağız.
SSH anahtarı (key) ile güvenli giriş: sıfırdan kurulum
Şifreyle giriş çalışır; ancak yönetim trafiği arttıkça brute force denemeleri de artar. Bu yüzden anahtar tabanlı giriş standarttır.
Anahtar mantığı (net ayrım)
- Public key: Sunucu tarafına yüklenir. Paylaşılabilir.
- Private key: Sizde kalır. Asla paylaşılmaz.
Linux/macOS’ta anahtar üretme
Yerel cihazınızda:
- ssh-keygen -t ed25519 -a 64 -f ~/.ssh/netkiyas_server_key
Sonra public key’i görüntüleyin ve kopyalayın:
- cat ~/.ssh/netkiyas_server_key.pub
Public key’i sunucuya yükleme (en net yöntem)
Sunucuya başlangıçta şifreyle girmeniz gerekiyorsa (parola henüz kapatılmadıysa) şunları yapın:
1) Sunucuya bağlanın.
2) Public key’i sunucuya authorized_keys içine ekleyin.
En temiz yaklaşım, sunucu tarafında dosya/izinleri doğru kurmaktır:
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- nano ~/.ssh/authorized_keys (ve public key’i yeni satıra ekleyin)
- chmod 600 ~/.ssh/authorized_keys
Dosya izinleri doğru değilse SSH anahtarı reddeder.
Anahtar ile bağlantıyı test etme
Yerel cihazdan:
- ssh -i ~/.ssh/netkiyas_server_key kullanici@sunucu_ip
- Port farklıysa: ssh -i ~/.ssh/netkiyas_server_key -p 2222 kullanici@sunucu_ip
Bu noktada hedef: Şifre istemesinin tamamen bitmesi değil; en azından doğru anahtarla bağlanabildiğinizin teyididir.
En yaygın erişim hataları ve kesin çözüm yolları
Aşağıdaki tablo, “bağlanmıyor” şikayetlerinde en sık görülen nedenleri ve net çözüm adımlarını özetler.
| Belirti | Yaygın neden | Net çözüm |
|---|---|---|
Connection timed out |
Firewall veya yanlış port | Panelde SSH portunu doğrulayın; güvenlik grubu kuralında ilgili port açık mı kontrol edin |
Connection refused |
Port kapalı / SSH servisi down | Sunucu tarafında SSH servisinin çalışıp çalışmadığını sağlayıcı destekten veya konsoldan kontrol edin |
Permission denied (publickey) |
Anahtar yanlış veya izinler bozuk | Sunucuda ~/.ssh ve authorized_keys izinlerini 700 ve 600 yapın; doğru public key yüklendi mi kontrol edin |
Permission denied (password) |
Şifre hatalı veya parola kapatıldı | Şifreyi sıfırlama gerekiyorsa sağlayıcı yönergelerini izleyin; anahtar tabanlı erişim hazırsa parola kapatılmış olabilir |
Host key verification failed |
Host değişti/known_hosts uyuşmuyor | Bilinen ana bilgisayar kaydını kaldırıp (dikkatli şekilde) tekrar doğrulayın |
Sunucu tarafında temel teşhis (SSH kuruluysa)
SSH ile bağlanabildiğiniz anda şunları kontrol edin:
- Servis durumu: sudo systemctl status ssh
- Dinleme portu: sudo ss -tulpn | grep ssh
- Firewall etkisi (UFW varsa): sudo ufw status
Güvenlik kilidi: şifre girişini kapatmadan önce checklist
Parola girişini kapatmak (PasswordAuthentication kapatmak), doğru yapıldığında güvenliği ciddi artırır. Ancak yanlış yaparsanız SSH’yi kendiniz de kilitleyebilirsiniz.
Bu nedenle önce şu sırayı uygulayın:
1) Anahtar ile bağlantı %100 çalışmalı
ssh -i ... kullanici@sunucu_ipkomutu şifre sormadan bağlanıyor olmalı.
2) Ayrı bir terminalden test edin
Parola kapatmadan önce ikinci bir oturum açın. Böylece ayar yaptıktan sonra hâlâ erişiminiz devam ediyor mu hemen görürsünüz.
3) Doğru ayarı yapın (önerilen yaklaşım)
Genelde /etc/ssh/sshd_config içinde şu ayarlar görülür:
- PasswordAuthentication no
- PubkeyAuthentication yes
- Kök erişimi gerekmiyorsa PermitRootLogin no (sağlayıcının standartlarına uygun)
Bu dosyada değişiklik yaptıktan sonra:
- sudo systemctl reload sshd (veya sudo systemctl restart ssh)
Ardından yeni bağlantıyı tekrar anahtar ile test edin.
4) Güvenlik için ek önlem: Fail2ban
Fail2ban, başarısız giriş denemelerini izleyip otomatik engelleme yapabilir. Kullanıyorsanız:
- Servisin aktif olduğunu kontrol edin: sudo systemctl status fail2ban
Dosya aktarımı: SSH ile SCP/SFTP kullanma
SSH sadece komut için değil, dosya taşımak için de kullanılır.
scp(kopyalama):scp dosya.txt kullanici@sunucu_ip:/hedef/klasor/sftp(etkileşimli):sftp kullanici@sunucu_ip- Sonra
put/getile dosya gönderin/çekin
Dosya aktarımında hız ve güvenilirlik için port doğru olmalı ve sunucu tarafında hedef dizin izinleri (write) kontrol edilmelidir.
İleri seviye: SSH üzerinden servis yönetimi ve log okuma
Bağlandıktan sonra SSH ile yapılan yönetim işlemlerini doğru sırayla ele alın. Özellikle üretim ortamında tek seferde çok şey yapmak yerine adım adım ilerleyin.
Minimum yönetim seti
- Güncel durum:
uptime,free -m,df -h - Servis logları:
journalctl -u nginx -n 100 --no-pager - Kaynak tüketimi:
topveyahtop(kurulu değilseapt/yumile)
Sistem güncellemesi (net pratik)
Dağıtımınıza göre:
- Ubuntu/Debian: sudo apt update && sudo apt upgrade
- Alma/Rocky/CentOS: sudo dnf update veya sudo yum update
Son kontrol: bağlantı başarısını doğrulayacak 7 adım
SSH erişimi “kurulum bitti” sayılmadan önce şu 7 adımı tamamlayın: 1) Sunucu IP/hostname doğru mu? 2) SSH portu paneldeki ile aynı mı? 3) Kullanıcı adı doğru mu? 4) Şifreli giriş çalışıyor mu (en azından bir kez)? 5) Anahtar ile giriş çalışıyor mu? 6) Sunucu tarafında anahtar izinleri (700/600) doğru mu? 7) Parola kapatacaksanız önce ikinci oturumla test yaptınız mı?
Sonuç: Bugün uygulanacak net aksiyon planı
Bu rehberin amacı, SSH’ye “ilk kez bağlandım” seviyesinden “güvenli ve sürdürülebilir yönetim” seviyesine geçmenizi sağlamaktır. Bugün yapmanız gereken en net sıra şudur: Önce doğru IP/port/kullanıcı ile bağlantıyı doğrulayın, ardından anahtar tabanlı erişimi kurun, en son parola girişini kapatmadan önce iki oturumdan test gerçekleştirin. Son adım olarak da SSH ile log ve servis kontrolünü rutinleştirip (journalctl, sistem durumu, kaynak izleme) erişimi uzun vadede sorunsuz hale getirin.
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
WAF nedir, ne işe yarar? Web sitenizi nasıl korur?
WAF (Web Application Firewall) web uygulamalarını saldırılara karşı katmanlı korur. Bu rehberde nasıl çalıştığını ve doğru seçim kriterlerini bul.
SSL sertifikası süresi neden 90 güne indi? Teknik nedenler
SSL/TLS sertifikası 90 güne düşürüldü. ACME otomasyonu, güvenlik iyileştirmeleri ve operasyonel riskler açısından net nedenleri öğrenin.
İnternet nasıl çalışır? Domain’den sayfaya net yolculuk
Domain kaydından sayfanın açılmasına kadar DNS, CDN, TCP/TLS ve HTTP akışını net adımlarla öğren. Sorunların nerede çıktığını ayır.
Hosting Paketinde “Sınırsız” Ne Demek? Gerçek Sınırlar
Hosting paketindeki “sınırsız” iddiasının arka planını netleştirin: adil kullanım, CPU/IO limiti, bant genişliği ve şeffaf kontrol listesi.