<===

ProNotes

2026-02-08 21:51:46
Ниже пошаговая «статья» под Linux про настройку сервера и клиента OpenSSH: и чтобы было PQ‑безопасно, и чтобы (по желанию) убрать предупреждение. [thinglab](https://thinglab.org/2025/08/openssh_post_quantum_kex/)

***

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

1. Проверить версию OpenSSH на сервере и клиенте:  
   ```bash
   ssh -V
   ```  
   PQ‑KEX доступны: `sntrup761x25519-sha512` с OpenSSH ≥ 9.0, `mlkem768x25519-sha256` с ≥ 9.9. [news.ycombinator](https://news.ycombinator.com/item?id=44863242)

2. Посмотреть поддерживаемые KEX на сервере:  
   ```bash
   # на сервере
   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

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

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

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

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

```sshconfig
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. Проверяем конфиг:  
   ```bash
   sshd -t
   ```  
   Ошибок быть не должно. [ssh](https://www.ssh.com/academy/ssh/sshd_config)

2. Перезапускаем сервис (systemd):  
   ```bash
   sudo systemctl restart sshd
   sudo systemctl status sshd
   ```  
   Убеждаемся, что сервер поднялся. [ssh](https://www.ssh.com/academy/ssh/sshd_config)

3. С клиента проверяем, какой KEX реально используется:  
   ```bash
   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 на клиенте

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

```sshconfig
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)

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

```sshconfig
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`:

```sshconfig
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)

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

```sshconfig
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. Минимальный чек‑лист

- Версия OpenSSH на сервере ≥ 9.9 (для `mlkem768x25519-sha256`) либо ≥ 9.0 (хотя бы `sntrup761x25519-sha512`). [quantumcomputingreport](https://quantumcomputingreport.com/openssh-10-0-introduces-default-post-quantum-key-exchange-algorithm/)
- В `sshd_config` заданы PQ‑KEX через `KexAlgorithms ...`. [thinglab](https://thinglab.org/2025/08/openssh_post_quantum_kex/)
- Клиент настроен предпочитать PQ‑KEX, при необходимости — через `KexAlgorithms` в `ssh_config`/`~/.ssh/config`. [openssh](https://www.openssh.org/pq.html)
- Проверка `ssh -vvv` показывает один из PQ‑алгоритмов, предупреждений о non‑PQ KEX нет. [youtube](https://www.youtube.com/watch?v=QGHze5fBECQ)   
← Previous Next →
Back to list