SSH Nedir? Sunucuya SSH ile Nasıl Bağlanılır?

Bir sunucu kiraladığınızda size teslim edilen ilk bilgiler genellikle bir IP adresi, bir kullanıcı adı ve bir şifredir. Hosting paketlerinde her şeyi bir kontrol paneli üzerinden yönetebilirsiniz; ancak kendi sanal sunucunuza sahip olduğunuzda işin merkezine tek bir araç yerleşir: SSH. Yazılım kurmak, güncelleme yapmak, dosya taşımak, servisleri yeniden başlatmak, log incelemek ve güvenlik ayarlarını yapılandırmak için sunucuyla konuştuğunuz kanal SSH'tır.

Bu rehberde SSH'ın ne olduğunu, arka planda nasıl çalıştığını, Windows, macOS ve Linux bilgisayarlardan sunucuya nasıl bağlanacağınızı, şifre yerine SSH anahtarıyla nasıl daha güvenli oturum açacağınızı ve bağlantı sırasında karşılaşabileceğiniz yaygın hataların çözümlerini adım adım anlatıyoruz. Yazının sonunda, sunucunuzu ilk günden sağlam bir güvenlik temeline oturtmanız için kullanabileceğiniz bir kontrol listesi de bulacaksınız.

SSH Nedir?

SSH (Secure Shell), iki bilgisayar arasında güvenli, şifrelenmiş bir bağlantı kurmayı sağlayan bir ağ protokolüdür. En yaygın kullanım amacı, uzaktaki bir sunucunun komut satırına sanki o makinenin başındaymış gibi erişmektir. Bağlantı boyunca gönderdiğiniz her komut, girdiğiniz her şifre ve sunucudan dönen her çıktı şifrelenir; bu sayede aradaki ağı dinleyen biri trafiği okuyamaz.

SSH, 1995 yılında o dönemin yaygın uzak erişim araçları olan Telnet, rlogin ve rsh'ın güvenlik açıklarına yanıt olarak geliştirildi. Bu eski protokoller kullanıcı adı ve şifreleri ağ üzerinde düz metin olarak taşıyordu. Günümüzde kullanılan sürüm SSH-2'dir ve neredeyse tüm Linux dağıtımlarında, macOS'ta ve güncel Windows sürümlerinde yerleşik olarak gelen OpenSSH yazılımı bu protokolün en yaygın uygulamasıdır.

SSH Ne İşe Yarar?

SSH'ı yalnızca "uzaktan komut çalıştırma aracı" olarak görmek eksik olur. Günlük sunucu yönetiminde şu işler için kullanılır:

  • Uzak komut satırı erişimi: Sunucuda paket kurma, güncelleme, yapılandırma dosyası düzenleme ve servis yönetimi.
  • Güvenli dosya aktarımı: SSH altyapısını kullanan SCP ve SFTP ile bilgisayarınız ve sunucu arasında şifreli dosya transferi.
  • Port yönlendirme (tünelleme): Sunucuda yalnızca yerel olarak dinleyen bir servise (örneğin bir veritabanına) güvenli bir tünel üzerinden erişim.
  • Otomasyon: Yedekleme betikleri, dağıtım (deployment) süreçleri ve Git gibi araçların sunucularla şifre sormadan güvenli iletişimi.
  • Birden fazla sunucunun yönetimi: Tek bir bilgisayardan onlarca sunucuya anahtar tabanlı erişim.

Özellikle Linux sunucu kiralama seçeneklerinden birini tercih ettiyseniz, sunucunuzla etkileşiminizin büyük kısmı SSH üzerinden olacaktır.

SSH Nasıl Çalışır?

SSH istemci-sunucu modeliyle çalışır. Sizin bilgisayarınızda bir SSH istemcisi (client), uzaktaki makinede ise bağlantıları dinleyen bir SSH sunucu servisi (sshd) bulunur. Varsayılan olarak sshd, 22 numaralı TCP portunu dinler.

