Hướng dẫn sử dụng YubiKey để xác thực đăng nhập SSH cho Ubuntu

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 để thêm xác thực SSH với YubiKey trên Ubuntu để bảo vệ thông tin đăng nhập tài khoản 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.

Ubuntu là một hệ điều hành mã nguồn mở miễn phí và bản phân phối Linux dựa trên Debian. Cộng đồng Ubuntu đã tạo ra nhiều ứng dụng có hỗ trợ YubiKey để cho phép xác thực và mã hóa mạnh mẽ.

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ố. Ngay cả khi hacker đã dò được password của bạn nhưng vẫn không thể đăng nhập vào máy chủ Ubuntu của bạn.

Việc cấu hình xác thực SSH với YubiKey trên Ubuntu đặc biệt dễ dàng. Để thực hiện cấu hình xác thực SSH với YubiKey trên Ubuntu, bạn thực hiện theo các bước như sau:

Cấu hình xác thực SSH với Yubikey cho Ubuntu

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.

ssh-voi-yubikey-tren-ubuntu-01

Thứ 2, bạn cần thông tin root của máy chủ Ubuntu.

Bước 2: Cài đặt các gói thư viện phù hợp với câu lệnh

apt update -y 
apt install libpam-yubico -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
ssh-voi-yubikey-tren-ubuntu-02

Bước 3: Sau đó bạn cần định cấu hình user sử dụng SSH với YubiKey trên Ubuntu 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ướ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

@include common-auth
ssh-voi-yubikey-tren-ubuntu-03

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 Ubuntu, 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
ssh-voi-yubikey-tren-ubuntu-04

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 Ubuntu để 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.

Was this article helpful?

Related Articles

Leave A Comment?