Это зависит от реализации.
Распространенным способом сделать что-то подобное является сохранение автоматически сгенерированной пары ключей во временном файле. Открытый ключ передается на сервер, а закрытый ключ шифруется симметричным сеансовым ключом (срок действия которого истекает через короткое время или после выхода из системы).
Поле разрешений этого файла установлено в r -------- (только для чтения пользователем).
/ tmp обычно используется, потому что многие операционные системы периодически его очищают. (Некоторые даже используют устройство в памяти.)
Реализации могут отличаться, например, ключи SSH обычно генерируются только один раз, не шифруются с помощью ключа сеанса (но могут иметь срок действия) и хранятся в ~ / .ssh.