Hướng dẫn kích hoạt xác thực 2 lớp (2FA) SSH trên AlmaLinux

  • Monday 06/12/2021

Xác thực 2 lớp hay còn được viết tắt là 2FA (Two-factor authentication) bổ sung một bước khi đăng nhập. Nếu không có 2FA, việc đăng nhập của bạn chỉ đơn thuần là nhập Username và Password – thứ duy nhất bảo mật cho tài khoản của bạn. Do đó việc thêm một lớp bảo vệ nữa về lí thuyết sẽ làm cho tài khoản của bạn trở nên an toàn hơn.

AlmaLinux là một bản thay thế cho CentOS cũng giống như một bản thay thế nhị phân 1: 1 cho bản Red Hat Enterprise Linux

Có một cách để tăng cường bảo mật cho bất kỳ máy chủ Linux nào là bật xác thực hai yếu tố (2FA) cho các đăng nhập SSH. Thiết lập này thì khá dễ dàng và giúp các kết nối vào máy chủ bạn được toàn hơn thay vì sử dụng nhập mật khẩu để xác thực SSH.

Những gì bạn cần :

+ Một máy chủ đang chạy AlmaLinux

+ Một ứng dụng xác thực

+ Người dùng có đặc quyền cao nhất

Lưu ý: Bạn nên thao tác thực hiện và duy trì kết nối SSH ban đầu với máy chủ của mình và thực hiện kiểm tra từ  phiên terminal khác để có thể dễ dàng sửa lỗi nếu không hoạt động

1. Cách cài đặt Google Authenticator trên AlmaLinux

Ứng dụng này không giống với ứng dụng Google Authenticator mà bạn cài đặt trên thiết bị di động của mình. Google Authenticator này được cài đặt trên máy chủ của bạn và giúp bạn có thể thêm 2FA vào thông tin đăng nhập SSH.

Trước tiên bạn phải thêm  EPEL bằng lệnh sau:

#sudo dnf install epel-release -y

Sau khi xong, bạn tiến hành cài đặt Google Authenticator bằng lệnh:

#sudo dnf install google-authenticator qrencode qrencode-libs -y

Tiếp tục chạy lệnh để tạo một khóa bí mật mới và khóa này sẽ được đặt trong thư mục ~ / .ssh của bạn

#google-authenticator -s ~/.ssh/google_authenticator

Trả lời tiếp câu hỏi đầu tiên và đảm bảo thay đổi kích thước cửa sổ đầu cuối của bạn để hiển thị toàn bộ mã QR . Lúc này bạn mở ứng dụng TOTP của bạn (Authy hoặc Google Authenticator) trên thiết bị di động và thêm tài khoản mới. Sau đó quét mã QR tiếp tục khi được nhắc trên terminal AlmaLinux, hãy nhập mã gồm sáu chữ số ứng dụng hiển thị.

2. Cấu hình SSH và PAM

Điều đầu tiên chúng ta phải làm là cấu hình SSH

#sudo nano /etc/ssh/sshd_config

Trong file này, phải đảm bảo rằng cả UsePAM và ChallengeResponseAuthentication đều được đặt là Yes. Lưu và đóng file lại

Mở tệp cấu hình sshd PAM bằng lệnh:

#sudo nano /etc/pam.d/sshd

Ở cuối file rào lại dòng  auth substack password-auth (thêm dấu # đầu dòng)

Và thêm vào dòng sau:

auth required pam_google_authenticator.so secret=${HOME}/.ssh/google_authenticator

Lưu lại và restart lại service ssh

#sudo systemctl restart sshd

3. Cách đăng nhập với 2FA

Khi bạn cố gắng đăng nhập vào máy chủ AlmaLinux của mình, bạn sẽ được nhắc nhập mật khẩu người dùng và mã 2FA hoặc cụm mật khẩu khóa SSH và mã 2FA. Dù bằng cách nào, nếu không có mã 2FA, bạn sẽ không có quyền truy cập vào máy chủ.

Điều này có nghĩa là bất cứ lúc nào bạn cần SSH vào máy chủ AlmaLinux của mình, bạn sẽ cần thiết bị di động của mình để có thể tạo mã 2FA gồm sáu chữ số. Đó cũng là một sự bất tiện đối với lớp bảo mật bổ sung mà thiết lập này mang đến.

 

Ngoài ra bạn cũng có thể tham khảo thêm bài viết bảo mật SSH bằng SSH key tại đây

P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng
Cloud Server
Cloud Server Pro
Máy Chủ Riêng

Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/