Bir bağlantı kurulduğunda arka planda kabaca şu adımlar gerçekleşir:

  1. Bağlantı başlatılır: İstemci, sunucunun IP adresine ve SSH portuna bağlanır. İki taraf desteklediği protokol sürümlerini ve şifreleme algoritmalarını karşılaştırır.
  2. Anahtar değişimi yapılır: Taraflar, açık anahtarlı kriptografi yöntemleriyle (örneğin Diffie-Hellman türevleri) ağ üzerinden hiçbir gizli bilgi göndermeden ortak bir oturum anahtarı üretir. Bu anahtar, oturumun geri kalanındaki tüm trafiği simetrik şifrelemeyle korur.
  3. Sunucunun kimliği doğrulanır: Sunucu, kendi "host key" anahtarıyla kimliğini kanıtlar. İlk bağlantıda istemciniz size bu anahtarın parmak izini gösterir ve kaydetmek isteyip istemediğinizi sorar. Sonraki bağlantılarda anahtar değişmişse sizi uyarır; bu mekanizma araya giren sahte sunuculara karşı koruma sağlar.
  4. Kullanıcı kimliği doğrulanır: Şifre veya SSH anahtarı ile sunucuya kim olduğunuzu kanıtlarsınız.
  5. Oturum açılır: Doğrulama başarılıysa size bir kabuk (shell) açılır ve komut çalıştırmaya başlayabilirsiniz.

Simetrik ve Asimetrik Şifrelemenin Rolü

SSH iki farklı şifreleme yaklaşımını birlikte kullanır. Asimetrik şifreleme (açık/özel anahtar çifti) kimlik doğrulama ve güvenli anahtar değişimi için kullanılır. Oturum anahtarı oluşturulduktan sonra ise trafik, çok daha hızlı çalışan simetrik şifreleme algoritmalarıyla (AES veya ChaCha20 gibi) korunur. Bu hibrit yapı hem güvenliği hem de performansı bir arada sunar.

SSH ile Diğer Uzak Erişim Yöntemlerinin Karşılaştırması

ÖzellikSSHTelnetRDP
ŞifrelemeUçtan uca şifreliYok, düz metinŞifreli
Varsayılan port22233389
Arayüz türüKomut satırıKomut satırıGrafik masaüstü
Tipik kullanımLinux sunucu yönetimiEski ağ cihazları, testWindows sunucu yönetimi
Anahtar tabanlı girişVarYokYok (sertifika tabanlı seçenekler ayrı)
Dosya aktarımıSCP / SFTP ileYokPano ve sürücü yönlendirme
Kaynak tüketimiÇok düşükÇok düşükGörece yüksek
Günümüzde önerilir mi?EvetHayırWindows ortamı için evet

Windows tabanlı sunucularda grafik arayüzle çalışmak istiyorsanız RDP daha doğal bir seçimdir; bu konuyu RDP sunucu ve uzak masaüstü bağlantısı rehberimizde ayrıntılı olarak ele aldık. Linux sunucular içinse SSH tartışmasız standarttır.

SSH Bağlantısı İçin Neler Gerekir?

Bağlantı kurmadan önce elinizde şu bilgilerin hazır olması gerekir:

  • Sunucu IP adresi veya alan adı: Örneğin 185.x.x.x veya sunucu.alanadiniz.com.
  • Kullanıcı adı: Yeni kurulan Linux sunucularda genellikle root; bazı dağıtım imajlarında ubuntu, almalinux gibi özel kullanıcılar olabilir.
  • Kimlik doğrulama bilgisi: Şifre veya daha önce sunucuya tanımlanmış bir SSH anahtarı.
  • SSH portu: Değiştirilmediyse 22.
  • Bir SSH istemcisi: İşletim sisteminizde yerleşik terminal ya da ayrı bir istemci yazılımı.

Bu bilgiler, VPS sunucu veya VDS siparişiniz aktifleştiğinde size iletilen karşılama e-postasında ve müşteri panelinizde yer alır.

Sunucuya SSH ile Nasıl Bağlanılır? (İşletim Sistemine Göre)

Linux ve macOS'tan SSH Bağlantısı

Linux ve macOS'ta OpenSSH istemcisi hazır gelir; ek bir kuruluma gerek yoktur. Terminal uygulamasını açın ve şu komutu yazın:

