Hướng dẫn cấu hình xác thực hai bước SSH thông qua Google Authenciator trên CentOS 7

Thủ thuật này mình thấy chưa ổn định. Bạn nên áp dụng lên VPS New, để nếu sự cố gì thì có thể rebuild lại

Chuẩn bị

  • 1 máy tính
  • 1 điện thoại có cài sẵn ứng dụng Google Authenciator từ CH Play hoặc AppStore

Cài đặt

Bước 1: Tải về các công cụ cần thiết để biên dịch

yum install pam-devel make gcc git wget automake nano libtool -y

Bước 2: Clone mã nguồn từ Github về

git clone https://github.com/google/google-authenticator-libpam.git

Bước 3: Set các biến môi trường. Paste 4 lệnh sau vào Terminal
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8

Bước 4: Tiến hành biên dịch

cd google-authenticator-libpam/
chmod +x bootstrap.sh
./bootstrap.sh

./configure

make

sudo make install

Bước 5: Lấy Secret Key

Chạy lệnh google-authenticator

Ghi lại phần Secret Key để nhập vào điện thoại

Bước 6: Mở App Google Authenticator trên ĐT. Chọn dấu +. Nhập khoá thiết lập nhập Secret Key vào mục khoá của bạn. Chọn loại khoá là Dựa theo thời gian . Sau đó lấy code tạo ra từ app nhập vào Terminal

Sau đó bạn copy emergency scratch codes được tạo ra. Hãy lưu trữ mã ngày cẩn thận vì đây là mã bạn có thể dùng để đăng nhập nếu điện thoại bị mất hoặc quên ở nhà

Sau đó có một số tuỳ chọn khác, bạn có thể chọn y hoặc n tuỳ nhu cầu

Bước 7: Sửa file cấu hình

nano /etc/pam.d/sshd

Chèn thêm dòng sau vào

auth required pam_google_authenticator.so

Sửa tiếp file cấu hình SSH

nano /etc/ssh/sshd_config

Tìm tới dòng

#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

Và sửa lại thành

ChallengeResponseAuthentication Yes

Bước 7: Khởi chạy lại SSH

service sshd restart

Khi login vào các bạn sẽ nhập mã 2FA trước rồi mới nhập Password Root nhé

Hướng dẫn này có ích cho bạn?

Hướng dẫn liên quan