Kalau anda ingin login pakai SSH key tapi tetap membolehkan PasswordAuthentication, sebenarnya kedua metode bisa aktif bersamaan. Tapi biasanya key-based login lebih aman dan akan digunakan dulu jika tersedia. Mari kita bahas secara detail:
1. Tetap biarkan PasswordAuthentication yes
Di /etc/ssh/sshd_config:
Port 101
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes
- PubkeyAuthentication yes→ memastikan SSH bisa pakai key.
- PasswordAuthentication yes→ tetap memperbolehkan login password jika key tidak ada.
Jadi ini artinya user bisa login pakai key atau password.
2. Buat SSH key di client
Di komputer client (misal Windows dengan Git Bash, Linux, MacOS):
ssh-keygen -t ed25519 -C "user@client"   # Lebih aman daripada rsa
- Simpan default di ~/.ssh/id_ed25519
- Bisa kasih passphrase untuk keamanan tambahan
3. Salin public key ke server
Metode paling mudah pakai ssh-copy-id:
ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 101 username@192.168.73.101
- -p 101karena port SSH sudah diubah
- Jika sukses, key akan tersimpan di ~/.ssh/authorized_keysuser di server
4. Cek permission folder dan file
Di server Debian:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown username:username ~/.ssh -R
Ini wajib supaya key-based login tidak ditolak karena permission terlalu longgar.
5. Tes login pakai key
Dari client:
ssh -i ~/.ssh/id_ed25519 -p 101 username@192.168.73.101
Jika berhasil login tanpa minta password server → key sudah aktif.
Kalau user lain atau client tanpa key coba login → masih bisa pakai password karena PasswordAuthentication yes.
✅ Kesimpulan:
- Kamu bisa mempertahankan PasswordAuthentication sambil menggunakan key.
- Key login akan prioritas kalau tersedia.
- Password tetap bisa dipakai jika user tidak punya key.