ssh root@SUNUCU_IP_ADRESI

SSH portu 22 dışında bir değere ayarlandıysa -p parametresiyle belirtilir:

ssh -p 2222 root@SUNUCU_IP_ADRESI

İlk bağlantıda aşağıdakine benzer bir uyarı görürsünüz:

The authenticity of host '185.x.x.x' can't be established. ED25519 key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxx. Are you sure you want to continue connecting (yes/no/[fingerprint])?

Bu mesaj bir hata değildir. İstemciniz bu sunucuyu ilk kez gördüğü için kimliğini onaylamanızı ister. yes yazıp Enter'a bastığınızda sunucunun anahtarı ~/.ssh/known_hosts dosyasına kaydedilir. Ardından şifreniz istenir. Şifre yazarken ekranda karakter görünmemesi normaldir; güvenlik amacıyla gizlenir. Doğru şifreyi girdikten sonra sunucunun komut satırına ulaşırsınız.

Windows'tan SSH Bağlantısı (PowerShell / Komut İstemi)

Windows 10'un güncel sürümleri ve Windows 11'de OpenSSH istemcisi yerleşik olarak bulunur. PowerShell'i veya Komut İstemi'ni açıp Linux'taki komutun aynısını kullanabilirsiniz:

ssh root@SUNUCU_IP_ADRESI

Komut tanınmazsa, Ayarlar > Sistem > İsteğe bağlı özellikler bölümünden "OpenSSH İstemcisi" özelliğini ekleyebilirsiniz. Windows Terminal uygulaması, birden fazla sekme ve daha rahat bir kullanım sunduğu için sık SSH kullananlar için iyi bir tercihtir.

Windows'tan PuTTY ile SSH Bağlantısı

Grafik arayüzlü bir istemci tercih edenler için PuTTY hâlâ en bilinen seçeneklerden biridir. Kullanımı şöyledir:

  1. PuTTY'yi resmi kaynağından indirip kurun.
  2. Host Name (or IP address) alanına sunucu IP adresinizi yazın.
  3. Port alanına 22 (veya değiştirdiğiniz portu) girin, bağlantı tipini SSH olarak bırakın.
  4. İsterseniz Saved Sessions alanına bir isim yazıp Save ile bağlantıyı kaydedin.
  5. Open butonuna tıklayın, ilk bağlantıdaki host key uyarısını onaylayın.
  6. "login as" satırına kullanıcı adınızı, ardından şifrenizi girin.

PuTTY'de SSH anahtarı kullanmak için anahtarın PuTTYgen aracıyla .ppk formatına dönüştürülmesi ve Connection > SSH > Auth > Credentials bölümünden seçilmesi gerekir.

Mobil Cihazlardan SSH Bağlantısı

Acil bir müdahale gerektiğinde telefonunuzdan da sunucunuza bağlanabilirsiniz. Android ve iOS için Termius, JuiceSSH (Android) gibi uygulamalar, IP, port, kullanıcı adı ve şifre ya da anahtar bilgisiyle bağlantı kurmanıza olanak tanır. Mobil cihazlarda da anahtar tabanlı giriş kullanmanızı ve uygulamayı ekran kilidiyle korumanızı öneririz.

SSH İstemcilerinin Karşılaştırması

İstemciPlatformArayüzÖne çıkan özellikKimler için uygun
OpenSSH (terminal)Linux, macOS, WindowsKomut satırıEk kurulum gerektirmez, betiklerle uyumluHerkes, özellikle teknik kullanıcılar
PuTTYWindows (öncelikli)Grafik + terminalKayıtlı oturumlar, hafif yapıKlasik Windows kullanıcıları
MobaXtermWindowsGrafik + terminalDahili SFTP tarayıcı, sekmeli yapıBirden fazla sunucu yöneten kullanıcılar
TermiusWindows, macOS, Linux, mobilGrafik + terminalCihazlar arası senkronizasyonMasaüstü ve mobili birlikte kullananlar
Windows TerminalWindowsTerminalSekmeler, profil yönetimiOpenSSH'ı Windows'ta rahat kullanmak isteyenler

