SSH parolaları tahmin edilir. Anahtarlar edilmez. VPS'inizi anahtar tabanlı girişe geçirmek yapabileceğiniz en büyük tekil güvenlik iyileştirmesidir ve yaklaşık beş dakika sürer.
SSH anahtarları nasıl çalışır
Bir çift dosya oluşturursunuz. Özel anahtar bilgisayarınızda kalır ve asla paylaşılmaz. Genel anahtar sunucuya konur. Bağlandığınızda sunucu, bilgisayarınızdan eşleşen özel anahtara sahip olduğunu kanıtlamasını ister; anahtar ise hiçbir zaman ağ üzerinden geçmez.
1. Bir anahtar çifti oluşturun
ssh-keygen -t ed25519 -C "me@laptop"
Ed25519 anahtarları kısa, hızlı ve moderndir. İstendiğinde bir parola ifadesi seçin; böylece çalınan bir dizüstü bilgisayar çalınan bir sunucu anlamına gelmez. Windows 10 ve 11'de aynı komut PowerShell'de çalışır.
2. Genel anahtarı sunucuya kopyalayın
ssh-copy-id user@your.server.ip
ssh-copy-id yoksa, ~/.ssh/id_ed25519.pub dosyasının içeriğini sunucudaki ~/.ssh/authorized_keys dosyasına ekleyin, ardından chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys komutunu çalıştırın.
3. Parolaları kapatmadan önce test edin
İkinci bir terminal açın ve anahtarla giriş yapın. Bu çalışana kadar ilk oturumunuzu açık tutun; böylece bir hata sizi dışarıda bırakamaz.
4. Parola ile girişi devre dışı bırakın
sudo nano /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
sudo sshd -t && sudo systemctl reload ssh
sshd -t kontrolü, erişiminizi bozabilecek yazım hatalarını önceden yakalar. Bazı sistemlerde servisin adı sshd olur, ssh değil.
5. Derli toplu bir istemci yapılandırması
# ~/.ssh/config
Host myvps
HostName your.server.ip
User deploy
IdentityFile ~/.ssh/id_ed25519
Artık yazmanız gereken tek şey ssh myvps.
İyi uygulamalar
- Her cihaz için ayrı bir anahtar kullanın; böylece diğerlerine dokunmadan birini iptal edebilirsiniz.
- Parola ifadesini oturum başına bir kez girmek için
ssh-agentkullanın. - Bir cihaz kaybolduğunda veya bir çalışan ayrıldığında anahtarları
authorized_keysdosyasından kaldırın. - 15 dakikalık güvenlik sertleştirme kontrol listemizdeki gibi, günlük gürültüsünü azaltmak için fail2ban ekleyin.