Làm cách nào để thiết lập xác thực hai yếu tố trong Ubuntu cho người dùng Ubuntu bằng trình xác thực Google?


11

Làm cách nào để thiết lập xác thực hai yếu tố trong Ubuntu cho người dùng Ubuntu bằng trình xác thực Google (Nó cũng có thể được thiết lập cho các tài khoản không phải của Google)?

Câu trả lời:


16

Lưu ý: Khi bạn đã kích hoạt xác thực 2 yếu tố cho người dùng và chưa đặt tương tự cho root, bạn sẽ không bao giờ có thể Đăng nhập trực tiếp với quyền root. Trong trường hợp như vậy, một cách khác là sử dụng bất kỳ người dùng sudo nào khác mà chúng tôi đã thiết lập và sau đó sử dụng sudo su -để chuyển sang người dùng root.


Sử dụng các bước dưới đây để thiết lập nó.

  1. Cài đặt bên dưới gói đã cho để cài đặt trình xác thực Google mà chúng tôi sẽ sử dụng làm tiện ích bổ sung với xác thực PAM:

    sudo apt-get install libpam-google-authenticator
    
  2. Bây giờ chỉnh sửa /etc/pam.d/sshdtệp này và thêm Google Authenticator như được đưa ra dưới đây:

    *sudo vim /etc/pam.d/sshd
    

    nhập vào bên dưới ở đầu tập tin này-

    auth required pam_google_authenticator.so
    
  3. Ở đây chúng tôi phải thực hiện các thay đổi /etc/ssh/sshd_configđể đảm bảo ssh sử dụng Google Authenticator, theo cách này chúng tôi đảm bảo ssh đang sử dụng xác thực hai yếu tố.

    vim /etc/ssh/sshd_config
    

    Trong tệp này, chúng tôi phải tìm ChallengeResponseAuthenticationvà bỏ ghi chú và / hoặc sửa đổi nó để trông giống như bên dưới (nói ngắn gọn là có: P):

    ChallengeResponseAuthentication yes
    

    Xác thực 2 yếu tố bổ sung hoặc GUI khác bỏ qua điều này và chuyển sang bước 4: Để bật tính năng này để đăng nhập GUI, hãy chỉnh sửa /etc/pam.d/common-auth:

    sudo vim /etc/pam.d/common-auth
    

    và bây giờ thêm phần này auth required pam_google_authenticator.sophía trên dòng auth [success=1 default=ignore] pam_unix.so nullok_securesau đó lưu tệp.

  4. Bây giờ thay đổi thành một tài khoản mà bạn muốn thiết lập nó.
    ( Lưu ý: Tôi sẽ đề xuất tạo ít nhất hai tài khoản siêu người dùng trên hệ thống ngoài tài khoản gốc và định cấu hình ít nhất, cho một trong số chúng trước nhưng không phải tài khoản gốc.)

    sudo su - testuser1
    
  5. Bây giờ chúng tôi sẽ sử dụng lệnh dưới đây để thiết lập xác thực hai yếu tố cho việc này testuser1:

    google-authenticator
    
  6. Chạy lệnh này sẽ hỏi bạn câu hỏi dưới đây. (đề nghị trả lời là Có)

    Bạn có muốn mã thông báo xác thực dựa trên thời gian (y / n) y

  7. Sau đó, nó sẽ hiển thị cho bạn mã QR và Mã cào khẩn cấp và một vài chi tiết khác. Đặt ra nên trông giống như hình ảnh dưới đây:

    nhập mô tả hình ảnh ở đây

  8. Bây giờ bạn cần sử dụng điện thoại Android / Apple / Blackberry để tải xuống và cài đặt Ứng dụng Google Authenticator từ các thị trường tương ứng, ví dụ như cửa hàng Google play. Nó sẽ tạo mã để bạn đăng nhập.

    Dưới đây là ảnh chụp màn hình của ứng dụng Biểu tượng và ứng dụng được lấy từ ứng dụng điện thoại Android.

    nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

  9. Khởi động ứng dụng trên điện thoại của bạn và quét Mã QR, nếu không, hãy sử dụng khóa bí mật và mã xác minh được cung cấp bên dưới mã QR trên hệ thống, bạn cũng có thể thấy trong ảnh chụp màn hình đầu tiên ở trên.

  10. Khi tất cả điều này được thực hiện, điều rất quan trọng là ghi lại và lưu mã cào khẩn cấp của bạn vào nơi an toàn, vì đó là những mã có thể giúp bạn trong trường hợp bạn bị khóa bằng cách nào đó.

  11. Tại thời điểm này, bạn nên nhìn vào phía dưới màn hình nơi nó đang hỏi bạn một câu hỏi dưới đây. (đề nghị trả lời là Có):

    Bạn có muốn tôi cập nhật tệp "/home/testuser1/.google_authenticator" của bạn (y / n) y

  12. Một lần nữa, nó sẽ hỏi bạn thêm một câu hỏi và câu trả lời được đề xuất cho câu hỏi dưới đây cũng là Có:

    Bạn có muốn không cho phép sử dụng nhiều mã thông báo xác thực không? Điều này hạn chế bạn đăng nhập khoảng 30 giây một lần, nhưng nó làm tăng cơ hội để bạn chú ý hoặc thậm chí ngăn chặn các cuộc tấn công trung gian (y / n) y

  13. Câu hỏi tiếp theo sẽ được đưa ra dưới đây và câu trả lời được đề xuất cho nó là Không:

    Theo mặc định, mã thông báo hoạt động tốt trong 30 giây và để bù cho thời gian có thể bị lệch giữa máy khách và máy chủ, chúng tôi cho phép thêm mã thông báo trước và sau thời gian hiện tại. Nếu bạn gặp sự cố với đồng bộ hóa thời gian kém, bạn có thể tăng cửa sổ từ kích thước mặc định là 1: 30 phút lên khoảng 4 phút. Bạn có muốn làm như vậy (y / n) n

  14. Và câu hỏi cuối cùng sẽ được đưa ra dưới đây và câu trả lời được đề xuất cho nó là Có:

    Nếu máy tính mà bạn đang đăng nhập không cứng đối với các nỗ lực đăng nhập mạnh mẽ, bạn có thể kích hoạt giới hạn tốc độ cho mô-đun xác thực. Theo mặc định, điều này giới hạn kẻ tấn công không quá 3 lần đăng nhập cứ sau 30 giây. Bạn có muốn bật giới hạn tỷ lệ (y / n) y

  15. Bây giờ chuyển thoát khỏi tài khoản này để quay lại tài khoản root:

    exit
    
  16. Bây giờ khởi động lại dịch vụ ssh

    service ssh restart
    