SSH Anahtarı (SSH Key) ile Şifresiz ve Güvenli Bağlantı

Şifreyle giriş yapmak kolaydır ama internete açık her sunucu, günün her saatinde otomatik botlar tarafından şifre deneme saldırılarına (brute force) maruz kalır. Sunucunuzun /var/log/secure veya /var/log/auth.log dosyasına baktığınızda, kurulumdan birkaç saat sonra bile yüzlerce başarısız giriş denemesi görmeniz sıradandır. Bu riski büyük ölçüde ortadan kaldırmanın yolu SSH anahtarı kullanmaktır.

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

SSH anahtarı, birbirine matematiksel olarak bağlı iki dosyadan oluşur:

  • Özel anahtar (private key): Bilgisayarınızda kalır, kimseyle paylaşılmaz. Bir kapının anahtarı gibi düşünebilirsiniz.
  • Açık anahtar (public key): Sunucuya yüklenir. Kilidin kendisidir; herkes görebilir, ama yalnızca eşleşen özel anahtar onu açabilir.

Bağlanırken sunucu, sizden özel anahtarınıza sahip olduğunuzu kanıtlamanızı ister. Özel anahtarınız ağ üzerinden hiçbir zaman gönderilmez; yalnızca onunla üretilen kriptografik bir imza iletilir.

Adım 1: SSH Anahtar Çifti Oluşturma

Linux, macOS veya Windows PowerShell'de aynı komut çalışır:

ssh-keygen -t ed25519 -C "[email protected]"

Ed25519 günümüzde önerilen, hem güvenli hem hızlı bir algoritmadır. Çok eski sistemlerle uyumluluk gerekiyorsa RSA tercih edilebilir:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Komut size anahtarın kaydedileceği konumu sorar; varsayılanı kabul etmek için Enter'a basabilirsiniz. Ardından bir parola (passphrase) belirlemeniz istenir. Parola zorunlu değildir, ancak özel anahtar dosyanız bir gün çalınırsa ikinci bir koruma katmanı sağladığı için kesinlikle önerilir.

İşlem sonunda ~/.ssh/ klasöründe iki dosya oluşur: id_ed25519 (özel anahtar) ve id_ed25519.pub (açık anahtar).

Adım 2: Açık Anahtarı Sunucuya Yükleme

Linux ve macOS'ta en pratik yöntem ssh-copy-id komutudur:

ssh-copy-id -i ~/.ssh/id_ed25519.pub root@SUNUCU_IP_ADRESI

Windows'ta ssh-copy-id bulunmadığı için PowerShell'de şu komutu kullanabilirsiniz:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@SUNUCU_IP_ADRESI "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

Bu komut açık anahtarınızı sunucudaki ~/.ssh/authorized_keys dosyasına ekler ve dosya izinlerini doğru şekilde ayarlar. İzinlerin yanlış olması, anahtarlı girişin çalışmamasının en yaygın sebeplerinden biridir: .ssh klasörü 700, authorized_keys dosyası 600 izinli olmalıdır.

Adım 3: Anahtarla Bağlantıyı Test Etme

ssh root@SUNUCU_IP_ADRESI

Her şey doğru yapıldıysa sunucu şifre sormadan (anahtarınıza parola koyduysanız yalnızca o parolayı sorarak) oturum açacaktır.

Şifre ile Giriş ve Anahtar ile Giriş Karşılaştırması

KriterŞifre ile girişSSH anahtarı ile giriş
Kurulum kolaylığıÇok kolayBirkaç dakikalık ilk kurulum gerekir
Brute force saldırılarına dayanıklılıkŞifrenin gücüne bağlı, risklidirPratikte tahmin edilemez
Günlük kullanımHer girişte şifre yazılırHızlı, otomatik giriş
Otomasyon ve betiklerUygun değilÇok uygun
Kimlik bilgisinin ağda iletilmesiŞifre şifreli kanalda iletilirÖzel anahtar hiç iletilmez
Kaybolma/çalınma riskiŞifre tahmin edilebilir veya sızabilirDosya çalınabilir, parola ile korunmalıdır
Önerilen kullanımYalnızca ilk kurulum aşamasıKalıcı yönetim yöntemi

