Как работает аутентификация на основе SFTP-ключа? Разница между ключами SSH и SFTP

Недавно я где-то прочитал, что:

Ключи SSH предназначены для шифрования, в то время как ключи SFTP предназначены для аутентификации.

Рассмотрим, у нас есть клиентская машина C и SFTP-сервер S. Для установления SSH-соединения (с использованием открытых/закрытых ключей) клиент создает пару ключей PUc и PRc. Открытый ключ PUc добавляется в файл authorized_keys на сервере S, и клиент C использует свой закрытый ключ PRc для установите соединение.

Тем не менее, я читал, что для SFTP пара ключей создается на сервере для пользователя, а закрытый ключ предоставляется клиенту для проверки подлинности SFTP-соединения. То есть сервер S создает PUs и PRs, а закрытый ключ PRs передается клиенту C для аутентификации его SFTP-соединения. Правильно ли это понимание?

Если да, я понимаю, что настройка SSH-соединения происходит через 3 этапы:

  1. Проверка сервера клиентом (проверка ключа хоста).
  2. Генерация ключа сеанса для шифрования всей связи.
  3. Аутентификация клиента.

Как клиент аутентифицирует свой сеанс SFTP (с помощью закрытого ключа, который он получил перед передачей с сервера) на шаге 3?