Ekran Kartlı Sunucu Satışları Başladı. İncele
Altyapı ve Sistem Yönetimi

SSH Anahtarı (Key) Oluşturma ve Sunucuya Ekleme

ssh-keygen ile anahtar üretme, authorized_keys dosyasına ekleme, Windows tarafı, parola girişini kapatma ve anahtar kaybında kurtarma.

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

Kısaca Özet

  • SSH anahtarı oluşturma tek komuttur: ssh-keygen -t ed25519 -C "aciklama". Anahtarı sunucuda değil, kendi bilgisayarınızda üretin.
  • Açık anahtarı sunucuya ssh-copy-id kullanici@ip ile yükleyin; komut yoksa içeriği elle ~/.ssh/authorized_keys dosyasına ekleyin.
  • İzinler yanlışsa anahtar çalışmaz: .ssh dizini 700, authorized_keys dosyası 600, özel anahtar 600 olmalı.
  • Şifresiz ssh bağlantısı çalıştığını ikinci bir terminalde doğrulamadan PasswordAuthentication no yapmayın; kendinizi sunucudan kilitlersiniz.
  • Anahtarını kaybedenler panelin KVM/VNC konsolundan girip yeni anahtar ekleyebilir — ayrıntısı için SSH bağlantı rehberine bakın.

SSH anahtarı oluşturma işlemi tek komutla biter: ssh-keygen -t ed25519. Bu komut birbirine matematiksel olarak bağlı iki dosya üretir. Biri özel anahtardır, sizin bilgisayarınızda kalır ve asla kimseyle paylaşılmaz. Diğeri açık anahtardır, sunucuya yüklenir ve kapıdaki kilidin görevini görür. Kilidi herkes görebilir; açacak anahtar yalnızca sizdedir.

Parola yerine anahtar kullanmak sunucu güvenliğinde yapabileceğiniz en etkili tek değişikliktir. Bir parola tahmin edilebilir, sızdırılmış bir listede bulunabilir, kaba kuvvetle denenebilir. 32 baytlık bir Ed25519 özel anahtarını ise denemekle bulmak mümkün değil. Üstelik şifresiz ssh bağlantısı günlük işi de hızlandırır: her bağlantıda parola yazmazsınız, betikleriniz ve yedekleme görevleriniz müdahalesiz çalışır.

Bu sayfada anahtar üretmeyi, açık anahtarı authorized_keys dosyasına eklemeyi, izin ayarlarını, Windows tarafındaki OpenSSH ve PuTTY yolunu, birden çok anahtarın yönetimini ve parola girişini güvenle kapatmayı adım adım göreceksiniz. Sunucuya nasıl bağlanılacağını henüz bilmiyorsanız önce SSH ile sunucuya bağlanma rehberini okuyun.

Anahtar Kimlik Doğrulaması Nasıl Çalışır?#

Mantık basit. Sunucu, sizin açık anahtarınızla şifrelediği rastgele bir veriyi gönderir. Siz bu veriyi yalnızca özel anahtarınızla çözebilirsiniz ve doğru cevabı geri yollarsınız. Sunucu cevabı doğrulayınca sizi içeri alır. Özel anahtar ağ üzerinden hiç geçmez — dinleyen biri olsa bile eline bir şey geçmez.

ÖlçütParola ile girişAnahtar ile giriş
Kaba kuvvete dayanıklılıkZayıfPratikte kırılamaz
Otomatik betiklerde kullanımParola gömmek gerekirMüdahalesiz çalışır
Sızıntı riskiParola tekrar kullanılıyorsa yüksekÖzel anahtar dosyası korunursa düşük
Kurulum zorluğuYokBir kereye mahsus 5 dakika
İptal etmeParolayı değiştirirsinizSatırı authorized_keys’ten silersiniz
Parola ve SSH anahtarı ile kimlik doğrulamanın karşılaştırması