SSH Yapılandırma Dosyası ile Bağlantıları Kolaylaştırma

Birden fazla sunucu yönetiyorsanız her seferinde IP, port ve kullanıcı adı yazmak zahmetli hâle gelir. İstemci tarafındaki ~/.ssh/config dosyası bu işi basitleştirir:

Host websunucu    HostName 185.x.x.x    User admin    Port 2222    IdentityFile ~/.ssh/id_ed25519 Host yedeksunucu    HostName 185.y.y.y    User root    IdentityFile ~/.ssh/id_ed25519_yedek

Artık bağlanmak için yalnızca şunu yazmanız yeterlidir:

ssh websunucu

Bu tanımlar SCP, SFTP ve rsync gibi SSH tabanlı araçlarda da geçerli olur.

Sık Kullanılan SSH Komutları

Sunucuya bağlandıktan sonra ilk günlerde en çok ihtiyaç duyacağınız temel komutlar şunlardır:

KomutNe işe yarar?
pwdBulunduğunuz dizini gösterir
ls -laDizindeki dosyaları gizli dosyalar ve izinlerle birlikte listeler
cd /var/wwwBelirtilen dizine geçer
nano dosya.confDosyayı basit bir metin düzenleyicide açar
df -hDisk kullanımını okunabilir biçimde gösterir
free -hRAM kullanımını gösterir
top veya htopÇalışan süreçleri ve kaynak tüketimini canlı izler
systemctl status nginxBir servisin durumunu gösterir
systemctl restart nginxBir servisi yeniden başlatır
tail -f /var/log/messagesLog dosyasını canlı olarak takip eder
exitSSH oturumunu kapatır

SSH ile Dosya Aktarımı: SCP ve SFTP

SSH yalnızca komut satırı için değil, güvenli dosya transferi için de kullanılır. Bilgisayarınızdan sunucuya dosya göndermek için:

scp yedek.zip root@SUNUCU_IP_ADRESI:/root/

Sunucudan bilgisayarınıza dosya indirmek için:

scp root@SUNUCU_IP_ADRESI:/var/log/nginx/error.log ./

Klasör aktarımı için -r, farklı port için büyük harfle -P parametresi kullanılır. Grafik arayüz tercih ediyorsanız FileZilla veya WinSCP gibi istemcilerde bağlantı türünü SFTP seçip aynı SSH bilgilerinizle giriş yapabilirsiniz. SFTP, klasik FTP'nin aksine tüm aktarımı şifreli yaptığı için çok daha güvenlidir.

SSH Güvenliği: Sunucunuzu Korumak İçin Yapmanız Gerekenler

SSH'ın kendisi güvenli bir protokoldür; ancak yapılandırması varsayılan hâliyle bırakılan bir sunucu, gereksiz risk taşır. Aşağıdaki ayarların tamamı sunucu tarafındaki /etc/ssh/sshd_config dosyası üzerinden yapılır.

Önemli uyarı: SSH ayarlarını değiştirirken mevcut oturumunuzu kesinlikle kapatmayın. Değişikliği uyguladıktan sonra yeni bir terminal penceresinden bağlanmayı test edin. Yeni bağlantı başarılı olmadan eski oturumu kapatırsanız sunucunuza erişiminizi kaybedebilirsiniz. Böyle bir durumda sağlayıcınızın sunduğu VNC/konsol erişimi kurtarıcı olacaktır.

Root ile Doğrudan Girişi Kısıtlayın

Önce yetkili yeni bir kullanıcı oluşturun. AlmaLinux ve Rocky Linux gibi RHEL tabanlı sistemlerde:

adduser admin passwd admin usermod -aG wheel admin

Ubuntu ve Debian'da wheel yerine sudo grubu kullanılır. Ardından açık anahtarınızı bu kullanıcının ~/.ssh/authorized_keys dosyasına da ekleyin. Yeni kullanıcıyla bağlanabildiğinizi doğruladıktan sonra sshd_config içinde şu satırı düzenleyin:

PermitRootLogin no

