Bạn có thể sử dụng Mô-đun xác thực cắm được mã nguồn mở (PAM) do Google tạo, được gọi là Google Authenticator . Mô-đun này có sẵn trong kho lưu trữ tiêu chuẩn, cũng như từ GitHub để bạn có thể xây dựng từ nguồn. Kết hợp với Ứng dụng cùng tên của Android, iOS hoặc Blackberry, nó tạo ra các mã nhạy cảm với thời gian, dựa trên thời gian để xác thực cùng với mật khẩu của bạn. Vì nó là một mô-đun PAM, nó có thể được thả ở khá nhiều nơi . Bắt đầu nào!
Cài đặt
Để bắt đầu, bạn có thể cài đặt PAM bằng cách sau:
sudo apt-get install libpam-google-authenticator
Đơn giản!
Thiết lập nó:
Sau khi được cài đặt, bạn cũng muốn cài đặt ứng dụng di động tương ứng cho Android, iOS hoặc Blackberry (tùy thuộc vào nền tảng di động của bạn). Mỗi người đều vô dụng nếu không có người kia. Sau khi bạn có ứng dụng bạn cần cho thiết bị di động của mình, hãy chạy các bước sau trong thiết bị đầu cuối:
google-authenticator
Điều này sẽ bắt đầu bằng cách hỏi bạn một vài câu hỏi Câu hỏi đầu tiên là câu hỏi duy nhất bạn phải trả lời "Có" và nó hỏi bạn có muốn các mã dựa trên thời gian không. Sau đó, đọc từng câu hỏi và đưa ra lựa chọn có ý nghĩa nhất với bạn.
Sau khi hoàn thành thiết lập ban đầu, bạn sẽ thấy một mã QR rất lớn trong thiết bị đầu cuối của mình, cũng như một số thông tin khác. Dòng có nội dung "Khóa bí mật mới của bạn là:" là một dòng rất cần thiết nếu bạn không muốn sử dụng mã QR để ghép nối thiết bị của mình, vì vậy đừng đóng cửa sổ này cho đến khi bạn thiết lập! "Mã cào" này cung cấp cho bạn cũng rất quan trọng, vì chúng là những gì bạn sẽ sử dụng để đăng nhập nếu bạn mất thiết bị di động. Viết chúng xuống và lưu trữ chúng ở một nơi an toàn.
Bây giờ, trên thiết bị di động của bạn, hãy mở ứng dụng Google Authenticator của bạn và chọn "Thiết lập tài khoản". Bạn có thể quét mã QR đã được tạo hoặc chọn "Sử dụng khóa được cung cấp". Nếu bạn quét mã QR, mọi thứ sẽ được lưu tự động trong tài khoản có tên "your_user @ your_host". Tuy nhiên, nếu bạn chọn "Sử dụng khóa được cung cấp", bạn sẽ phải nhập tên, khóa và loại mã thông báo theo cách thủ công. Tên có thể là bất cứ điều gì bạn muốn. Khóa sẽ là khóa bí mật được tạo trước đó. Loại sẽ là dựa trên thời gian mặc định. Sau khi thiết lập nó, bạn sẽ thấy tài khoản trên khung chính của ứng dụng Google Authenticator, cũng như đồng hồ bấm giờ hình tròn bên cạnh. Bộ đếm thời gian đó cạn kiệt cứ sau 30 giây và một mã mới được tạo.
Kích hoạt nó!
Đây là điều kỳ diệu. Vì đây là mô-đun PAM, nên nó có thể được sử dụng ở nhiều nơi. Tôi sẽ duyệt qua việc thêm xác thực vào sudo
các yêu cầu, đăng nhập SSH và đăng nhập lightdm. Tuy nhiên, sau khi đọc hướng dẫn này, bạn sẽ có thể kích hoạt nó ở nơi khác dựa trên các kỹ thuật tương tự.
SSH
Tôi đang làm điều này đầu tiên vì có thêm một bước. Điều đầu tiên bạn cần làm là chỉnh sửa tệp cấu hình SSH:
gksudo gedit /etc/ssh/sshd_config
Tìm kiếm dòng có nội dung:
ChallengeResponseAuthentication no
và thay đổi "không" thành "có".
Bây giờ, bạn cần chỉnh sửa mô-đun PAM cho ssh:
gksudo gedit /etc/pam.d/sshd
Ở phần cuối của tệp này, thêm dòng sau:
auth required pam_google_authenticator.so nullok
Đối số "nullok" yêu cầu hệ thống không yêu cầu mã xác minh nếu người dùng chưa thiết lập xác thực hai yếu tố. Sau khi chỉnh sửa, hãy tiếp tục và khởi động lại dịch vụ ssh của bạn:
sudo service ssh restart
sudo
Yêu cầu
Chỉnh sửa tệp PAM cho sudo
:
gksudo gedit /etc/pam.d/sudo
Thêm dòng sau vào cuối:
auth required pam_google_authenticator.so nullok
Bây giờ mọi sudo
yêu cầu sẽ yêu cầu mã xác minh cũng như mật khẩu.
LightDM (Đăng nhập GUI)
Chỉnh sửa tệp PAM cho LightDM:
gksudo gedit /etc/pam.d/lightdm
Thêm dòng sau vào cuối:
auth required pam_google_authenticator.so nullok
Đó là nó! Mỗi khi bạn đăng nhập thông qua GUI, nó sẽ yêu cầu mã xác minh sau mật khẩu của bạn.
Đăng nhập toàn hệ thống và TTY
Ngay cả khi bạn kích hoạt các phương thức trên, nó vẫn sẽ không yêu cầu mã xác minh nếu bạn chuyển sang TTY có CTRL+ ALT+ F#. Để khắc phục điều này, hãy chỉnh sửa common-auth
tệp PAM:
gksudo gedit /etc/pam.d/common-auth
và thêm dòng sau vào cuối:
auth required pam_google_authenticator.so nullok
Lưu ý: Vì tệp auth chung này được bao gồm trong tất cả các tệp loại auth khác, bạn cần xóa các dòng yêu cầu auth khỏi các tệp khác. Nếu không, nó sẽ yêu cầu mã xác minh hai lần và không cho phép bạn đăng nhập sau.
Gói (lại
Như bạn có thể thấy, thật dễ dàng để thêm xác thực này. Nếu bạn sử dụng trình quản lý hiển thị khác với LightDM, bạn có thể dễ dàng thay đổi dòng lightdm ở trên cho phù hợp. Vì thiết bị di động và hệ thống của bạn đã chia sẻ khóa bí mật này, nên chúng phải luôn được đồng bộ hóa. Không có tương tác với máy chủ Google hoặc bất kỳ tài nguyên internet nào khác cho thiết lập này. Ngay cả khi cả hai thiết bị hoàn toàn ngoại tuyến, mã xác minh hiển thị trong ứng dụng của bạn sẽ chính xác. Bất cứ khi nào bạn cần đăng nhập thông qua một trong những phương thức bạn đã bật, chỉ cần đảm bảo mở ứng dụng di động của bạn và lấy mã xác minh hiện tại.
Chúc vui vẻ!!