Quay lại danh sách
Tin tức công nghệ

Hướng dẫn cấu hình SSH xác thực bằng khóa vật lý YubiKey qua giao thức FIDO2/U2F: Tối ưu bảo mật cho hạ tầng doanh nghiệp

1 tháng 6, 2026

Giới thiệu về xu hướng bảo mật SSH bằng khóa vật lý

Trong kỷ nguyên số hóa và làm việc từ xa, việc bảo vệ hạ tầng máy chủ là ưu tiên hàng đầu của mọi doanh nghiệp. Phương thức xác thực SSH truyền thống bằng mật khẩu (Password) hoặc cặp khóa mã hóa thông thường (RSA/ED25519 lưu trên ổ cứng) đang đối mặt với nhiều rủi ro lớn. Nếu máy tính cá nhân của quản trị viên bị nhiễm mã độc, các tệp tin chứa private key có thể dễ dàng bị đánh cắp.

Để giải quyết triệt để lỗ hổng này, việc kết hợp giao thức SSH với khóa vật lý YubiKey qua chuẩn FIDO2/U2F đã trở thành tiêu chuẩn vàng mới. Bằng cách lưu trữ cơ chế xác thực ngay trên phần cứng, hệ thống của bạn sẽ được bảo vệ bởi một lớp lá chắn bất khả xâm phạm, ngăn chặn hiệu quả các hình thức tấn công giả mạo (Phishing) và chiếm đoạt quyền truy cập.

Tại sao nên chọn FIDO2/U2F thay vì phương thức SSH truyền thống?

Trước khi đi vào chi tiết cấu hình, hãy cùng điểm qua những lợi ích vượt trội mà FIDO2/U2F mang lại cho hệ thống doanh nghiệp:

  • Không thể bị sao chép: Khóa bí mật được tạo ra và lưu trữ trực tiếp bên trong chip bảo mật chuyên dụng của YubiKey. Không một phần mềm độc hại nào có thể trích xuất được thông tin này ra ngoài.
  • Xác thực hai yếu tố bắt buộc (2FA): Để đăng nhập thành công, người dùng không chỉ cần tệp khóa trên máy tính mà còn phải có sự hiện diện vật lý của YubiKey (chạm ngón tay vào thiết bị) và nhập mã PIN bảo mật.
  • Hỗ trợ gốc từ OpenSSH: Từ phiên bản OpenSSH 8.2 trở đi, giao thức FIDO2/U2F đã được hỗ trợ mặc định thông qua các loại khóa mới là ecdsa-sk và ed25519-sk (với chữ "sk" đại diện cho Security Key), giúp quá trình triển khai trở nên đồng bộ và tối ưu mà không cần cài đặt thêm phần mềm bên thứ ba phức tạp.
Lưu ý quan trọng: Giải pháp này yêu cầu máy chủ (Server) và máy trạm (Client) đều phải chạy phiên bản OpenSSH 8.2 hoặc cao hơn. Hầu hết các hệ điều hành hiện đại như Ubuntu 20.04+, Debian 11+, RHEL 9+ và macOS cập nhật đều đã đáp ứng tiêu chuẩn này.

Quy trình cấu hình chi tiết: Từng bước thiết lập SSH với YubiKey

Bước 1: Kiểm tra môi trường và chuẩn bị thiết bị

Đầu tiên, hãy đảm bảo bạn đã cắm YubiKey (dòng YubiKey 5 Series hoặc các dòng hỗ trợ FIDO2) vào máy tính cá nhân (Client). Mở terminal và kiểm tra phiên bản OpenSSH hiện tại bằng lệnh:

ssh -V

Nếu phiên bản hiển thị lớn hơn hoặc bằng 8.2, bạn đã sẵn sàng chuyển sang bước tiếp theo.

Bước 2: Khởi tạo cặp khóa SSH-SK trên máy trạm (Client)

Chúng ta sẽ tiến hành tạo một cặp khóa SSH đặc biệt gắn liền với phần cứng của YubiKey. Có hai lựa chọn thuật toán mã hóa, trong đó Ed25519-SK được khuyến nghị vì hiệu năng cao và độ an toàn tuyệt đối. Hãy chạy lệnh sau trên máy tính của bạn:

ssh-keygen -t ed25519-sk -O resident -O verify-required -f ~/.ssh/id_ed25519_sk

Trong đó, các tham số mang ý nghĩa chiến lược như sau:

  • -t ed25519-sk: Chỉ định loại khóa xác thực bằng phần cứng phần tử bảo mật.
  • -O resident: Tạo một "resident key" (hoặc discoverable credential) lưu ngay trong YubiKey. Điều này cho phép bạn có thể khôi phục lại file SSH key trên một máy tính mới hoàn toàn chỉ bằng cách cắm YubiKey vào và chạy lệnh import, cực kỳ tiện lợi cho các kỹ sư hệ thống thường xuyên di chuyển.
  • -O verify-required: Bắt buộc người dùng phải nhập mã PIN của YubiKey khi thực hiện lệnh, tăng cường thêm một lớp bảo mật đề phòng trường hợp thiết bị vật lý bị thất lạc.