Root girişini tamamen kapatmak yerine yalnızca anahtarla izin vermek isterseniz PermitRootLogin prohibit-password değerini kullanabilirsiniz.

Şifreli Girişi Kapatın

Anahtarlı giriş sorunsuz çalıştıktan sonra şifreyle girişi devre dışı bırakmak, brute force saldırılarını etkisiz hâle getirir:

PasswordAuthentication no

Bazı dağıtımlarda /etc/ssh/sshd_config.d/ klasöründeki ek yapılandırma dosyaları bu ayarı ezebilir; değişiklik etkili olmuyorsa bu klasörü de kontrol edin.

SSH Portunu Değiştirin

Port değiştirmek tek başına bir güvenlik önlemi değildir, ancak otomatik botların oluşturduğu log gürültüsünü ciddi ölçüde azaltır:

Port 2222

Portu değiştirdiğinizde güvenlik duvarında yeni portu açmayı unutmayın. AlmaLinux/Rocky Linux'ta firewalld ve SELinux için:

firewall-cmd --permanent --add-port=2222/tcp firewall-cmd --reload semanage port -a -t ssh_port_t -p tcp 2222

Ubuntu'da UFW kullanıyorsanız:

ufw allow 2222/tcp

Güvenlik duvarı kavramına yabancıysanız firewall nedir yazımız, bu adımın mantığını anlamanıza yardımcı olacaktır.

Değişiklikleri Uygulayın

Yapılandırmayı kaydetmeden önce söz dizimi hatası olup olmadığını kontrol edin:

sshd -t

Komut hiçbir çıktı vermiyorsa yapılandırma geçerlidir. Ardından servisi yeniden başlatın:

systemctl restart sshd

Ubuntu ve Debian'da servis adı ssh'tır. Ubuntu'nun yeni sürümlerinde SSH, socket aktivasyonuyla çalışabilir; bu durumda port değişikliğinin geçerli olması için systemctl daemon-reload ve systemctl restart ssh.socket komutları gerekebilir.

Fail2ban ile Tekrarlanan Denemeleri Engelleyin

Fail2ban, log dosyalarını izleyerek belirli sayıda başarısız giriş denemesi yapan IP adreslerini otomatik olarak geçici süreyle engeller. Kurulumu birkaç komutla yapılır ve SSH için hazır bir koruma kuralıyla birlikte gelir. Şifreli girişi kapatmış olsanız bile ek bir savunma katmanı olarak önerilir.

Sunucu güvenliğinin SSH dışındaki boyutları için sanal sunucu güvenliği için 10 adım rehberimize mutlaka göz atın.

SSH Güvenlik Kontrol Listesi

  •  SSH anahtar çifti oluşturuldu ve özel anahtar parola ile korundu
  •  Açık anahtar sunucuya eklendi, anahtarlı giriş test edildi
  •  Sudo yetkili ayrı bir kullanıcı oluşturuldu
  •  PermitRootLogin kısıtlandı
  •  PasswordAuthentication no ayarlandı
  •  SSH portu değiştirildi ve güvenlik duvarında izin verildi
  •  sshd -t ile yapılandırma doğrulandı
  •  Yeni oturumdan bağlantı test edildikten sonra eski oturum kapatıldı
  •  Fail2ban kuruldu ve etkinleştirildi
  •  Sistem paketleri güncel tutuluyor
  •  Özel anahtarın güvenli bir yedeği alındı

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

"Connection refused" Hatası

Sunucu bağlantınızı aktif olarak reddediyor demektir. En yaygın sebepler: SSH servisi çalışmıyordur, yanlış porta bağlanıyorsunuzdur ya da port değiştirildiği hâlde eski port kullanılıyordur. Konsol erişimiyle sunucuya girip systemctl status sshd komutuyla servisi kontrol edin ve ss -tlnp | grep ssh ile hangi portu dinlediğini görün.

"Connection timed out" Hatası

İstek sunucuya hiç ulaşmıyor ya da yanıt dönmüyor demektir. Sunucu kapalı olabilir, IP adresi yanlış olabilir veya bir güvenlik duvarı (sunucu üzerinde, ağ tarafında ya da kendi ağınızda) portu engelliyor olabilir. Özellikle port değiştirip güvenlik duvarında yeni portu açmayı unuttuysanız bu hatayı alırsınız.

