Quá trình này được thực hiện trên Ubuntu 14.04 với máy tính để bàn Unity tiêu chuẩn và trình quản lý đăng nhập LightDM, nhưng các nguyên tắc này giống nhau trên hầu hết các bản phân phối Linux và máy tính để bàn.
Trước đây chúng tôi đã chỉ cho bạn cách yêu cầu Google Authenticator để truy cập từ xa qua SSH và quy trình này tương tự. Điều này không yêu cầu ứng dụng Google Authenticator nhưng hoạt động với bất kỳ ứng dụng tương thích nào triển khai thực hiện chương trình xác thực TOTP, bao gồm cả Authy.
Cài đặt Google Authenticator PAM
Khi thiết lập quyền truy cập SSH này, trước tiên chúng tôi sẽ cần cài đặt phần mềm PAM (“mô-đun xác thực có thể cắm được)” thích hợp. PAM là một hệ thống cho phép chúng tôi cắm các loại phương thức xác thực khác nhau vào một hệ thống Linux và yêu cầu chúng.
Trên Ubuntu, lệnh sau sẽ cài đặt Google Authenticator PAM. Mở một cửa sổ Terminal, gõ lệnh sau, nhấn Enter, và cung cấp mật khẩu của bạn. Hệ thống sẽ tải xuống PAM từ kho phần mềm phân phối Linux của bạn và cài đặt nó:
sudo apt-get install libpam-google-authenticator
Như chúng tôi đã chỉ ra trước đây, giải pháp này không phụ thuộc vào “gọi điện về nhà” cho máy chủ của Google. Nó thực hiện thuật toán chuẩn TOTP và có thể được sử dụng ngay cả khi máy tính của bạn không có quyền truy cập Internet.
Tạo khóa xác thực của bạn
Bây giờ bạn sẽ cần tạo khóa xác thực bí mật và nhập mã đó vào ứng dụng Google Authenticator (hoặc một ứng dụng tương tự) trên điện thoại của bạn. Trước tiên, hãy đăng nhập bằng tài khoản người dùng của bạn trên hệ thống Linux của bạn. Mở cửa sổ đầu cuối và chạy trình xác thực google chỉ huy. Kiểu y và làm theo lời nhắc ở đây. Điều này sẽ tạo một tệp đặc biệt trong thư mục của tài khoản người dùng hiện tại với thông tin Google Authenticator.
Đảm bảo ghi lại mã cào khẩn cấp, bạn có thể sử dụng để đăng nhập nếu bạn mất điện thoại.
Kích hoạt xác thực
Đây là nơi mọi thứ trở nên hơi khó chịu. Khi chúng tôi giải thích cách bật hai yếu tố cho thông tin đăng nhập SSH, chúng tôi yêu cầu nó chỉ dành cho thông tin đăng nhập SSH. Điều này đảm bảo bạn vẫn có thể đăng nhập cục bộ nếu bạn bị mất ứng dụng xác thực hoặc nếu xảy ra sự cố.
Vì chúng tôi sẽ bật xác thực hai yếu tố cho thông tin đăng nhập cục bộ, có các vấn đề tiềm ẩn ở đây. Nếu xảy ra sự cố, bạn có thể không đăng nhập được. Hãy lưu ý rằng, chúng tôi sẽ hướng dẫn bạn cách bật tính năng này cho chỉ đăng nhập đồ họa. Điều này cho bạn một lối thoát hiểm nếu bạn cần.
Bật Google Authenticator cho bản ghi đồ họa trên Ubuntu
Bạn luôn có thể bật xác thực hai bước cho chỉ đăng nhập đồ họa, bỏ qua yêu cầu khi bạn đăng nhập từ lời nhắc văn bản. Điều này có nghĩa là bạn có thể dễ dàng chuyển sang một thiết bị đầu cuối ảo, đăng nhập ở đó và hoàn nguyên các thay đổi của mình để Gogole Authenciator không cần thiết nếu bạn gặp sự cố.
Chắc chắn, điều này sẽ mở ra một lỗ hổng trong hệ thống xác thực của bạn, nhưng kẻ tấn công có quyền truy cập vật lý vào hệ thống của bạn vẫn có thể khai thác nó. Đó là lý do tại sao xác thực hai yếu tố đặc biệt hiệu quả đối với việc đăng nhập từ xa thông qua SSH.
Dưới đây là cách thực hiện việc này cho Ubuntu, sử dụng trình quản lý đăng nhập LightDM. Mở tệp LightDM để chỉnh sửa bằng một lệnh như sau:
sudo gedit /etc/pam.d/lightdm
(Hãy nhớ rằng, các bước cụ thể này sẽ chỉ hoạt động nếu phân phối Linux và máy tính để bàn của bạn sử dụng trình quản lý đăng nhập LightDM.)
auth required pam_google_authenticator.so nullok
Bit “nullok” ở cuối cho phép hệ thống cho phép người dùng đăng nhập ngay cả khi họ chưa chạy lệnh xác thực google để thiết lập xác thực hai yếu tố. Nếu họ đã thiết lập, họ sẽ phải nhập mã thời gian ba lần - nếu không thì sẽ không. Xóa "nullok" và tài khoản người dùng chưa thiết lập mã Google Authenticator sẽ không thể đăng nhập bằng đồ họa.
Nếu bạn sử dụng mã hóa thư mục chính
Các phiên bản cũ hơn của Ubuntu cung cấp một tùy chọn “mã hóa thư mục gốc” dễ dàng đã mã hóa toàn bộ thư mục chính của bạn cho đến khi bạn nhập mật khẩu của mình. Cụ thể, điều này sử dụng ecryptfs. Tuy nhiên, vì phần mềm PAM tùy thuộc vào tệp Google Authenticator được lưu trữ trong thư mục chính của bạn theo mặc định, mã hóa sẽ cản trở PAM đọc tệp trừ khi bạn đảm bảo tệp có sẵn ở dạng không được mã hóa cho hệ thống trước khi bạn đăng nhập. thông tin về việc tránh sự cố này nếu bạn vẫn đang sử dụng các tùy chọn mã hóa thư mục gốc không được chấp nhận.
Các phiên bản Ubuntu hiện đại cung cấp mã hóa toàn bộ đĩa, thay vào đó, nó sẽ hoạt động tốt với các tùy chọn ở trên. Bạn không phải làm bất cứ điều gì đặc biệt
Trợ giúp, nó Broke!
Bởi vì chúng tôi chỉ kích hoạt tính năng này cho đăng nhập đồ họa, nên dễ dàng vô hiệu hóa nếu nó gây ra sự cố. Nhấn tổ hợp phím như Ctrl + Alt + F2 để truy cập thiết bị đầu cuối ảo và đăng nhập bằng tên người dùng và mật khẩu của bạn. Sau đó, bạn có thể sử dụng lệnh như sudo nano /etc/pam.d/lightdm để mở tệp để chỉnh sửa trong trình chỉnh sửa văn bản đầu cuối. Sử dụng hướng dẫn của chúng tôi về Nano để xóa dòng và lưu tệp và bạn sẽ có thể đăng nhập lại bình thường.
Bạn có thể tìm thấy thêm tài liệu về cách sử dụng và thiết lập mô-đun PAM này trong tệp README của phần mềm trên GitHub.