Làm thế nào để định cấu hình xác thực hai yếu tố trong SSH trong Ubuntu?

Xác thực hai yếu tố

La Xác thực hai yếu tố (2FA) không phải là thứ duy nhất có thể được sử dụng trên phương tiện truyền thông xã hội hoặc trên bất kỳ trang web nào khác. Vâng, biện pháp bảo mật này cũng có thể được thực hiện trong một hệ điều hành.

Đó là lý do tại sao Hôm nay chúng ta sẽ xem cách triển khai xác thực hai yếu tố trong SSH trong Ubuntu và các dẫn xuất sử dụng Google Authenticator nổi tiếng sẽ làm tăng đáng kể tính bảo mật của máy chủ OpenSSH của bạn.

Thông thường, bạn chỉ cần nhập mật khẩu hoặc sử dụng khóa SSH để đăng nhập vào hệ thống của mình từ xa.

Xác thực hai yếu tố (2FA) yêu cầu nhập hai phần thông tin để đăng nhập.

Do đó, bạn cũng sẽ cần nhập mật khẩu dùng một lần theo thời gian để đăng nhập vào máy chủ SSH của mình.

Mật khẩu dùng một lần này được tính bằng thuật toán TOTP, một tiêu chuẩn IETF.

Cài đặt và cấu hình Google Authenticator trong Ubuntu và các dẫn xuất

Bước đầu tiên mà chúng tôi sẽ thực hiện là cài đặt Google Authenticator trong hệ thống của chúng tôi, vì vậy chúng ta sẽ mở một thiết bị đầu cuối trong hệ thống (điều này có thể được thực hiện bằng tổ hợp phím "Ctrl + Alt + T) và trong đó, chúng ta sẽ nhập lệnh sau:

sudo apt install libpam-google-authenticator

Cài đặt xong chúng ta sẽ chạy ứng dụng mới được cài đặt bằng lệnh sau:

google-authenticator

Khi thực hiện lệnh này, những gì chúng tôi sẽ làm là gán một khóa bí mật và điều này sẽ hỏi chúng tôi xem chúng tôi có muốn sử dụng các mã thông báo dựa trên thời gian hay không, chúng tôi sẽ trả lời là có.

Sau đây, họ sẽ thấy mã QR mà họ có thể quét bằng ứng dụng TOTP trên điện thoại của họ.

đây Chúng tôi khuyên bạn nên sử dụng ứng dụng Google Authenticator trên điện thoại di động của mình.il, vì vậy bạn có thể cài đặt ứng dụng thông qua Google Play hoặc Apple App Store trên điện thoại di động của mình.

Đã có ứng dụng trên điện thoại, bạn phải quét mã QR bằng ứng dụng đó. Hãy nhớ rằng bạn cần phải phóng to cửa sổ đầu cuối để quét toàn bộ mã QR.

Mã QR đại diện cho khóa bí mật, chỉ được biết đến với máy chủ SSH và ứng dụng Google Authenticator của nó.

Sau khi mã QR được quét, họ có thể thấy một mã thông báo gồm sáu chữ số duy nhất trên điện thoại của họ. Theo mặc định, mã thông báo này tồn tại trong 30 giây và nó phải được nhập để đăng nhập vào Ubuntu thông qua SSH.

google-xác thực-bí mật-khóa

Trong thiết bị đầu cuối, bạn cũng sẽ có thể xem mã bí mật, cũng như mã xác minh và mã bắt đầu khẩn cấp.

Từ đó chúng tôi khuyên bạn nên giữ thông tin này ở một nơi an toàn để sử dụng sau này. Trong số các câu hỏi khác mà chúng tôi được hỏi, chúng tôi chỉ đơn giản trả lời có bằng cách nhập ký tự y.

Thiết lập SSH để sử dụng với Google Authenticator

Đã tin vào những điều trên, Bây giờ chúng tôi sẽ tạo cấu hình cần thiết để có thể sử dụng kết nối SSH trong hệ thống của chúng tôi với Google Authenticator.

Trong thiết bị đầu cuối vChúng ta sẽ gõ lệnh sau

sudo nano /etc/ssh/sshd_config

Bên trong tệp chúng ta sẽ tìm kiếm những dòng sau và chúng ta sẽ thay đổi những dòng này thành "yes", như sau:

UsePAM yes

ChallengeResponseAuthentication yes

Khi các thay đổi đã được thực hiện, hãy lưu các thay đổi được thực hiện bằng Ctrl + O và đóng tệp bằng Ctrl + X.

Trong cùng một thiết bị đầu cuối, chúng ta sẽ khởi động lại SSH với:

sudo systemctl restart ssh

Theo mặc định, xác thực yêu cầu họ nhập mật khẩu người dùng để đăng nhập.

Vậy nên hãy chỉnh sửa tệp quy tắc PAM cho daemon SSH.

sudo nano /etc/pam.d/sshd

Ở đầu tệp này, bạn có thể thấy dòng sau cho phép xác thực mật khẩu

ChallengeResponseAuthentication

Mà chúng ta phải đặt thành có.

Để cũng bật xác thực mật khẩu một lần, hãy thêm hai dòng sau.

@include common-auth

#One-time password authentication via Google Authenticator

auth required pam_google_authenticator.so

Lưu và đóng tập tin.

Kể từ bây giờ, mỗi lần họ đăng nhập vào hệ thống của bạn thông qua kết nối SSH, họ sẽ được nhắc nhập mật khẩu người dùng và mã xác minh (mật khẩu dùng một lần do Google Authenticator tạo).


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Miguel dijo

    Xin chào, hướng dẫn khá đơn giản, tuy nhiên, sau khi tôi làm tất cả các bước, tôi không thể nhập bằng ssh nữa, nó khiến tôi gặp lỗi mật khẩu không chính xác, thậm chí tôi không thể yêu cầu 2FA.

    Tôi có Ubuntu Server 20.04