SSH anahtarı oluşturma ve kullanma (Windows, Mac, Linux)
1. SSH anahtarı nedir, neden parola yerine?
SSH anahtarı birbirine bağlı iki dosyadan oluşur:
| Dosya | Örnek ad | Ne yapılır |
|---|---|---|
| Özel anahtar (private key) | id_ed25519 |
Yalnız sizin bilgisayarınızda kalır. Kimseye verilmez, hiçbir yere yapıştırılmaz. |
| Açık anahtar (public key) | id_ed25519.pub |
Sunucuya konur. Paylaşılması güvenlidir. |
Sunucu, bağlanan kişinin özel anahtara sahip olduğunu matematiksel olarak doğrular; ağ üzerinden parola gitmez. Bu yüzden parola deneme saldırıları (brute force) işe yaramaz. İnternete açık bir sunucuda yapabileceğiniz en etkili güvenlik önlemlerinden biridir.
2. Anahtar oluşturma
Windows 10/11, macOS ve Linux'ta ssh-keygen aracı hazır gelir. Komut her üç sistemde aynıdır.
-
Terminali açın:
- Windows: Başlat menüsünde PowerShell ya da Terminal.
- macOS: Uygulamalar → İzlenceler → Terminal.
- Linux: Terminal uygulamanız.
-
Şu komutu çalıştırın (e-posta yalnız anahtara not olarak eklenir):
bashssh-keygen -t ed25519 -C "[email protected]" -
Kaydedilecek yer sorulunca Enter'a basarak varsayılanı kabul edin (
~/.ssh/id_ed25519; Windows'taC:\Users\<kullanıcı>\.ssh\id_ed25519). -
Parola (passphrase) sorulduğunda bir parola belirleyin. Bilgisayarınız çalınsa bile anahtar bu parola olmadan kullanılamaz. Otomasyon için ayrı, parolasız bir anahtar oluşturabilirsiniz.
-
Açık anahtarınızı ekrana yazdırın:
bashcat ~/.ssh/id_ed25519.pubWindows PowerShell'de:
powershellGet-Content $env:USERPROFILE\.ssh\id_ed25519.pubÇıktı tek satırdır ve şöyle görünür:
textssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleKeyOnly [email protected]
ed25519 kısa, hızlı ve güncel bir anahtar türüdür; önerimiz budur. Eski bir sistem bunu desteklemiyorsa ssh-keygen -t rsa -b 4096 ile RSA anahtarı oluşturun. Gyro sipariş ekranı ssh-ed25519, ssh-rsa, ecdsa-sha2-nistp256/384/521 ve donanım anahtarı ([email protected]) türlerini kabul eder.
3. Açık anahtarı sunucuya koyma
3.1 Yeni bulut sunucu siparişinde (en kolay yol)
- Gyro Bulut sipariş sayfasında SSH açık anahtarı (isteğe bağlı) kutusunu bulun.
id_ed25519.pubdosyasının içeriğini, baştan sona tek satır olarak yapıştırın.- Siparişi tamamlayın. Sunucu hazır olunca root kullanıcısıyla doğrudan, parolasız girersiniz.
Sunucuyu anahtarla açtıysanız root parolası üretilmez; panelde İşletim Sistemini Yeniden Kur yaptığınızda da giriş aynı anahtarla olur.
3.2 Çalışan bir sunucuya (Gyro Bulut, Türkiye VDS ya da fiziksel sunucu)
Şu an parolayla girebildiğiniz bir sunucuya anahtarınızı eklemek için:
-
macOS / Linux:
bashssh-copy-id [email protected] -
Windows PowerShell (
ssh-copy-idyoktur, tek satırda aynı işi yapar):powershellGet-Content $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
Komut bir kez root parolasını sorar; sonraki girişler anahtarla olur.
3.3 Paneldeki "SSH Anahtarları" aracı ne işe yarar?
Gyro Bulut hizmet sayfasında Yönetim → SSH Anahtarları aracına en çok 10 açık anahtar ekleyebilirsiniz. Bu anahtarlar Kurtarma Modu'nda kullanılır: sunucuyu kurtarma sistemiyle başlattığınızda bu anahtarlarla girersiniz. Çalışan sunucunuzun içindeki authorized_keys dosyasını değiştirmez; sunucuya anahtar eklemek için 3.2'deki yolu kullanın.
4. Anahtarla bağlanma
ssh [email protected]
Birden fazla anahtarınız varsa hangisinin kullanılacağını belirtin:
ssh -i ~/.ssh/id_ed25519 [email protected]
Her seferinde IP yazmamak için ~/.ssh/config dosyasına kısa bir ad ekleyin:
Host web1
HostName 203.0.113.10
User root
IdentityFile ~/.ssh/id_ed25519
Artık yalnız ssh web1 yazmanız yeterli.
PuTTY kullanıyorsanız PuTTY kendi .ppk biçimini ister. PuTTYgen ile id_ed25519 dosyanızı açıp Save private key ile .ppk olarak kaydedin. Windows'taki yerleşik ssh komutunu kullanırsanız dönüştürmeye gerek yoktur.
5. Parola girişini kapatma (önerilir)
Anahtarla girişin çalıştığından emin olduktan sonra parolayla girişi kapatın:
-
Sunucuda SSH ayar dosyasını açın:
nano /etc/ssh/sshd_config -
Şu satırları bulun ya da ekleyin:
textPasswordAuthentication no PermitRootLogin prohibit-password -
Ayarı denetleyip SSH'ı yeniden başlatın:
bashsshd -t && systemctl restart sshAlmaLinux, Rocky Linux, CentOS Stream ve Fedora'da servis adı
sshd'dir:systemctl restart sshd.
Açık SSH oturumunuzu kapatmadan, yeni bir terminal penceresinden anahtarla bağlanmayı deneyin. Bağlanamıyorsanız eski oturumdan ayarı geri alın. Tamamen kilitlenirseniz Gyro Bulut'ta panelden VNC Konsol ile girip ayarı düzeltebilirsiniz.
6. Sorun giderme
| Belirti | Olası neden | Çözüm |
|---|---|---|
Permission denied (publickey) |
Sunucuda açık anahtar yok ya da yanlış özel anahtar kullanılıyor | ssh -v root@<IP> ile hangi anahtarın denendiğine bakın; -i ile doğru dosyayı verin |
UNPROTECTED PRIVATE KEY FILE |
Özel anahtar dosyasının izinleri çok açık (macOS/Linux) | chmod 600 ~/.ssh/id_ed25519 |
| Sipariş ekranında "SSH anahtarı geçersiz" | Özel anahtar ya da bölünmüş satır yapıştırıldı | .pub dosyasının tamamını tek satır olarak yapıştırın |
| SSH Anahtarları aracında "Bu SSH anahtarı başka bir hizmette kayıtlı" | Aynı açık anahtar başka bir Gyro Bulut hizmetinin SSH Anahtarları listesinde var | Bu hizmetin kurtarma modu için ayrı bir anahtar oluşturup ekleyin (ssh-keygen -t ed25519 -f ~/.ssh/gyro_web2). Sipariş ekranında aynı anahtarı kullanmak sorun değildir |
REMOTE HOST IDENTIFICATION HAS CHANGED |
Sunucu yeniden kuruldu ve parmak izi değişti | Beklediğiniz bir yeniden kurulumsa ssh-keygen -R 203.0.113.10 ile eski kaydı silin |
| Her bağlantıda anahtar parolası soruluyor | Anahtar ajana eklenmemiş | macOS/Linux: ssh-add ~/.ssh/id_ed25519; Windows: ssh-agent hizmetini başlatıp ssh-add |
7. Sık sorulan sorular
Özel anahtarımı kaybedersem ne olur?
O anahtarla bir daha giremezsiniz. Yeni bir anahtar çifti oluşturun; Gyro Bulut'ta Kurtarma Modu ya da VNC Konsol ile sunucuya girip yeni açık anahtarı authorized_keys dosyasına ekleyin.
Aynı anahtarı birden fazla sunucuda kullanabilir miyim?
Evet. Açık anahtarınızı istediğiniz kadar sunucuya ekleyebilirsiniz; Gyro Bulut sipariş ekranında da aynı anahtarı birden fazla siparişte kullanabilirsiniz. Yalnız hizmet sayfasındaki SSH Anahtarları aracında (kurtarma modu) bir anahtar tek bir hizmete eklenebilir.
Ekipte birden fazla kişi bağlanacak. Herkes aynı anahtarı mı kullanmalı?
Hayır. Herkes kendi anahtarını oluştursun, her birinin açık anahtarını authorized_keys dosyasına ayrı satır olarak ekleyin. Biri ayrıldığında yalnız onun satırını silersiniz.
Anahtar parolası (passphrase) zorunlu mu?
Zorunlu değil ama önerilir. Otomasyon (CI, yedekleme betiği) için kullanılan anahtarlarda parola olmayabilir; bu anahtarları yalnız gereken sunucuya ve mümkünse kısıtlı bir kullanıcıya verin.
Özel anahtarımı destek ekibine göndermem gerekir mi?
Hayır, hiçbir zaman. Destek ekibimiz yalnız açık anahtara (.pub) ihtiyaç duyabilir.
SSH anahtarıyla birlikte en etkili ikinci önlem, SSH portunu yalnız kendi IP'nize açmaktır. Ağ Güvenlik Duvarı ile bunu panelden, sunucuya dokunmadan yaparsınız: Ağ Güvenlik Duvarı rehberi.
Sıradaki adım
- Anahtarınız hazır: İlk bulut sunucunuzu 2 dakikada açın rehberiyle sunucunuzu anahtarla kurun.
- Sunucunuz yok mu? Gyro Bulut paketleri
Thanks for your feedback!