# OpenSSH 10.6 за постквантови SSH ключове CH-J Tools може да добави ключ от постквантовия тип `ssh-mldsa44-ed25519` към сървър само ако на него работи **OpenSSH 10.6 или по-нова версия**. OpenSSH 10.6 (6 октомври 2026 г.) е първата версия със стандартизираната форма на този тип ключ. По-старите версии го отхвърлят. Някои от тях, например 10.2p1 в Ubuntu 26.04, разпознават само експериментален вариант `…@openssh.com`, който CH-J Tools не използва. Към момента на написване Ubuntu и Debian не предоставят 10.6 чрез `apt`. Това ръководство инсталира официалната версия **OpenSSH 10.6p2** (5 ноември 2026 г., отстранява уязвимост за заобикаляне на удостоверяването с парола в компилации за Linux без PAM) успоредно с пакета на дистрибуцията и настройва услугата `ssh` да я използва. Тествано на чиста инсталация на Ubuntu 26.04.1 LTS: инсталиране, вход с ключ `ssh-mldsa44-ed25519`, рестартиране и връщане към предишното състояние. ## Преди да започнете - **Вие сами поддържате тази компилация.** `apt upgrade` няма да доставя корекции по сигурността за нея. Следете [бележките към версиите на OpenSSH](https://www.openssh.com/releasenotes.html) и повторете процедурата с по-нова версия или се върнете към предишното състояние. - Поддържайте **втора SSH сесия отворена** през цялата процедура. Още по-добре е да имате достъп до конзола (хипервайзор, IPMI, облачна конзола). - Първо изпробвайте на тестова машина. - Нужни са ви права на root, systemd, около 1 GiB свободно място в `/var/tmp` и достъп до интернет за `apt` и изтеглянето на OpenSSH. ## Какво прави скриптът 1. Инсталира зависимостите за компилиране чрез `apt`. 2. Изтегля `openssh-10.6p2.tar.gz`. Проверява предварително зададената контролна сума SHA-256 и подписа OpenPGP с ключа за изданията на OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Компилира и инсталира в `/opt/openssh-10.6p2`. Конфигурацията ви в `/etc/ssh` (ключовете на хоста, `sshd_config`) и конфигурацията на PAM остават непроменени. 4. Проверява текущия `sshd_config` с новата версия. След това стартира тестов екземпляр на `127.0.0.1:2226` и не превключва нищо, докато и двете проверки не преминат успешно. 5. Добавя допълващия конфигурационен файл за systemd `/etc/systemd/system/ssh.service.d/chj-openssh.conf` и деактивира `ssh.socket`, тъй като оригиналният sshd не поддържа активиране чрез сокет. След това рестартира `ssh.service`. 6. Проверява дали работещият процес е `/opt/openssh-10.6p2/sbin/sshd` и дали идентификационният низ е `SSH-2.0-OpenSSH_10.6`. Ако някоя от проверките е неуспешна, автоматично връща предишното състояние. ## Инсталиране ```bash curl -fsSLO https://tools.ch-j.de/files/tools/chj-openssh-10.6.sh echo "cdf3031a0b64db3e3bf3c83d31bd746aee5505757b1af5e137750326ed8d7a01 chj-openssh-10.6.sh" | sha256sum -c - less chj-openssh-10.6.sh # read it before running it as root sudo bash chj-openssh-10.6.sh install ``` След това отворете **нова** SSH връзка. Затворете старата сесия едва след успешен вход през новата. ## Проверка и връщане към предишното състояние ```bash sudo bash chj-openssh-10.6.sh status # running binary, ssh.socket, banner sudo bash chj-openssh-10.6.sh rollback # back to the distribution sshd ``` Връщането премахва допълващия конфигурационен файл, активира отново `ssh.socket`, ако е бил активиран преди, и рестартира `sshd` на дистрибуцията. Компилацията в `/opt/openssh-10.6p2` остава на диска, докато не я изтриете. След връщането ключовете `ssh-mldsa44-ed25519` вече не работят на този сървър. ## След това в CH-J Tools Свържете се отново със сървъра. В **Users** вече можете да добавите ключ `ssh-mldsa44-ed25519` от Keychain. Ако сървърът все още съобщава по-стара версия, CH-J Tools показва "OpenSSH 10.6 or newer is required" и не добавя ключа.