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@server sunduğ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.