Cách đăng nhập vào máy tính để bàn Linux của bạn bằng Google Authenticator
Để bảo mật hơn, bạn có thể yêu cầu mã thông báo xác thực dựa trên thời gian cũng như mật khẩu để đăng nhập vào PC Linux của bạn. Giải pháp này sử dụng Google Authenticator và các ứng dụng TOTP khác.
Quá trình này được thực hiện trên Ubuntu 14.04 với trình quản lý đăng nhập Unity tiêu chuẩn và LightDM tiêu chuẩn, nhưng các nguyên tắc giống nhau trên hầu hết các bản phân phối và máy tính để bàn Linux.
Trước đây chúng tôi đã chỉ cho bạn cách yêu cầu Google Authenticator để truy cập từ xa thông qua SSH và quá trình này cũng 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 thực hiện sơ đồ xác thực TOTP, bao gồm Authy.
Cài đặt Google Authenticator PAM
Như khi thiết lập tính năng này để truy cập SSH, trước tiên chúng ta cần cài đặt phần mềm PAM (mô-đun xác thực có thể cắm được). 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 hệ thống Linux và yêu cầu chúng.
Trên Ubuntu, lệnh sau sẽ cài đặt PAM Google Authenticator. Mở cửa sổ Terminal, nhập 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 cài đặt libpam-google-Authenticator
Các bản phân phối Linux khác hy vọng cũng có sẵn gói này để cài đặt dễ dàng - mở kho phần mềm phân phối Linux của bạn và thực hiện tìm kiếm cho nó. Trong trường hợp xấu nhất, bạn có thể tìm mã nguồn cho mô-đun PAM trên GitHub và tự biên dịch nó.
Như chúng tôi đã chỉ ra trước đây, giải pháp này không phụ thuộc vào việc gọi điện thoại về nhà của máy chủ điện tử của Google. Nó thực hiện thuật toán TOTP tiêu chuẩn 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 một khóa xác thực bí mật và nhập nó 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. Đầu tiên, đăng nhập như tài khoản người dùng của bạn trên hệ thống Linux của bạn. Mở một cửa sổ đầu cuối và chạy google xác thực 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 tài khoản người dùng hiện tại với thông tin Google Authenticator.
Bạn cũng sẽ được hướng dẫn quy trình nhận mã xác minh hai yếu tố đó vào Google Authenticator hoặc ứng dụng TOTP tương tự trên điện thoại thông minh của bạn. Hệ thống của bạn có thể tạo mã QR mà bạn có thể quét hoặc bạn có thể nhập mã bằng tay.
Hãy nhớ ghi lại mã cào khẩn cấp mà bạn có thể sử dụng để đăng nhập nếu bị mất điện thoại.
Trải qua quá trình này cho từng tài khoản người dùng sử dụng máy tính của bạn. Ví dụ: nếu bạn là người duy nhất sử dụng máy tính của mình, bạn chỉ có thể thực hiện một lần trên tài khoản người dùng thông thường của mình. Nếu bạn có người khác sử dụng máy tính của mình, bạn sẽ muốn họ đăng nhập vào tài khoản của riêng họ và tạo mã hai yếu tố phù hợp cho tài khoản của họ để họ có thể đăng nhập.
Kích hoạt xác thực
Đây là nơi mọi thứ trở nên hơi buồn tẻ. Khi chúng tôi giải thích cách kích hoạt hai yếu tố cho đăng nhập SSH, chúng tôi chỉ yêu cầu nó cho đă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 mất ứng dụng xác thực hoặc nếu có sự cố.
Vì chúng tôi sẽ kích hoạt xác thực hai yếu tố cho thông tin đăng nhập cục bộ, nên có những vấn đề tiềm ẩn ở đây. Nếu có lỗi xảy ra, bạn có thể không đăng nhập được. Hãy nhớ rằng, chúng tôi sẽ hướng dẫn bạn cách kích hoạt tính năng này chỉ để đăng nhập đồ họa. Điều này cung cấp cho bạn một lối thoát nếu bạn cần nó.
Kích hoạt Google Authenticator cho đăng nhập đồ họa trên Ubuntu
Bạn luôn có thể kích hoạt xác thực hai bước chỉ để đăng nhập đồ họa, bỏ qua yêu cầu khi bạn đăng nhập từ dấu 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ào đó và hoàn nguyên các thay đổi của bạn để không phải yêu cầu Authencoder của Gogole nếu bạn gặp sự cố.
Chắc chắn, điều này 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 dù sao cũng 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 đăng nhập từ xa thông qua SSH.
Đây là cách thực hiện điều 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 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 bản 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.)
Thêm dòng sau vào cuối tệp, rồi lưu nó:
auth yêu cầu pam_google_authenticator.so nullok
Cuối cùng, bit bit của nullok, cho biết hệ thống cho phép người dùng đăng nhập ngay cả khi họ không chạy lệnh google-Authenticator để thiết lập xác thực hai yếu tố. Nếu họ đã thiết lập nó, họ sẽ phải nhập mã baesd thời gian - nếu không họ sẽ không. Xóa các tài khoản người dùng và các 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.
Lần tới khi người dùng đăng nhập bằng đồ họa, họ sẽ được hỏi mật khẩu và sau đó được nhắc nhập mã xác minh hiện tại được hiển thị trên điện thoại của họ. Nếu họ không nhập mã xác minh, họ sẽ không được phép đăng nhập.
Quá trình này khá giống nhau đối với các bản phân phối và máy tính để bàn khác của Linux, vì hầu hết các trình quản lý phiên máy tính để bàn Linux phổ biến đều sử dụng PAM. Bạn có thể chỉ cần chỉnh sửa một tệp khác với nội dung tương tự để kích hoạt mô-đun PAM thích hợp.
Nếu bạn sử dụng mã hóa thư mục nhà
Các bản phát hành cũ hơn của Ubuntu cung cấp tùy chọn mã hóa thư mục tại nhà 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ụ thể, điều này sử dụng ecryptfs. Tuy nhiên, do phần mềm PAM phụ thuộc vào tệp Google Authenticator được lưu trong thư mục chính của bạn theo mặc định, mã hóa sẽ can thiệp vào PAM đọc tệp trừ khi bạn đảm bảo rằng nó 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 dùng nữa.
Các phiên bản hiện đại của Ubuntu cung cấp mã hóa toàn bộ đĩa thay vào đó, sẽ hoạt động tốt với các tùy chọn ở trên. Bạn không cần phải làm gì đặc biệt
Giúp, nó đã phá vỡ!
Bởi vì chúng tôi chỉ kích hoạt tính năng này để đăng nhập đồ họa, nên sẽ 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 vào đó 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 một 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ũng có thể buộc Google Authenticator được yêu cầu cho các loại thông tin đăng nhập khác - có khả năng thậm chí là tất cả các thông tin đăng nhập hệ thống - bằng cách thêm dòng Auth yêu cầu pam_google_authenticator.so vào các tệp cấu hình PAM khác. Hãy cẩn thận nếu bạn làm điều này. Và hãy nhớ rằng, bạn có thể muốn thêm vào nullok, vì vậy những người dùng chưa trải qua quá trình thiết lập vẫn có thể đăng nhập.
Tài liệu hướng dẫn thêm về cách sử dụng và thiết lập mô-đun PAM này có thể được tìm thấy trong tệp README của phần mềm trên GitHub.