Quyền truy cập SSH luôn quan trọng và bạn có thể muốn tìm cách cải thiện tính bảo mật của quyền truy cập SSH. Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể bảo mật SSH bằng xác thực hai yếu tố đơn giản bằng cách sử dụng Google Authenticator. Trước khi sử dụng, bạn phải tích hợp daemon SSH trên máy chủ của mình với giao thức mật khẩu một lần TOTP của Google Authenticator và một hạn chế khác là bạn phải luôn mang theo điện thoại Android bên mình hoặc ít nhất là thời gian bạn muốn truy cập SSH. Hướng dẫn này được viết cho CentOS 7.
Trước hết, chúng ta sẽ cài đặt mô-đun PAM Google Authenticator nguồn mở bằng cách thực thi lệnh sau trên shell.
Lệnh này sẽ cài đặt Google Authenticator trên Máy chủ Centos 7 của bạn. Bước tiếp theo là lấy mã xác minh. Đây là lệnh rất đơn giản để lấy mã xác minh và mã cào chỉ bằng cách trả lời các câu hỏi đơn giản của máy chủ mà máy chủ sẽ hỏi bạn. Bạn có thể thực hiện bước đó bằng cách chạy lệnh sau:
Bạn sẽ nhận được đầu ra như ảnh chụp màn hình sau đây đang được hiển thị để giúp bạn từng bước vì bước này rất quan trọng và thiết yếu. Ghi lại mã cào khẩn cấp ở nơi an toàn, mỗi mã chỉ có thể sử dụng một lần và chúng dành để sử dụng trong trường hợp bạn làm mất điện thoại.
Bây giờ hãy tải xuống ứng dụng Google Authenticator trên điện thoại di động của bạn, ứng dụng này có trên Android và iPhone. Tôi dùng Android nên tôi sẽ tải xuống từ Cửa hàng Google Play, nơi tôi đã tìm kiếm ứng dụng này chỉ bằng cách nhập "google authenticator".
Bước tiếp theo là thay đổi một số tệp, trước tiên chúng ta sẽ thay đổi /etc/pam.d/sshd. Thêm dòng sau vào cuối dòng:
Thay đổi tệp tiếp theo là /etc/ssh/sshd_config. Thêm dòng sau vào tệp và nếu đã đặt rồi thì hãy thay đổi tham số thành "yes":
Bây giờ hãy khởi động lại dịch vụ ssh bằng lệnh sau:
Bước cuối cùng là kiểm tra dịch vụ bằng cách kết nối SSH với máy chủ để xem liệu nó có yêu cầu mã xác minh hay không. Bạn có thể thấy ảnh chụp màn hình sau cho thấy mã xác minh liên tục thay đổi theo thời gian và bạn phải đăng nhập bằng mã đó:
Vậy là chúng ta đã cấu hình thành công xác thực SSH dựa trên Google Authenticator. Bây giờ SSH của bạn đã an toàn và không có cuộc tấn công nào có thể xâm nhập vào máy chủ của bạn trừ khi ai đó có mã xác minh của bạn, điều này sẽ yêu cầu quyền truy cập vào điện thoại của bạn.
Trước hết, chúng ta sẽ cài đặt mô-đun PAM Google Authenticator nguồn mở bằng cách thực thi lệnh sau trên shell.
Mã:
yum install google-authenticator
Lệnh này sẽ cài đặt Google Authenticator trên Máy chủ Centos 7 của bạn. Bước tiếp theo là lấy mã xác minh. Đây là lệnh rất đơn giản để lấy mã xác minh và mã cào chỉ bằng cách trả lời các câu hỏi đơn giản của máy chủ mà máy chủ sẽ hỏi bạn. Bạn có thể thực hiện bước đó bằng cách chạy lệnh sau:
Mã:
google-authenticator
Bây giờ hãy tải xuống ứng dụng Google Authenticator trên điện thoại di động của bạn, ứng dụng này có trên Android và iPhone. Tôi dùng Android nên tôi sẽ tải xuống từ Cửa hàng Google Play, nơi tôi đã tìm kiếm ứng dụng này chỉ bằng cách nhập "google authenticator".
Bước tiếp theo là thay đổi một số tệp, trước tiên chúng ta sẽ thay đổi /etc/pam.d/sshd. Thêm dòng sau vào cuối dòng:
Mã:
auth required pam_google_authenticator.so
Thay đổi tệp tiếp theo là /etc/ssh/sshd_config. Thêm dòng sau vào tệp và nếu đã đặt rồi thì hãy thay đổi tham số thành "yes":
Mã:
ChallengeResponseAuthentication yes
Bây giờ hãy khởi động lại dịch vụ ssh bằng lệnh sau:
Mã:
service sshd restart
Vậy là chúng ta đã cấu hình thành công xác thực SSH dựa trên Google Authenticator. Bây giờ SSH của bạn đã an toàn và không có cuộc tấn công nào có thể xâm nhập vào máy chủ của bạn trừ khi ai đó có mã xác minh của bạn, điều này sẽ yêu cầu quyền truy cập vào điện thoại của bạn.