Неизвестный SSH-ключ: каким быть диалогу

Сейчас дека отказывается подключаться и печатает совет — сходить в терминал и принять ключ руками. Ты просишь диалог. Загвоздка в том, что принятие ключа — это единственное место во всём SSH, где решает человек: до этого момента никто не может отличить твой сервер от чужого. Поэтому варианты различаются не оформлением, а тем, кто в итоге ручается за ключ.

Что происходит сегодня

root@88.99.188.200 is not a known host yet. Run `ssh root@88.99.188.200` once in a terminal and accept its key

Честно, но это тупик внутри деки: она сообщает о проблеме и отправляет решать её в другое место. Отпечаток при этом не показан — сверить его не с чем.

Варианты

A · Проводник до терминала

Диалог показывает отпечаток и открывает панель с ssh, где «yes» вводит человек. Дека не притрагивается к known_hosts.

root@88.99.188.200 has not been met before
Its key fingerprint, read just now:
SHA256:x9k2Lm...Qf4 · ed25519
Nobody can tell this host from an impostor until you recognise that fingerprint. Accepting happens in a terminal, where the answer is yours.
OPEN A TERMINAL HERE COPY FINGERPRINT CANCEL
Отпечаток наконец виден — есть что сверять
Ответственность остаётся там, где была: у ssh и у тебя
Один клик вместо переключения окна и набора команды
Всё равно два шага: клик, потом «yes» в панели
Правило деки не меняется: known_hosts пишет только ssh.

B · Доверить из деки (рекомендую)

Диалог показывает отпечаток, и кнопка TRUST THIS KEY сама дописывает его в known_hosts — ровно то, что сделал бы «yes» в терминале.

root@88.99.188.200 has not been met before
Its key fingerprint, read just now:
SHA256:x9k2Lm...Qf4 · ed25519
Trusting writes this key to your known_hosts. If it is not the key your host shows, you are trusting somebody else.
TRUST THIS KEY — SURE? OPEN A TERMINAL INSTEAD CANCEL
Один клик — и хост в работе, без ухода из деки
Ровно та же запись, что сделал бы ssh: ничего нового не изобретается
Armed-подтверждение, как у всех разрушающих действий деки
Дека начинает писать в known_hosts — правило DESIGN.md меняется
Клик легче набора, а значит его легче сделать не глядя
Требует правки DESIGN.md: «known_hosts never written» → «written only on this explicit, armed consent».

C · Доверить, но со сверкой

Как B, но кнопка неактивна, пока ты не введёшь последние четыре знака отпечатка — руками, глядя в него.

root@88.99.188.200 has not been met before
SHA256:x9k2LmR7vTqB8nZpQf4 · ed25519
Type the last four characters of the fingerprint to confirm you have read it:
____  (Qf4 + 1)
TRUST THIS KEY CANCEL
Невозможно «просто прокликать»: глаза обязаны дойти до отпечатка
Самая честная имитация того, что делает осторожный человек
Раздражает на своей же машине, куда подключаешься в десятый раз
Набор четырёх знаков не доказывает, что ты сверил их с сервером
Тоже правит DESIGN.md, плюс новый вид поля ввода в деке.

Что дека может узнать сама

Отдельные пункты (мультивыбор)

Показывать отпечаток всегда
Даже в варианте A: без отпечатка диалог не диалог, а сообщение об ошибке с кнопкой.
COPY FINGERPRINT
Чтобы сверить с панелью хостера, не переписывая от руки.
Строка «где смотреть»
Подсказка: у Hetzner/DO отпечаток виден в консоли сервера — куда именно смотреть, чтобы сверка была настоящей.
Тот же диалог из палитры хостов
Ctrl+Shift+P: добавил хост — сразу предложить знакомство, не дожидаясь первого отказа.
Сразу пробовать снова
После принятия ключа дека тут же повторяет опрос, без ручного RECONNECT.
Не модалка, а строка в рейле
Разворачивается под строкой хоста, как оффер INSTALL HERDR HERE — деке это привычнее модальных окон.

Моё мнение

выбор:
Клик по карточке — вариант, клик по пунктам — добавки. Пришли ссылку обратно в чат.