Şifrə əvəzinə açar - daha təhlükəsiz
SSH parol mütləq brute-force-a məruz qalır. SSH key-pair (açar cütlüyü) istifadə etsən, şifrəni tamam söndürə bilərsən. Hesab oğurluğu praktiki olaraq qeyri-mümkün olur.
1. Yerli kompüterində açar yarat
ssh-keygen -t ed25519 -C "ad@gmail.com"
Saxlama yolu (default ~/.ssh/id_ed25519) və passphrase soruşur. Passphrase qoymağı tövsiyə edirik - açar oğurlanırsa belə işləməz.
2. Açarı serverə kopyala
ssh-copy-id user@server-ip
Bu mümkün deyilsə manual:
cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ssh user@server "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
3. Test et
ssh user@server
Şifrə soruşmadan daxil olmalıdır.
4. Şifrə autentifikasiyasını söndür
Serverdə /etc/ssh/sshd_config:
PasswordAuthentication no PubkeyAuthentication yes PermitRootLogin prohibit-password
sudo systemctl restart sshd
Diqqət: Söndürmədən əvvəl mütləq başqa terminal pəncərəsindən açarla daxil ola bildiyinə əmin ol - yoxsa özünü xaric edərsən!
Multi-server üçün SSH config
~/.ssh/config:
Host webserver
HostName 94.20.59.155
User root
IdentityFile ~/.ssh/id_ed25519
Host dbserver
HostName 94.20.59.156
User admin
Port 2222
IdentityFile ~/.ssh/dbkeyİndi sadəcə ssh webserver deyirsən.
Açarı bir neçə kompüterdə istifadə
Eyni private key-i kopyalama. Hər kompüter üçün ayrı açar yarat və hamısını serverdə authorized_keys-ə əlavə et.