Bây giờ chỉ cần thực hiện một phiên ssh cho người dùng mà bạn đã thiết lập và trước tiên nó sẽ hỏi bạn mã xác minh mà bạn có thể nhập từ điện thoại di động của mình và sau đó nó sẽ hỏi mật khẩu người dùng.

nhập mô tả hình ảnh ở đây

Đó là tất cả những gì cần thiết để thiết lập xác thực hai yếu tố. Xin vui lòng cải thiện câu trả lời khi cần thiết và xin vui lòng cho tôi biết ngôn ngữ không tốt.


Khi tôi gỡ cài đặt, nó sẽ gặp sự cố mỗi khi tôi chạy lệnh với sudo: sudo: Lỗi xác thực PAM: Mô-đun không xác định
bagustris

@bagustris Bạn sẽ chỉnh sửa tệp "/etc/pam.d/common-auth" và xóa "auth yêu cầu pam_google_authenticator.so" mục này. Sau khi bạn gỡ cài đặt nó.
Hrish

để chỉnh sửa /etc/pam.d/common-auth, nó cần sudo. Vì sudo không hoạt động nữa, tôi cần HĐH trực tiếp (hoặc trong trường hợp của tôi, vì tôi khởi động kép với Mac OS, tôi có thể chỉnh sửa nó từ OS X với bộ quyền có thể ghi).
bagustris

1
@bagustris Bạn có thể làm điều đó bằng cách vào chế độ phục hồi.
Hrish

1
Sẽ an toàn hơn nếu không mất quyền truy cập vào máy nếu ở bước 2 chúng tôi sử dụng auth optionalthay vì auth required. Nếu không, đăng nhập là không thể nữa nếu phiên gặp sự cố và quá trình không kết thúc.
Pascal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.