Bir parola, hiç uyumayan bir makine tarafından saniyede bin kez tahmin edilebilir. Bir anahtar edilemez: denenecek kadar kısa hiçbir şey yoktur. Geçiş on dakikaya mal olur ve bütün bir saldırı sınıfını ortadan kaldırır.
Çifti üretin
ssh-keygen -t ed25519 -C "you@yourmachine"
Bugünün varsayılanı Ed25519'dur: kısa, hızlı ve güçlü. Ona bir parola öbeği verin - dizüstü çalınırsa, hırsızla sunucularınız arasındaki tek şey o parola öbeğidir.
Açık yarısını kurun
ssh-copy-id ops@your-server
Bu, açık anahtarı sunucudaki ~/.ssh/authorized_keys dosyasına ekler. Özel yarısı ise makinenizden hiç çıkmaz ve hiç çıkmamalıdır.
Onu YENİ bir pencerede deneyin
İçinde bulunduğunuz oturumu kapatmayın. İkinci bir uçbirim açın ve anahtarla giriş yapın. Başarısız olursa, düzeltmek için hâlâ ilk pencereniz vardır.
ssh ops@your-server
Sonra parolaları kapatın
# /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
# then
systemctl reload ssh
Yeniden başlatma değil, yeniden yükleme: yeniden yükleme var olan oturumları hayatta tutar, böylece bir hata sizi dışarı atmaz.
İşe yaramadığında
- İzinler. SSH, başkalarının okuyabildiği bir dizindeki anahtarları reddeder:
chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys - Yanlış kullanıcı. Anahtar, root'un değil, giriş yaptığınız kullanıcının ev dizinine konur.
- Sebebini okuyun.
ssh -v ops@serversunduğu her anahtarı ve her birinin niçin reddedildiğini yazdırır.
Makine başına bir anahtar; her makineye kopyalanmış tek bir anahtar değil. Bir dizüstü kaybolduğunda sunucuda tek bir satır silersiniz ve başka hiçbir şey değişmez.