How to generate and use SSH keys for secure authentication on Linux, macOS, and Window