Генерируешь пару ключей: ssh-keygen -t ed25519 (или rsa). Получаешь приватный (~/.ssh/id_ed25519) и публичный (~/.ssh/id_ed25519.pub) ключи. Публичный копируешь на сервер: ssh-copy-id user@server — он добавится в ~/.ssh/authorized_keys. Теперь входишь без пароля. Приватный ключ никогда никому не отдаёшь. Для GitHub — добавляешь публичный ключ в Settings → SSH keys. Для нескольких серверов/аккаунтов настраиваешь ~/.ssh/config с разными ключами.