Why password auth has to go
Password authentication is fundamentally weaker than key auth in five concrete ways:
- Guessable — Even a strong password is brute-forceable. An ed25519 key is 2^256 possibilities; the universe heat-deaths first.
- Phishable — Someone can build a fake server to harvest passwords. Keys verify the server too (via known_hosts).
- Reused — Humans reuse passwords. One leak, many compromises.
- Transmitted — The password (encrypted, but still) crosses the network on every login. The private key never does.
- Not auditable per device — A password is a password. With keys, every device has a unique line in authorized_keys.
Auditing authorized_keys
Treat authorized_keys as a guest list. Every line should be a key whose owner you can identify. The comment at the end of each line is the only audit trail — clear comments mean fast revocations.