1995·crypto
Modern
SSH public-key
Клиент подписывает challenge приватным ключом, сервер проверяет открытым.
Плюсы
- +Без передачи секрета
- +Стандарт для серверного доступа
Минусы
- −Управление ключами на устройствах
SSH publickey auth
- 1.Client → sshdSSH_MSG_USERAUTH_REQUEST publickey, key_alg, pubkey
- 2.sshd ↺ sshdpubkey ∈ ~/.ssh/authorized_keys?
- 3.sshd → ClientSSH_MSG_USERAUTH_PK_OK
- 4.sshd → Clientrandom session bytes (challenge)
- 5.Client ↺ Clientsign(session_id ‖ user ‖ pubkey) priv key
- 6.Client → sshdUSERAUTH_REQUEST + signature
- 7.sshd ↺ sshdverify with pubkey
- 8.sshd → ClientUSERAUTH_SUCCESS
SSH public-key challenge
Сервер шлёт случайный challenge → клиент подписывает приватным ключом → сервер проверяет open key.
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDemoKeyDemoKeyDemoKeyDemoKey alice@laptop
Network · DevTools