Giới thiệu
Trong bài viết này, chúng tôi sẽ hướng dẫn cho bạn cách để cấu hình SSH với YubiKey trên CentOS để bảo vệ thông tin đăng nhập vào máy chủ của bạn và thông tin, dữ liệu quan trọng bên trong.
Secure Shell (SSH) thường được sử dụng để truy cập các hệ thống từ xa. Nó cung cấp một kênh an toàn bằng mật mã trên một mạng không an toàn. SSH sử dụng mật mã khóa công khai để xác thực hệ thống từ xa và cho phép nó xác thực người dùng.
CentOS là một bản phân phối Linux cấp doanh nghiệp miễn phí dành cho máy tính để bàn, Workstration và máy chủ. CentOS được lấy từ các gói nguồn Enterprise Linux để tạo ra một sản phẩm Enterprise Linux hoàn toàn tương thích với Yubikey.
Sự phổ biến ngày càng tăng của Yubikey khiến nó trở thành ứng cử viên lý tưởng cho cơ chế Xác thực 2 yếu tố và việc cấu hình xác thực SSH với YubiKey trên CentOS đặc biệt dễ dàng, bạn có thể tham khảo thực hiện cấu hình theo các bước bên dưới.
Cấu hình xác thực YubiKey cho SSH trên CentOS
Bước 1: Để thực hiện cấu hình, bạn cần chuẩn bị các thông tin sau:
YubiKey’ID: Nếu bạn chưa có thông tin này, bạn có thể truy cập vào website https://demo.yubico.com/otp/verify và thực hiện theo các bước hướng dẫn trên. Sau đó bạn hãy note lại 12 ký tự đầu tiên của chuỗi.

Thứ 2, bạn cần thông tin root của máy chủ CentOS
Bước 2: Cài đặt các gói thư viện phù hợp với câu lệnh
yum install epel-release -y && yum install pam_yubico ykclient -y
Sử dụng câu lệnh sau kiểm tra kỹ thư viện đã được cài đặt thực sự chưa
find / -name pam_yubico.so

Bước 3: Sau đó bạn cần định cấu hình user sử dụng SSH với YubiKey trên CentOS với các câu lệnh sau:
OURUSER="root" YUBIID='xxxxxxxxxxxxxx' mkdir /$OURUSER/.yubico echo "$OURUSER:$YUBIID" > /$OURUSER/.yubico/authorized_yubikeys chmod 700 -R /$OURUSER/.yubico chown $OURUSER:$OURUSER /$OURUSER/.yubico
Bạn hãy thay thế giá trị root, xxx tương ứng với username trên máy chủ CentOS và thông tin Yubikeys của bạn.
Lúc này tài khoản của user root hiện đã được định cấu hình để hoạt động với Yubikey cụ thể đó. Tuy nhiên, SSH chưa biết về yubikey, vì vậy chúng tôi cần định cấu hình lại file SSH ssd_config.
Bước 4: Tiếp theo, chúng ta cần cấu hình PAM để xác thực có tính đến Yubikey. Đây là nơi bạn sẽ cần nhập thông tin đăng nhập API mà bạn đã tạo
vi /etc/pam.d/sshd
Tìm kiếm cấu hình như bên dưới và comment (#) trước cấu hình
# auth required pam_sepermit.so # auth substack password-auth
Sau đó thêm vào cấu hình sau
auth required pam_yubico.so id=16 debug authfile=/root/.yubico/authorized_yubikeys
Sau đó lưu lại file trên

Bước 5: Để có thể SSH với YubiKey trên CentOS, PasswordAuthentication phải được bật (hãy cân nhắc kỹ trước khi bật – người dùng không có tệp YubiKey sẽ không thể đăng nhập cho đến khi một khóa được liên kết, trừ khi bạn đã định cấu hình cặp khóa RSA hợp lệ trước đó để đăng nhập với SSH Key dự phòng).
Kiểm tra cấu hình hiện tại với câu lệnh sau
egrep "UsePAM|PasswordAuthentication" /etc/ssh/sshd_config | grep -v "#"
Đảm bảo rằng cấu hình hiện tại trên file/etc/ssh/sshd_config như sau:
PasswordAuthentication yes
UsePAM yes

Bước 6: Bạn hãy cho restart lại SSH services rồi tạo một phiên SSH để kiểm tra lại.
service sshd restart || systemctl sshd restart || /etc/init.d/sshd restart
Tổng kết
Ở bài viết trên, chúng tôi sẽ hướng dẫn cho bạn cách để cấu hình SSH với YubiKey trên CentOS để bảo vệ thông tin đăng nhập vào máy chủ của bạn và thông tin, dữ liệu quan trọng bên trong.
Trong trường hợp bạn cần thêm các thông tin về dịch vụ hoặc các hướng dẫn sử dụng, bạn có thể xem thêm về các hướng dẫn, tips và các vấn đề liên quan đến bảo mật tại đây.
Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, hãy để lại bình luận bên dưới.
Leave A Comment?