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 и повторете процедурата с по-нова версия или се върнете към предишното състояние. - Поддържайте втора SSH сесия отворена през цялата процедура. Още по-добре е да имате достъп до конзола (хипервайзор, IPMI, облачна конзола).
- Първо изпробвайте на тестова машина.
- Нужни са ви права на root, systemd, около 1 GiB свободно място в
/var/tmpи достъп до интернет заaptи изтеглянето на OpenSSH.
Какво прави скриптът
- Инсталира зависимостите за компилиране чрез
apt. - Изтегля
openssh-10.6p2.tar.gz. Проверява предварително зададената контролна сума SHA-256 и подписа OpenPGP с ключа за изданията на OpenSSH7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA. - Компилира и инсталира в
/opt/openssh-10.6p2. Конфигурацията ви в/etc/ssh(ключовете на хоста,sshd_config) и конфигурацията на PAM остават непроменени. - Проверява текущия
sshd_configс новата версия. След това стартира тестов екземпляр на127.0.0.1:2226и не превключва нищо, докато и двете проверки не преминат успешно. - Добавя допълващия конфигурационен файл за systemd
/etc/systemd/system/ssh.service.d/chj-openssh.confи деактивираssh.socket, тъй като оригиналният sshd не поддържа активиране чрез сокет. След това рестартираssh.service. - Проверява дали работещият процес е
/opt/openssh-10.6p2/sbin/sshdи дали идентификационният низ еSSH-2.0-OpenSSH_10.6. Ако някоя от проверките е неуспешна, автоматично връща предишното състояние.
Инсталиране
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 връзка. Затворете старата сесия едва след успешен вход през новата.
Проверка и връщане към предишното състояние
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" и не добавя ключа.