# OpenSSH 10.6 cho khóa SSH hậu lượng tử CH-J Tools chỉ có thể thêm loại khóa hậu lượng tử `ssh-mldsa44-ed25519` vào máy chủ khi máy chủ đó chạy **OpenSSH 10.6 trở lên**. OpenSSH 10.6 (ngày 6 tháng 10 năm 2026) là bản phát hành đầu tiên hỗ trợ dạng chuẩn hóa của loại khóa này. Các bản phát hành cũ hơn sẽ từ chối dạng này. Một số bản, chẳng hạn 10.2p1 trong Ubuntu 26.04, chỉ nhận biết biến thể thử nghiệm `…@openssh.com` mà CH-J Tools không sử dụng. Tại thời điểm viết tài liệu, Ubuntu và Debian chưa cung cấp 10.6 qua `apt`. Hướng dẫn này cài đặt bản chính thức **OpenSSH 10.6p2** (ngày 5 tháng 11 năm 2026, khắc phục lỗi cho phép vượt qua xác thực bằng mật khẩu trong các bản dựng Linux không có PAM) song song với gói của bản phân phối và chuyển dịch vụ `ssh` sang dùng bản này. Đã kiểm thử trên bản cài đặt mới Ubuntu 26.04.1 LTS: cài đặt, đăng nhập bằng khóa `ssh-mldsa44-ed25519`, khởi động lại và hoàn tác. ## Trước khi bắt đầu - **Bạn phải tự bảo trì bản dựng này.** `apt upgrade` sẽ không cung cấp các bản vá bảo mật cho nó. Theo dõi [ghi chú phát hành OpenSSH](https://www.openssh.com/releasenotes.html) và lặp lại quy trình với bản phát hành mới hơn, hoặc hoàn tác. - Giữ **một phiên SSH thứ hai luôn mở** trong suốt quy trình. Tốt hơn nữa là có quyền truy cập bảng điều khiển (trình giám sát máy ảo, IPMI, bảng điều khiển đám mây). - Thử trên máy thử nghiệm trước. - Bạn cần quyền root, systemd, khoảng 1 GiB dung lượng trống trong `/var/tmp` và kết nối internet cho `apt` và việc tải OpenSSH. ## Những việc tập lệnh thực hiện 1. Cài đặt các gói phụ thuộc để biên dịch bằng `apt`. 2. Tải `openssh-10.6p2.tar.gz`. Kiểm tra giá trị SHA-256 đã được ấn định và chữ ký OpenPGP từ khóa phát hành OpenSSH `7168 B983 815A 5EEF 59A4 ADFD 2A3F 414E 7360 60BA`. 3. Biên dịch và cài đặt vào `/opt/openssh-10.6p2`. Cấu hình của bạn trong `/etc/ssh` (khóa máy chủ, `sshd_config`) và cấu hình PAM được giữ nguyên. 4. Kiểm tra `sshd_config` hiện tại bằng phiên bản mới. Sau đó khởi chạy một thực thể thử nghiệm tại `127.0.0.1:2226` và chỉ chuyển đổi khi cả hai bước kiểm tra đều thành công. 5. Thêm tệp cấu hình bổ sung cho systemd tại `/etc/systemd/system/ssh.service.d/chj-openssh.conf` và vô hiệu hóa `ssh.socket`, vì sshd từ dự án gốc không hỗ trợ kích hoạt qua socket. Sau đó khởi động lại `ssh.service`. 6. Kiểm tra xem tiến trình đang chạy có phải là `/opt/openssh-10.6p2/sbin/sshd` và chuỗi nhận dạng có phải là `SSH-2.0-OpenSSH_10.6` hay không. Nếu một trong hai bước kiểm tra thất bại, tập lệnh sẽ tự động hoàn tác. ## Cài đặt ```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 ``` Sau đó mở một kết nối SSH **mới**. Chỉ đóng phiên cũ sau khi đã đăng nhập thành công qua kết nối mới. ## Kiểm tra và hoàn tác ```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 ``` Thao tác hoàn tác xóa tệp cấu hình bổ sung, bật lại `ssh.socket` nếu trước đó nó được bật, và khởi động lại `sshd` của bản phân phối. Bản dựng trong `/opt/openssh-10.6p2` vẫn nằm trên đĩa cho đến khi bạn xóa nó. Sau khi hoàn tác, các khóa `ssh-mldsa44-ed25519` không còn hoạt động trên máy chủ đó. ## Sau đó trong CH-J Tools Kết nối lại với máy chủ. Trong **Users**, giờ đây bạn có thể thêm khóa `ssh-mldsa44-ed25519` từ Keychain. Nếu máy chủ vẫn báo phiên bản cũ hơn, CH-J Tools hiển thị thông báo "OpenSSH 10.6 or newer is required" và không thêm khóa.