"Permission denied (publickey)" Hatası

Sunucu şifreli girişe izin vermiyor ve sunduğunuz anahtarı kabul etmiyor demektir. Kontrol etmeniz gerekenler:

  • Doğru kullanıcı adıyla mı bağlanıyorsunuz?
  • Açık anahtar, o kullanıcının authorized_keys dosyasında mı?
  • .ssh klasörü 700, authorized_keys 600 izinli mi ve dosyaların sahibi o kullanıcı mı?
  • İstemci doğru özel anahtarı kullanıyor mu? Emin değilseniz ssh -i ~/.ssh/id_ed25519 kullanici@ip ile anahtarı açıkça belirtin.

Neyin yanlış gittiğini görmek için bağlantıyı ayrıntılı modda başlatabilirsiniz: ssh -v kullanici@ip.

"REMOTE HOST IDENTIFICATION HAS CHANGED" Uyarısı

Bağlandığınız IP adresindeki sunucunun anahtarı, known_hosts dosyanızdaki kayıtla eşleşmiyor demektir. Sunucunuzu yeniden kurduysanız bu beklenen bir durumdur ve eski kaydı silerek çözülür:

ssh-keygen -R SUNUCU_IP_ADRESI

Ancak sunucuda hiçbir değişiklik yapmadıysanız bu uyarıyı ciddiye alın; araya giren bir saldırının işareti olabilir. Bu durumda bağlanmadan önce sağlayıcınızla iletişime geçin.

Oturumun Sık Sık Kopması

Bir süre işlem yapılmadığında oturum kapanıyorsa, istemci tarafındaki ~/.ssh/config dosyasına şu satırları ekleyerek bağlantıyı canlı tutabilirsiniz:

Host *    ServerAliveInterval 60    ServerAliveCountMax 3

Uzun süren işlemlerde (büyük bir yedeğin açılması, derleme gibi) bağlantı koparsa işlemin de yarıda kalmaması için tmux veya screen gibi oturum yöneticilerini kullanmanız önerilir.

Windows Sunucularda SSH Kullanılabilir mi?

Evet. Windows Server'ın güncel sürümlerinde OpenSSH Server bileşeni isteğe bağlı özellik olarak kurulabilir ve PowerShell komutlarını SSH üzerinden uzaktan çalıştırmanıza olanak tanır. Yine de Windows sunucu yönetiminin büyük bölümü grafik arayüz gerektirdiği için RDP bu ortamda birincil araç olmaya devam eder. Hangi işletim sisteminin projenize uygun olduğundan emin değilseniz Linux sunucu mu Windows sunucu mu karşılaştırmamız karar vermenizi kolaylaştıracaktır. Grafik arayüzlü bir çalışma ortamı arıyorsanız Windows VDS sunucu seçenekleri ihtiyacınızı karşılar.

Hosting Paketlerinde SSH Erişimi Var mı?

Paylaşımlı hosting ile sanal sunucu arasındaki en belirgin farklardan biri SSH erişiminin kapsamıdır. Paylaşımlı hosting paketlerinde, pakete ve yapılandırmaya bağlı olarak kısıtlı bir SSH erişimi (jailed shell) sunulabilir; bu erişimle kendi dosyalarınız üzerinde Git, Composer veya WP-CLI gibi araçları çalıştırabilirsiniz, ancak sistem genelinde paket kuramaz veya servis yönetemezsiniz. cPanel hosting paketlerinde SSH erişimi ve anahtar yönetimi, panel üzerinden yönetilebilir.

Tam root yetkisiyle SSH erişimi, yani sunucunun tamamı üzerinde söz sahibi olmak istiyorsanız sanal sunucu veya fiziksel sunucu tercih etmeniz gerekir.

SSH ile Tam Kontrol İçin TuemCloud Sunucuları

