CH-J ToolsZarządzanie serwerem przez SSH
Menu

OpenSSH 10.6 dla postkwantowych kluczy SSH

Pobierz plik PDF

Trwa korekta językowa tego tłumaczenia. W razie wątpliwości porównaj z angielskim oryginałem.

CH-J Tools może dodać do serwera postkwantowy klucz typu ssh-mldsa44-ed25519 tylko wtedy, gdy na serwerze działa OpenSSH 10.6 lub nowszy. OpenSSH 10.6 (6 października 2026 r.) to pierwsze wydanie obsługujące ustandaryzowaną postać tego typu klucza. Starsze wydania ją odrzucają. Niektóre z nich, takie jak 10.2p1 w Ubuntu 26.04, rozpoznają tylko eksperymentalny wariant …@openssh.com, którego CH-J Tools nie używa.

W chwili pisania tego przewodnika Ubuntu i Debian nie udostępniają 10.6 przez apt. Ten przewodnik opisuje instalację oficjalnego wydania OpenSSH 10.6p2 (5 listopada 2026 r.; usuwa lukę pozwalającą obejść uwierzytelnianie hasłem w kompilacjach dla systemu Linux bez PAM) obok pakietu dystrybucji oraz skonfigurowanie usługi ssh tak, aby z niego korzystała.

Przetestowano na czystej instalacji Ubuntu 26.04.1 LTS: instalację, logowanie kluczem ssh-mldsa44-ed25519, ponowne uruchomienie systemu i wycofanie zmian.

Zanim zaczniesz

Co robi skrypt

  1. Instaluje zależności potrzebne do kompilacji za pomocą apt.
  2. Pobiera openssh-10.6p2.tar.gz. Sprawdza ustaloną z góry sumę SHA-256 oraz podpis OpenPGP złożony kluczem wydań OpenSSH 7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA.
  3. Kompiluje i instaluje w /opt/openssh-10.6p2. Twoja konfiguracja w /etc/ssh (klucze hosta, sshd_config) oraz konfiguracja PAM pozostają bez zmian.
  4. Sprawdza bieżący sshd_config za pomocą nowej wersji. Następnie uruchamia instancję testową pod adresem 127.0.0.1:2226 i przełącza usługę dopiero wtedy, gdy obie kontrole zakończą się pomyślnie.
  5. Dodaje plik uzupełniający konfigurację systemd /etc/systemd/system/ssh.service.d/chj-openssh.conf i wyłącza ssh.socket, ponieważ sshd z projektu źródłowego nie obsługuje aktywacji przez gniazdo. Następnie ponownie uruchamia ssh.service.
  6. Sprawdza, czy uruchomiony proces to /opt/openssh-10.6p2/sbin/sshd, a baner ma treść SSH-2.0-OpenSSH_10.6. Jeśli którakolwiek z kontroli się nie powiedzie, automatycznie wycofuje zmiany.

Instalacja

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

Następnie otwórz nowe połączenie SSH. Zamknij starą sesję dopiero wtedy, gdy logowanie przez nowe połączenie zadziała.

Sprawdzanie i wycofywanie zmian

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

Wycofanie zmian usuwa plik uzupełniający konfigurację, ponownie włącza ssh.socket, jeśli był wcześniej włączony, i ponownie uruchamia sshd z dystrybucji. Kompilacja w /opt/openssh-10.6p2 pozostaje na dysku, dopóki jej nie usuniesz. Po wycofaniu zmian klucze ssh-mldsa44-ed25519 przestają działać na tym serwerze.

Następnie w CH-J Tools

Połącz się ponownie z serwerem. W sekcji Users możesz teraz dodać klucz ssh-mldsa44-ed25519 z Keychain. Jeśli serwer nadal zgłasza starszą wersję, CH-J Tools wyświetla komunikat „OpenSSH 10.6 or newer is required” i nie dodaje klucza.