Şu ayrımı en baştan oturtun: özel anahtar sizde kalır, açık anahtar sunucuya gider. Destek taleplerinde en sık gördüğümüz karışıklık, kullanıcıların id_ed25519 dosyasını sunucuya yüklemesi. O dosya sunucuya gitmez; giden dosya .pub uzantılı olandır.

Ed25519 Anahtar Üretme (ssh-keygen)#

Anahtarı bağlanacağınız sunucuda değil, kendi bilgisayarınızda üretin. Ubuntu 24.04, Debian, macOS ve Windows 10/11’de ssh-keygen komutu hazır gelir; ek bir kurulum gerekmez.

# Önerilen: Ed25519
ssh-keygen -t ed25519 -C "emre-laptop-2026"

# Yalnızca çok eski sistemlerle uyum gerekiyorsa
ssh-keygen -t rsa -b 4096 -C "emre-laptop-2026"

# Anahtara özel bir dosya adı vermek isterseniz
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_batihost -C "batihost-vds"

Komut üç soru sorar. Kayıt yolu (Enter yeterli), passphrase ve passphrase tekrarı. Ardından şu çıktıyı görürsünüz:

Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/emre/.ssh/id_ed25519):
Enter passphrase for "/home/emre/.ssh/id_ed25519" (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/emre/.ssh/id_ed25519
Your public key has been saved in /home/emre/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:9xQ...  emre-laptop-2026

-C parametresi anahtarın sonuna bir yorum ekler. Zorunlu değil ama çok işinize yarar: üç yıl sonra authorized_keys dosyasında beş satır gördüğünüzde hangisinin hangi makineye ait olduğunu bu yorumdan anlarsınız. “ofis-masaustu”, “ci-sunucusu”, “emre-laptop” gibi anlamlı bir şey yazın.

UyarıÖzel anahtar dosyanızı (id_ed25519, uzantısız olan) hiçbir yere yüklemeyin, e-postayla göndermeyin, ekran görüntüsünü paylaşmayın, “yedek olsun” diye bulut depolamaya atmayın. Bu dosyayı ele geçiren kişi parolanızı bilmeden sunucunuza girer. Yalnızca .pub uzantılı dosyanın içeriği paylaşılabilir.

Passphrase ve ssh-agent kullanımı#

Passphrase, özel anahtar dosyasını diskte şifreli tutar. Dosya çalınsa bile parola cümlesi olmadan kullanılamaz. Dizüstü bilgisayarda çalışıyorsanız — ki çoğumuz öyle çalışıyoruz — passphrase koymamak için gerçek bir sebep yok.

“Ama her bağlantıda yazmak istemiyorum” itirazının cevabı ssh-agent. Ajan, açtığınız anahtarı bellekte tutar ve sonraki bağlantılarda sizin yerinize kullanır. Oturum başında bir kez parola cümlesi girersiniz, gün boyu bir daha sorulmaz.

# Ajanı başlat (çoğu masaüstünde zaten çalışır)
eval "$(ssh-agent -s)"

# Anahtarı ajana ekle — passphrase burada bir kez sorulur
ssh-add ~/.ssh/id_ed25519

# Ajanda hangi anahtarlar var?
ssh-add -l

# Bilgisayardan kalkarken hepsini boşalt
ssh-add -D

~/.ssh/config dosyasına AddKeysToAgent yes satırını eklerseniz ilk kullanımda anahtar otomatik olarak ajana girer, ssh-add yazmanıza bile gerek kalmaz. Passphrase’i sonradan değiştirmek veya kaldırmak da mümkün: ssh-keygen -p -f ~/.ssh/id_ed25519.

Açık Anahtarı Sunucuya Ekleme#

Sunucu tarafında iş, açık anahtarın tek satır olarak ~/.ssh/authorized_keys dosyasına yazılmasından ibarettir. İki yolu var.

Yol 1: ssh-copy-id (kolay olan)#

# Varsayılan port
ssh-copy-id batihost@203.0.113.10

# Farklı port ve belirli bir anahtar
ssh-copy-id -p 2222 -i ~/.ssh/id_ed25519.pub batihost@203.0.113.10

Komut bir kez parolanızı sorar, dizini oluşturur, satırı ekler ve izinleri kendisi düzeltir. Ubuntu ve Debian’da openssh-client paketiyle gelir. Bir sonraki bağlantıda parola sorulmuyorsa iş tamamdır.

Yol 2: Elle ekleme#

ssh-copy-id yoksa (Windows’ta yok, bazı minimal imajlarda da bulunmaz) açık anahtarı boru hattıyla gönderirsiniz:

# Tek satırda: dizini oluştur, izinleri ayarla, anahtarı ekle
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"

# Ya da sunucuya girip nano ile yapıştırın
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

Dosyadaki her anahtar tek satırda durmalıdır. Anahtar metnini kopyalarken araya satır sonu girerse anahtar tanınmaz; bu, elle ekleme yönteminde en sık yapılan hatadır. Satır ssh-ed25519 AAAAC3Nza... ile başlar, sonunda yorum kısmı bulunur.

BilgiYeni bir VDS kurarken bu adımı hiç yapmayabilirsiniz. Çoğu sağlayıcı, sunucu oluştururken açık anahtarınızı yapıştırmanıza izin verir; sistem kurulurken anahtar authorized_keys dosyasına otomatik yazılır. Sunucunuz elinize geldiğinde yapılacak diğer işler için VDS ilk ayarlar listesine göz atın.

Doğru İzinler: 700, 600 ve Ev Dizini Tuzağı#

OpenSSH, izinleri gereğinden gevşek olan anahtar dosyalarını sessizce görmezden gelir. Kullanıcıya “izin hatalı” demez, sadece “Permission denied (publickey)” der. Bu yüzden anahtarı doğru ekleyip yine de giremeyen insanların büyük kısmının sorunu izinlerdir.

# Sunucu tarafı
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R batihost:batihost /home/batihost/.ssh

# Ev dizini başkalarınca yazılabilir olmamalı
chmod 750 /home/batihost

# Kendi bilgisayarınızda
chmod 600 ~/.ssh/id_ed25519
chmod 644 ~/.ssh/id_ed25519.pub
chmod 600 ~/.ssh/config
YolİzinSahipNeden
/home/kullanici750 veya 755kullanıcıGrup yazma yetkisi varsa sshd reddeder
~/.ssh700kullanıcıSadece sahibi girebilmeli
~/.ssh/authorized_keys600kullanıcıBaşkası yazabilirse kendi anahtarını ekler
~/.ssh/id_ed25519600kullanıcıÖzel anahtar okunmamalı
~/.ssh/id_ed25519.pub644kullanıcıAçık anahtar zaten geneldir
SSH dosya ve dizin izinleri referansı

Sorunu ararken sunucu günlüğü size doğrudan söyler. sudo journalctl -u ssh -n 50 ya da sudo tail -f /var/log/auth.log çalıştırıp bağlanmayı deneyin; “Authentication refused: bad ownership or modes for directory” satırını görürseniz sorun kesin olarak izindir. Bu tarz günlük okuma alışkanlığı için Linux temel komutları sayfası iyi bir başlangıç.

Windows Tarafı: OpenSSH ve PuTTY#

Windows 10 ve 11 artık OpenSSH istemcisiyle geliyor. Yani PowerShell açıp Linux’takiyle birebir aynı komutları çalıştırabilirsiniz. Anahtarlar C:\Users\KullaniciAdi\.ssh\ klasöründe durur.

# Anahtar üret
ssh-keygen -t ed25519 -C "windows-masaustu"

# Açık anahtarı ekrana bas (kopyalamak için)
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub

# ssh-copy-id Windows'ta yok; boru hattıyla gönderin
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh batihost@203.0.113.10 "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"

# ssh-agent hizmetini kalıcı açın (yönetici PowerShell gerekir)
Set-Service ssh-agent -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

PuTTY ve .ppk dosyası#

PuTTY, OpenSSH’ın özel anahtar biçimini doğrudan okumaz; kendi .ppk biçimini kullanır. Bu yüzden PuTTY tarafında iki senaryo var.

  • Sıfırdan üretme: PuTTYgen’i açın, alttan EdDSA (Ed25519) seçin, Generate’a basın ve fareyi pencerede gezdirin. Sonra Save private key ile .ppk dosyasını kaydedin.
  • Var olan anahtarı dönüştürme: PuTTYgen’de Conversions > Import key ile id_ed25519 dosyasını açın, ardından Save private key deyin. Aynı anahtarı hem PowerShell hem PuTTY ile kullanabilirsiniz.
DikkatPuTTYgen’deki Save public key düğmesini authorized_keys için kullanmayın. O düğme çok satırlı RFC 4716 biçiminde kaydeder ve OpenSSH bunu kabul etmez. Doğrusu, PuTTYgen penceresinin üstündeki kutuda görünen tek satırlık metni kopyalayıp sunucuya yapıştırmaktır.
İndirmeniz gerekenler (yalnızca Windows tarafı)
  • PuTTY (PuTTYgen ve Pageant dahil)Önerilen Windows.msi / .exeÜcretsiz
    İndir
  • WinSCP (SFTP ile dosya düzenleme) Windows.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 ürettiğiniz anahtarı sızdırabilir.

Birden Fazla Anahtar ve ~/.ssh/config#

Bir süre sonra elinizde birden fazla anahtar olur: iş sunucuları için bir tane, kod deposu için bir tane, müşteri sunucusu için ayrı bir tane. SSH varsayılan olarak elindeki bütün anahtarları sırayla dener ve sunucu belli bir denemeden sonra kapıyı kapatır — meşhur “Too many authentication failures” hatası buradan gelir.

Çözüm, hangi sunucuya hangi anahtarın gideceğini ~/.ssh/config dosyasında yazmaktır. Bu dosya Windows’ta C:\Users\KullaniciAdi\.ssh\config yolundadır ve biçimi birebir aynıdır.

Host batihost-web
    HostName 203.0.113.10
    User batihost
    Port 2222
    IdentityFile ~/.ssh/id_ed25519_batihost
    IdentitiesOnly yes

Host oyun
    HostName 203.0.113.25
    User minecraft
    IdentityFile ~/.ssh/id_ed25519_oyun
    IdentitiesOnly yes

Host *
    AddKeysToAgent yes
    ServerAliveInterval 60
    ServerAliveCountMax 3

IdentitiesOnly yes satırı kritik: bu satır olmadan SSH yine ajandaki tüm anahtarları denemeye kalkar. Tanım bittikten sonra ssh batihost-web yazmanız yeterli olur; scp, sftp ve rsync de aynı takma adları tanır. Sunucu taşırken bu kısayollar epey vakit kazandırıyor, taşıma senaryosunun tamamı sunucu taşıma rehberinde anlatılıyor.

Parola Girişini Kapatma (PasswordAuthentication no)#

Anahtar çalışıyorsa sıra parola kapısını kapatmaya geldi. Ayar sunucudaki /etc/ssh/sshd_config dosyasında.

sudo nano /etc/ssh/sshd_config
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
PermitRootLogin prohibit-password
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30
DikkatUbuntu 24.04 ve Debian 12’de sshd_config dosyasının başında Include /etc/ssh/sshd_config.d/*.conf satırı vardır. Bulut imajlarında bu klasörde çoğu zaman 50-cloud-init.conf dosyası bulunur ve içinde PasswordAuthentication yes yazar. SSH’ta ilk okunan değer geçerlidir, yani ana dosyanın altına yazdığınız no hiçbir işe yaramaz. Önce sudo grep -R "PasswordAuthentication" /etc/ssh/ çalıştırıp bu dosyaları kontrol edin.
# Sözdizimini doğrulayın (hatalıysa servis açılmaz)
sudo sshd -t

# Gerçekte hangi değerler geçerli, onu görün
sudo sshd -T | grep -E "passwordauthentication|pubkeyauthentication|permitrootlogin"

# Servisi yeniden başlatın
sudo systemctl restart ssh
sudo systemctl status ssh
UyarıMevcut SSH oturumunuzu kapatmayın. İkinci bir terminal penceresi açın, oradan ssh kullanici@ip ile girebildiğinizi görün, ancak ondan sonra ilk oturumu kapatın. Bu sırayı atlayanlar hatalı bir yapılandırmada kendilerini sunucudan dışarıda bulur ve konsol erişimine muhtaç kalır. Kural basit: çalıştığını görmeden köprüyü yakma.

Anahtarı Kaybederseniz: Panel Konsoluyla Kurtarma#

Diskiniz bozuldu, bilgisayarı sıfırladınız, .ssh klasörünü yanlışlıkla sildiniz. Parola girişi de kapalı. Sunucuya artık ağ üzerinden girilemiyor — ama kurtarmanın yolu var.

  1. Panelden KVM/VNC konsolunu açın#

    Sağlayıcı panelinizdeki konsol, sunucunun sanal ekranına bağlanır. SSH servisinden, güvenlik duvarından ve ağ ayarlarından bağımsız çalışır. Yani SSH kapalı olsa bile buradan giriş yapabilirsiniz. Kullanıcı adı ve kök parolanızı hazır bulundurun.

  2. Yeni bir anahtar üretin ve ekleyin#

    Kendi bilgisayarınızda ssh-keygen -t ed25519 ile yeni bir çift üretin. .pub dosyasının içeriğini kopyalayıp konsoldan sunucudaki ~/.ssh/authorized_keys dosyasına yeni satır olarak yapıştırın.

  3. Eski anahtarı iptal edin#

    Kaybolan anahtara ait satırı dosyadan silin. Anahtarın nerede olduğunu bilmiyorsanız — çalınmış olabilir — bu adım isteğe bağlı değil, zorunludur.

  4. Yeni oturumda test edin, sonra konsolu kapatın#

    Yeni anahtarla bağlanabildiğinizi doğrulayın. Geçici olarak parola girişini açtıysanız işiniz bitince PasswordAuthentication no ayarına geri dönün.

Panelinizde konsol yoksa veya kök parolasını da bilmiyorsanız kurtarma (rescue) modu talep etmeniz gerekir. Batihost tarafında bunun için destek talebi açmanız yeterli; sunucu kurtarma imajıyla açılır, diskinizi bağlayıp authorized_keys dosyasını elle düzenlersiniz.

İpucuBu senaryoyu hiç yaşamamanın yolu, en baştan iki anahtar eklemek: biri günlük kullandığınız bilgisayardan, biri güvenli bir yerde sakladığınız yedek anahtardan. İkisi de aynı authorized_keys dosyasında dursun. Birini kaybederseniz diğeriyle girer, kaybolanı sakince silersiniz.

Sorun Giderme ve Sonraki Adımlar#

Sık karşılaşılan sorunlar#

BelirtiMuhtemel sebepÇözüm
Permission denied (publickey)Anahtar tanınmıyor veya izinler gevşek700/600 iznini doğrulayın, ssh -vvv çıktısına bakın
Hâlâ parola soruyorAnahtar sunucuya ulaşmamışauthorized_keys içeriğini kontrol edin, satır bölünmüş olabilir
Too many authentication failuresAjan çok fazla anahtar deniyorIdentitiesOnly yes ekleyin veya -i ile tek anahtar verin
Bad permissions / UNPROTECTED KEY FILEÖzel anahtar herkese okunurchmod 600 ~/.ssh/id_ed25519
Ayar değişti ama etkisi yoksshd_config.d içindeki dosya baskınsudo sshd -T ile gerçek değeri görün
PuTTY “server refused our key”Yanlış biçimde açık anahtar yapıştırılmışPuTTYgen’in üstündeki tek satırlık metni kullanın
SSH anahtarı sorunları ve çözümleri

Sorun devam ediyorsa iki tarafı birden dinleyin: kendi bilgisayarınızda ssh -vvv kullanici@ip, sunucuda sudo journalctl -u ssh -f. Hangi anahtarın sunulduğu ve neden reddedildiği bu iki çıktının kesişiminde net biçimde görünür.

Anahtardan sonra tamamlanacaklar#

Anahtar tabanlı girişe geçtiniz, parola kapısını kapattınız. İyi. Ama sunucu güvenliği tek bir ayardan ibaret değil; birkaç şeyi daha üst üste koymak gerekiyor.

  • Fail2ban kurun. Anahtar kullansanız bile başarısız denemeler günlükleri şişirir ve kaynak yer. Kurulumu Fail2ban rehberinde adım adım anlatılıyor.
  • Güvenlik duvarını yapılandırın. Yalnızca gerçekten gerekli portlar açık kalsın; UFW ve iptables örnekleri için güvenlik duvarı rehberine bakın.
  • Root ile doğrudan girmeyin. Kendi kullanıcınızı açıp sudo kullanın. PermitRootLogin prohibit-password ayarı root’a yalnızca anahtarla izin verir.
  • Hangi portun neye açık olduğunu bilin. Port açma ve test etme sayfası bu kontrolü kolaylaştırıyor.
  • Sunucuyu izleyin. Girişleri ve kaynak kullanımını takip etmek için izleme rehberindeki araçları kurun.

Oyun sunucusu işletiyorsanız aynı anahtar mantığı orada da geçerli. Ubuntu üzerinde kurulum yapacaksanız Linux Minecraft sunucu kurulumu sayfası, sunucu donanımı seçerken de Ryzen tabanlı VDS paketleri işinizi görür. En düşük öneri her zaman 8 GB RAM, Ryzen 9 ve NVMe SSD; anahtar kurulumu bunlardan bağımsız olarak aynıdır.

Özetle#

SSH anahtarı oluşturma ssh-keygen -t ed25519 -C "aciklama" komutuyla başlar ve kendi bilgisayarınızda yapılır. Üretilen iki dosyadan .pub uzantılı olan sunucuya gider, uzantısız olan asla kimseyle paylaşılmaz. Yükleme için en pratik yol ssh-copy-id kullanici@ip; olmadığında içeriği tek satır hâlinde ~/.ssh/authorized_keys dosyasına eklersiniz.

İzinleri atlamayın: .ssh dizini 700, authorized_keys ve özel anahtar 600 olmalı, ev dizini başkalarınca yazılabilir olmamalı. Anahtara passphrase koyup ssh-agent kullanın; birden çok anahtarı ~/.ssh/config dosyasında IdentitiesOnly yes ile ayırın. Windows’ta OpenSSH aynı komutları çalıştırır, PuTTY kullanacaksanız anahtarı .ppk biçimine dönüştürürsünüz.

Son adım parola girişini kapatmak — ama önce ikinci bir terminalde anahtarla girebildiğinizi görün. Kilitli kalırsanız panelin KVM konsolu sizi kurtarır. Ardından Fail2ban ve güvenlik duvarıyla katmanları tamamlayın; herşey yerine oturduğunda sunucunuz otomatik saldırıların büyük kısmına kapalı hâle gelir.

Sıkça Sorulan Sorular#

SSH anahtarı nasıl oluşturulur?

Kendi bilgisayarınızda terminal ya da PowerShell açıp ssh-keygen -t ed25519 -C "aciklama" komutunu çalıştırın. Komut iki dosya üretir: id_ed25519 özel anahtardır ve makinenizde kalır, id_ed25519.pub açık anahtardır ve sunucuya yüklenir. Kayıt yolu sorulduğunda Enter’a basmanız yeterlidir.

Ed25519 mi RSA mı kullanmalıyım?

Ed25519 kullanın. Ed25519 anahtarları hem daha kısa hem de üretimi ve doğrulaması daha hızlıdır; OpenSSH 6.5’ten beri desteklenir, yani 2014 sonrası her sistemde çalışır. RSA’yı yalnızca çok eski bir cihaza (bazı yönetim kartları, eski ağ donanımları) bağlanmanız gerekiyorsa ve -b 4096 ile üretin.

SSH anahtarına passphrase koymalı mıyım?

Evet, özellikle dizüstü bilgisayarda çalışıyorsanız koyun. Passphrase, özel anahtar dosyası çalınsa bile onu kullanılamaz hâle getirir. Her bağlantıda parola yazmak zorunda kalmamak için ssh-agent kullanın: anahtarı oturum başında bir kez açarsınız, gün boyu tekrar sorulmaz.

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

Genelde üç sebepten: açık anahtar sunucudaki authorized_keys dosyasında değildir, dosya izinleri gevşektir ya da yanlış kullanıcı adıyla bağlanıyorsunuzdur. Önce .ssh için 700, authorized_keys için 600 iznini doğrulayın. Sebebi görmek için ssh -vvv kullanici@ip çıktısına bakın.

Windows’ta ssh-copy-id yok, açık anahtarı nasıl yüklerim?

PowerShell’de açık anahtarı boru hattıyla gönderin: Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh kullanici@ip "cat >> ~/.ssh/authorized_keys". Öncesinde sunucuda ~/.ssh dizininin var olduğundan ve izinlerinin 700 olduğundan emin olun. Alternatif olarak WinSCP ile dosyayı açıp satırı yapıştırabilirsiniz.

Aynı anahtarı birden fazla sunucuda kullanabilir miyim?

Kullanabilirsiniz; açık anahtarı kaç sunucuya isterseniz ekleyin. Ancak işi ayırmak daha sağlıklıdır: üretim sunucuları için ayrı, kod deposu erişimi için ayrı anahtar üretin. Böylece bir anahtarı iptal ettiğinizde diğer erişimleriniz etkilenmez. Hangi anahtarın nereye gideceğini ~/.ssh/config dosyasında tanımlarsınız.

Özel anahtarımı kaybedersem sunucuya nasıl girerim?

Parola girişi hâlâ açıksa parolayla girip yeni anahtar eklersiniz. Kapattıysanız sağlayıcınızın panelindeki KVM/VNC konsolunu kullanın: konsol ağ üzerinden değil sanal ekran üzerinden bağlandığı için SSH ayarlarından etkilenmez. Konsoldan girip yeni açık anahtarı ekleyin ya da geçici olarak parola girişini açın.

Parola girişini kapatmak zorunlu mu?

Zorunlu değil ama tek başına en etkili güvenlik adımı budur. İnternete açık her sunucu günde binlerce otomatik parola denemesi alır; PasswordAuthentication no ayarı bu denemelerin tamamını anlamsız kılar. Kapatmadan önce anahtarla girebildiğinizi yeni bir oturumda mutlaka test edin.

Altyapı ve Sistem Yönetimi — Tüm Rehberler#

  1. DDoS Saldırısı Nedir ve Nasıl Korunulur?
  2. Veri Merkezi (Data Center) Nedir?
  3. Sunucu Kiralarken Nelere Dikkat Edilmeli?
  4. Discord Bot Hosting ve 7/24 Çalıştırma
  5. Sunucu Yedekleme Stratejileri ve 3-2-1 Kuralı
  6. Sunucu Yönetimi İçin Linux Temel Komutları
  7. Sunucu İzleme ve Monitoring Rehberi
  8. SSH Anahtarı (Key) Oluşturma ve Sunucuya Ekleme
  9. Fail2ban Kurulumu ve Yapılandırması
  10. Linux’ta Cron Job ile Zamanlanmış Görev Oluşturma
  11. Port Nedir, Nasıl Açılır ve Nasıl Test Edilir?
  12. RAID Nedir ve Sunucuda Hangi RAID Seviyesi Kullanılır?

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