SSH'ın sunduğu esnekliği en iyi şekilde kullanabilmek için sunucunuzun altyapısı da o esnekliği taşıyabilmelidir. TuemCloud'un VDS sunucu kiralama seçeneklerinde size tam root yetkili SSH erişimi sunulur; istediğiniz Linux dağıtımını kurabilir, sunucunuzu tamamen kendi ihtiyaçlarınıza göre yapılandırabilirsiniz.

Altyapımızın öne çıkan avantajları şunlardır:

  • NVMe SSD depolama: Paket kurulumu, güncelleme, yedek açma ve log tarama gibi SSH üzerinden yaptığınız disk yoğun işlemler belirgin şekilde hızlı tamamlanır. Performansı önceliğiniz yapıyorsanız NVMe VDS sunucu paketlerimizi inceleyebilirsiniz.
  • Türkiye lokasyonu: Sunucularımızın Türkiye'de bulunması, İstanbul'dan veya Türkiye'nin herhangi bir noktasından bağlandığınızda düşük gecikme demektir. Komut yazarken yaşanan o can sıkıcı gecikme hissi ortadan kalkar.
  • LiteSpeed desteği: Web projeleriniz için yüksek performanslı web sunucusu altyapısı.
  • 7/24 teknik destek: SSH yapılandırması sırasında kendinizi sunucunun dışında bırakmanız gibi durumlarda, konsol erişimi ve uzman ekibimizle kısa sürede yeniden erişim sağlarsınız.

Projeniz büyüdükçe kaynaklarını esnek biçimde artırabileceğiniz bir yapı arıyorsanız bulut sunucu kiralama çözümlerimize, yeni başlıyorsanız ve bütçe dostu bir giriş yapmak istiyorsanız sanal sunucu kiralama seçeneklerimize göz atabilirsiniz. İhtiyacınıza uygun paketi belirleyin, sunucunuz dakikalar içinde hazır olsun ve ilk SSH bağlantınızı bu rehberle güvenle kurun.

Sıkça Sorulan Sorular

SSH ile SSL aynı şey mi?

Hayır. Her ikisi de şifreleme kullanır ancak farklı amaçlara hizmet eder. SSH, bir sunucuya uzaktan güvenli erişim ve yönetim için kullanılan bir protokoldür. SSL/TLS ise web sitesi ile ziyaretçinin tarayıcısı arasındaki trafiği şifreler ve adres çubuğundaki HTTPS'i sağlar.

SSH'ın varsayılan portu nedir, değiştirmek gerekir mi?

Varsayılan SSH portu 22'dir. Değiştirmek zorunlu değildir ve tek başına güçlü bir güvenlik önlemi sayılmaz; ancak otomatik bot saldırılarının büyük bölümü 22. portu hedeflediği için port değişikliği log kirliliğini ve gereksiz yükü azaltır. En etkili koruma, anahtarlı giriş ile şifreli girişin kapatılmasıdır.

SSH anahtarımı kaybedersem ne olur?

Özel anahtarınızı kaybettiyseniz ve şifreli giriş kapalıysa, SSH ile sunucuya bağlanamazsınız. Bu durumda sağlayıcınızın sunduğu konsol (VNC) erişimiyle sunucuya girip yeni bir açık anahtar ekleyebilirsiniz. Bu nedenle özel anahtarınızın güvenli bir yedeğini tutmanız önemlidir.

Aynı SSH anahtarını birden fazla sunucuda kullanabilir miyim?

Evet, aynı açık anahtarı birden fazla sunucunun authorized_keys dosyasına ekleyebilirsiniz. Pratik bir yöntemdir; ancak farklı güvenlik seviyelerine sahip ortamlar (örneğin kişisel projeler ve müşteri sunucuları) için ayrı anahtarlar kullanmak, olası bir sızıntının etkisini sınırlar.

Paylaşımlı hostingde SSH ile her şeyi yapabilir miyim?

Hayır. Paylaşımlı hostingde SSH erişimi sunulsa bile genellikle yalnızca kendi hesabınızın dosyalarıyla sınırlıdır; sistem paketleri kuramaz, servisleri yönetemez veya sunucu yapılandırmasını değiştiremezsiniz. Tam kontrol için root yetkili bir sanal sunucu ya da fiziksel sunucu gerekir.