Trong quá trình khởi tạo, hệ thống sẽ yêu cầu bạn nhập mã PIN của YubiKey, sau đó đèn trên YubiKey sẽ nhấp nháy. Hãy chạm nhẹ ngón tay vào nút cảm ứng trên YubiKey để hoàn tất quy trình tạo khóa.

Bước 3: Sao chép Khóa công khai (Public Key) lên Máy chủ (Server)

Sau khi lệnh thực hiện thành công, bạn sẽ có hai tệp tin trong thư mục ~/.ssh/ là id_ed25519_sk (private key) và id_ed25519_sk.pub (public key). Bây giờ, cần đưa public key lên máy chủ mục tiêu bằng lệnh chuẩn:

ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@server_ip

Nếu lệnh ssh-copy-id không khả dụng trên hệ điều hành của bạn, bạn có thể sao chép thủ công nội dung của tệp id_ed25519_sk.pub và nối vào cuối tệp ~/.ssh/authorized_keys trên máy chủ mục tiêu.

Bước 4: Cấu hình dịch vụ SSH trên Máy chủ để tối ưu bảo mật

Để đảm bảo máy chủ chỉ chấp nhận các kết nối an toàn mang tính xác thực cao và loại bỏ hoàn toàn các phương thức đăng nhập rủi ro cũ, hãy truy cập vào máy chủ và chỉnh sửa tệp cấu hình dịch vụ SSHDaemon:

sudo nano /etc/ssh/sshd_config

Tìm và điều chỉnh hoặc thêm mới các dòng cấu hình sau để thiết lập chính sách bảo mật nghiêm ngặt:

PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Để nâng cao hơn nữa, bạn có thể cấu hình chỉ cho phép duy nhất loại khóa phần cứng kết nối bằng cách thêm chỉ thị (tùy chọn):

PubkeyAcceptedKeyTypes +ed25519-sk,ecdsa-sk

Lưu tệp tin và tiến hành kiểm tra cú pháp cấu hình xem có lỗi xảy ra hay không trước khi khởi động lại dịch vụ:

sudo sshd -t

Nếu không có thông báo lỗi, hãy áp dụng cấu hình mới bằng cách khởi động lại dịch vụ SSH:

sudo systemctl restart ssh
Mẹo an toàn: Đừng vội ngắt kết nối SSH hiện tại của bạn. Hãy mở một cửa sổ Terminal mới để thử nghiệm đăng nhập nhằm tránh rủi ro bị khóa bên ngoài máy chủ nếu cấu hình sai.

Trải nghiệm đăng nhập thực tế và quy trình vận hành

Bây giờ, hãy thực hiện lệnh kết nối từ máy trạm đến máy chủ:

ssh user@server_ip

Lúc này, quy trình xác thực đa lớp bảo mật sẽ diễn ra như sau:

  1. Màn hình terminal sẽ hiển thị yêu cầu nhập mã PIN bảo mật của khóa YubiKey (do chúng ta đã thiết lập thuộc tính verify-required trước đó).
  2. Sau khi nhập đúng PIN, đèn trên thiết bị YubiKey sẽ bắt đầu nhấp nháy liên tục.
  3. Bạn tiến hành chạm tay vào khóa YubiKey. YubiKey sẽ ký số vào gói tin thách thức từ server và gửi lại để hoàn tất phiên đăng nhập một cách an toàn.

Nếu thiếu bất kỳ yếu tố nào (nhập sai PIN, không chạm vào khóa, hoặc không cắm khóa vật lý), phiên kết nối ngay lập tức bị từ chối. Điều này minh chứng cho sức mạnh bảo mật tuyệt đối của giải pháp.

Kết luận và các khuyến nghị quản trị hệ thống

Việc triển khai cấu hình SSH xác thực bằng YubiKey qua giao thức FIDO2/U2F là một bước đi chiến lược và đúng đắn cho mọi doanh nghiệp muốn xây dựng mô hình bảo mật Zero Trust. Việc này không chỉ giảm thiểu tối đa các rủi ro liên quan đến yếu tố con người mà còn giúp doanh nghiệp tuân thủ nghiêm ngặt các tiêu chuẩn an toàn thông tin quốc tế.

Để vận hành hệ thống một cách trơn tru và bền vững, các chuyên gia an ninh mạng khuyến nghị doanh nghiệp nên:

  • Luôn cấu hình ít nhất hai khóa YubiKey cho mỗi tài khoản quản trị (một khóa chính sử dụng hàng ngày và một khóa phụ lưu trữ an toàn trong két sắt làm backup).
  • Thường xuyên cập nhật phiên bản OpenSSH trên toàn bộ hệ thống máy chủ để nhận các bản vá bảo mật mới nhất.
  • Áp dụng chính sách kiểm toán (audit log) chặt chẽ đối với các tệp tin authorized_keys trên máy chủ nhằm phát hiện sớm các thay đổi bất thường.
Hướng dẫn cấu hình SSH xác thực bằng khóa vật lý YubiKey qua giao thức FIDO2/U2F: Tối ưu bảo mật cho hạ tầng doanh nghiệp | DPTCloud