Google Authenticator không “gọi điện về nhà” cho Google - tất cả công việc đều xảy ra trên máy chủ SSH và điện thoại của bạn. Trên thực tế, Google Authenticator hoàn toàn là nguồn mở, vì vậy bạn thậm chí có thể tự mình kiểm tra mã nguồn của nó.
Cài đặt Google Authenticator
Để triển khai xác thực đa hệ số với Google Authenticator, chúng tôi sẽ cần mô-đun PAM Google Authenticator nguồn mở. PAM là viết tắt của “mô-đun xác thực có thể cắm được” - đó là cách dễ dàng cắm các hình thức xác thực khác nhau vào một hệ thống Linux.
Các kho phần mềm của Ubuntu chứa một gói dễ cài đặt cho mô-đun PAM của Google Authenticator. Nếu bản phân phối Linux của bạn không chứa gói này, bạn sẽ phải tải xuống từ trang tải xuống Google Authenticator trên Google Code và tự biên dịch nó.
Để cài đặt gói trên Ubuntu, hãy chạy lệnh sau:
sudo apt-get install libpam-google-authenticator
(Điều này sẽ chỉ cài đặt mô-đun PAM trên hệ thống của chúng tôi - chúng tôi sẽ phải kích hoạt nó cho đăng nhập SSH theo cách thủ công.)
Tạo khóa xác thực
Đăng nhập với tư cách người dùng bạn sẽ đăng nhập từ xa và chạy trình xác thực google lệnh để tạo khóa bí mật cho người dùng đó.
Cho phép lệnh cập nhật tệp Google Authenticator của bạn bằng cách nhập y. Sau đó, bạn sẽ được nhắc với một số câu hỏi sẽ cho phép bạn hạn chế sử dụng cùng một mã thông báo bảo mật tạm thời, tăng thời lượng mà mã thông báo có thể được sử dụng và giới hạn các nỗ lực được phép cản trở các nỗ lực bẻ khóa. Những lựa chọn này đều giao dịch một số bảo mật cho một số tính dễ sử dụng.
Kích hoạt Google Authenticator
Tiếp theo, bạn sẽ phải yêu cầu Google Authenticator cho thông tin đăng nhập SSH. Để làm như vậy, hãy mở /etc/pam.d/sshd tệp trên hệ thống của bạn (ví dụ: với sudo nano /etc/pam.d/sshd lệnh) và thêm dòng sau vào tệp:
auth required pam_google_authenticator.so
Tiếp theo, mở / etc / ssh / sshd_config tập tin, xác định vị trí ChallengeResponseAuthentication và thay đổi nó để đọc như sau:
ChallengeResponseAuthentication yes
(Nếu ChallengeResponseAuthentication dòng chưa tồn tại, hãy thêm dòng trên vào tệp.)
Cuối cùng, khởi động lại máy chủ SSH để các thay đổi của bạn sẽ có hiệu lực:
sudo service ssh restart