***

1. Проверяем версии и поддерживаемые алгоритмы

1. Проверить версию OpenSSH на сервере и клиенте:

   ssh -V

PQ‑KEX доступны: sntrup761x25519-sha512 с OpenSSH ≥ 9.0, mlkem768x25519-sha256 с ≥ 9.9. [news.ycombinator](https://news.ycombinator.com/item?id=44863242)

2. Посмотреть поддерживаемые KEX на сервере:

   # на сервере
   ssh -Q kex

В выводе должны быть хотя бы sntrup761x25519-sha512 и/или mlkem768x25519-sha256. [community.f5](https://community.f5.com/kb/security-insights/post-quantum-cryptography-openssh--s1ngularity-supply-chain-attack/343251)

Если их нет — нужен апгрейд пакета OpenSSH в дистрибутиве до свежей версии. [openssh](https://www.openssh.org/pq.html)

***

2. Настройка SSH‑сервера (sshd)

Редактируем /etc/ssh/sshd_config (или drop‑in в /etc/ssh/sshd_config.d/*.conf) от root. [ssh](https://www.ssh.com/academy/ssh/sshd_config)

2.1. Включаем пост‑квантовые KEX

Добавляем строку (лучше ближе к началу файла, чтобы было очевидно):

KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256

Это заставит сервер предлагать гибридные PQ‑алгоритмы в первую очередь. [thinglab](https://thinglab.org/2025/08/openssh_post_quantum_kex/)

Если нужно сохранить совместимость со старыми клиентами, можно добавить классические KEX в конец списка:

KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256,curve25519-sha256,curve25519-sha256@libssh.org

Так новые клиенты будут использовать PQ‑KEX, старые — уйдут на curve25519. [community.f5](https://community.f5.com/kb/security-insights/post-quantum-cryptography-openssh--s1ngularity-supply-chain-attack/343251)

2.2. Перезапуск и проверка

1. Проверяем конфиг:

   sshd -t

Ошибок быть не должно. [ssh](https://www.ssh.com/academy/ssh/sshd_config)

2. Перезапускаем сервис (systemd):

   sudo systemctl restart sshd
   sudo systemctl status sshd

Убеждаемся, что сервер поднялся. [ssh](https://www.ssh.com/academy/ssh/sshd_config)

3. С клиента проверяем, какой KEX реально используется:

   ssh -vvv user@server.example.com

В отладочном выводе ищем строки вида:
kex: algorithm: mlkem768x25519-sha256 или sntrup761x25519-sha512. [youtube](https://www.youtube.com/watch?v=QGHze5fBECQ)

Если видишь один из этих KEX — сервер настроен «квантобезопасно» и предупреждение исчезнет на новых клиентах. [sansec](https://sansec.io/guides/ssh-post-quantum)

***

3. Настройка SSH‑клиента (ssh)

Клиент можно настроить и глобально (/etc/ssh/ssh_config), и локально для пользователя (~/.ssh/config). [ssh](https://www.ssh.com/academy/ssh/sshd_config)

3.1. Включаем PQ‑KEX на клиенте

Пример глобальной настройки для всех хостов:

Host *
    KexAlgorithms sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com,mlkem768x25519-sha256,curve25519-sha256,curve25519-sha256@libssh.org

Клиент будет сначала пытаться согласовать PQ‑KEX, потом — обычный curve25519. [openssh](https://www.openssh.org/pq.html)

Можно задать это только для конкретных хостов, например, для прод‑серверов:

Host prod-*
    HostName %h.example.com
    User deploy
    KexAlgorithms sntrup761x25519-sha512,mlkem768x25519-sha256,curve25519-sha256

Так ты не сломаешь совместимость со старыми коробками где‑то ещё. [thinglab](https://thinglab.org/2025/08/openssh_post_quantum_kex/)

***

4. Как отключить предупреждение (если надо)

Если по каким‑то причинам сервер обновить нельзя, но баннер раздражает, можно отключить именно квантовое предупреждение на клиенте. [linkedin](https://www.linkedin.com/posts/professor-linux_openssh-101-introduces-a-small-but-important-activity-7382134359811698690-mn95)

В ~/.ssh/config:

Host *
    WarnWeakCrypto no-pq-kex

Это отключит только предупреждения про «не пост‑квантовые» KEX, оставив другие слабые шифры под контролем. [developercommunity.visualstudio](https://developercommunity.visualstudio.com/t/ssh-config-parameter-WarnWeakCrypto-is-n/11004245?sort=active&topics=windows+10.0)

Чтобы совсем вырубить все подобные варнинги:

Host *
    WarnWeakCrypto no

Но так можно пропустить реально опасные алгоритмы, поэтому лучше ограничиться no-pq-kex. [linkedin](https://www.linkedin.com/posts/professor-linux_openssh-101-introduces-a-small-but-important-activity-7382134359811698690-mn95)

***

5. Минимальный чек‑лист

[file-name 000339_2026-02-08_21-51-46.txt]