Cách thiết lập xác thực hai yếu tố (2FA) cho SSH trên Ubuntu 14.04 bằng Google Authenticator

Có một số cách đăng nhập vào máy chủ qua SSH. Các phương pháp bao gồm đăng nhập mật khẩu, đăng nhập dựa trên khóa và xác thực hai yếu tố.

Xác thực hai yếu tố là một loại bảo vệ tốt hơn nhiều. Trong trường hợp máy tính của bạn bị xâm nhập, kẻ tấn công vẫn sẽ cần mã truy cập để đăng nhập.

Trong hướng dẫn này, bạn sẽ tìm hiểu cách thiết lập xác thực hai yếu tố trên máy chủ Ubuntu bằng Google Authenticator và SSH.

Bước 1: Điều kiện tiên quyết

  • Một máy chủ Ubuntu 14.04 (hoặc mới hơn).
  • Một người dùng không root với quyền truy cập sudo.
  • Một điện thoại thông minh (Android hoặc iOS) được cài đặt Ứng dụng Google Authenticator. Bạn cũng có thể sử dụng Authy hoặc bất kỳ ứng dụng nào khác hỗ trợ đăng nhập dựa trên TOTP.

Bước 2: Cài đặt Thư viện Google Authenticator

Chúng tôi cần cài đặt mô-đun Thư viện Google Authenticator có sẵn cho Ubuntu, điều này sẽ cho phép máy chủ đọc và xác thực mã. Chạy các lệnh sau.

sudo apt-get update
sudo apt-get install libpam-google-authenticator

Bước 3: Định cấu hình Google Authenticator cho mỗi người dùng

Để cấu hình mô-đun, chỉ cần chạy lệnh sau.

google-authenticator

Khi bạn chạy lệnh, bạn sẽ được hỏi một số câu hỏi nhất định. Câu hỏi đầu tiên sẽ là:

Do you want authentication tokens to be time-based (y/n)

Nhấn yvà bạn sẽ nhận được mã QR, khóa bí mật, mã xác minh và mã dự phòng khẩn cấp.

Lấy điện thoại ra và mở ứng dụng Google Authenticator. Bạn có thể quét mã QR hoặc thêm khóa bí mật để thêm mục mới. Một khi bạn đã làm điều đó, ghi lại các mã dự phòng và giữ chúng an toàn ở đâu đó. Trong trường hợp điện thoại của bạn bị đặt sai vị trí hoặc bị hỏng, bạn có thể sử dụng các mã đó để đăng nhập.

Đối với các câu hỏi còn lại, hãy nhấn ykhi được yêu cầu cập nhật .google_authenticatortệp, yvì không cho phép sử dụng nhiều mã thông báo, nđể tăng thời gian và yđể kích hoạt giới hạn tỷ lệ.

Bạn sẽ phải lặp lại Bước 3 cho tất cả người dùng trên máy của mình, nếu không họ sẽ không thể đăng nhập khi bạn hoàn thành hướng dẫn này.

Bước 4: Định cấu hình SSH để sử dụng Google Authenticator

Giờ đây, tất cả người dùng trên máy của bạn đã thiết lập ứng dụng Google xác thực của họ, đã đến lúc cấu hình SSH để sử dụng phương thức xác thực này so với phương thức hiện tại.

Nhập lệnh sau để chỉnh sửa sshdtệp.

sudo nano /etc/pam.d/sshd

Tìm dòng @include common-authvà nhận xét nó như dưới đây.

# Standard Un*x authentication.
#@include common-auth

Thêm dòng sau vào dưới cùng của tập tin này.

auth required pam_google_authenticator.so

Nhấn Ctrl + Xđể lưu và thoát.

Tiếp theo, nhập lệnh sau để chỉnh sửa sshd_configtệp.

sudo nano /etc/ssh/sshd_config

Tìm thuật ngữ ChallengeResponseAuthenticationvà đặt giá trị của nó thành yes. Cũng tìm thuật ngữ PasswordAuthentication, bỏ ghi chú và thay đổi giá trị của nó thành no.

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Bước tiếp theo là thêm dòng sau vào dưới cùng của tệp.

AuthenticationMethods publickey,keyboard-interactive

Lưu và đóng tệp bằng cách nhấn Ctrl + X. Bây giờ chúng tôi đã định cấu hình máy chủ SSH để sử dụng Google Authenticator, đã đến lúc khởi động lại nó.

sudo service ssh restart

Hãy thử đăng nhập lại vào máy chủ. Lần này bạn sẽ được yêu cầu mã Authenticator của bạn.

ssh user@serverip

Authenticated with partial success.
Verification code:

Nhập mã mà ứng dụng của bạn tạo và bạn sẽ đăng nhập thành công.

Ghi chú

Trong trường hợp bạn bị mất điện thoại, hãy sử dụng mã dự phòng từ Bước 2. Nếu bạn bị mất mã dự phòng, bạn luôn có thể tìm thấy chúng trong .google_authenticatortệp trong thư mục nhà của người dùng sau khi bạn đăng nhập qua bảng điều khiển Vultr.

Phần kết luận

Việc xác thực nhiều yếu tố giúp cải thiện đáng kể bảo mật máy chủ của bạn và cho phép bạn giúp ngăn chặn các cuộc tấn công vũ phu thông thường.

Các phiên bản khác



Leave a Comment

Hướng dẫn cấu hình mạng riêng tư cho máy tính của bạn

Hướng dẫn cấu hình mạng riêng tư cho máy tính của bạn

Nếu bạn đang chỉ định một mạng riêng cho một máy hiện có (hoặc triển khai hệ điều hành của riêng bạn), bạn sẽ cần định cấu hình các địa chỉ IP trên giao diện riêng.

Hướng dẫn cấu hình IPv6 trên VPS của bạn

Hướng dẫn cấu hình IPv6 trên VPS của bạn

Mỗi ví dụ này giả sử một mạng con IPv6 là 2001:db8:1000::/64. Bạn sẽ cần cập nhật chúng với mạng con mà bạn đã được chỉ định. Chúng tôi sẽ sử dụng 2001:db8:1000::100làm địa chỉ IPv6 chính để gán. Chúng tôi cũng sẽ định cấu hình 2001:db8:1000::200như một địa chỉ IPv6 thứ cấp. Việc thêm IPv6 thứ cấp là không cần thiết, nhưng nó cho thấy quá trình bạn sẽ sử dụng nếu bạn muốn có nhiều địa chỉ IPv6.

Hướng dẫn cách truy cập Chế độ người dùng đơn (Đặt lại mật khẩu gốc)

Hướng dẫn cách truy cập Chế độ người dùng đơn (Đặt lại mật khẩu gốc)

Để đặt lại mật khẩu gốc của máy chủ của bạn, bạn sẽ cần phải khởi động vào chế độ người dùng. Truy cập máy chủ của bạn trong cổng thông tin khách hàng của Vultr, sau đó làm theo các bước dưới đây cho hệ điều hành được cài đặt trên máy chủ của bạn.

Hướng dẫn bắt đầu máy chủ Teamspeak 3 trên CentOS 6.4

Hướng dẫn bắt đầu máy chủ Teamspeak 3 trên CentOS 6.4

Máy chủ Teamspeak được nhiều người ưa thích nhưng không phải ai cũng biết cài và sử dụng. Hôm nay CloudO3 sẽ hướng dẫn các bạn có thể tự làm được nhé!

Cách thiết lập các bản nâng cấp không giám sát trên Debian 6/7

Cách thiết lập các bản nâng cấp không giám sát trên Debian 6/7

Sử dụng một hệ thống khác nhau? Nếu bạn mua máy chủ Debian, thì bạn phải luôn có các bản vá và cập nhật bảo mật mới nhất, cho dù bạn có ngủ hay không

Hướng dẫn chi tiết cài đặt Nginx + PHP FPM + Bộ nhớ đệm + MySQL trên Ubuntu 12.04 cho người mới bắt đầu

Hướng dẫn chi tiết cài đặt Nginx + PHP FPM + Bộ nhớ đệm + MySQL trên Ubuntu 12.04 cho người mới bắt đầu

Có lẽ rất nhiều người sẽ sử dụng VPS Vultr của họ làm máy chủ web, một lựa chọn tốt sẽ là Nginx làm máy chủ web. Trong chủ đề này tôi sẽ mô tả o

Hướng dẫn chạy CoreOS trên VPS Vultr

Hướng dẫn chạy CoreOS trên VPS Vultr

Vultr hiện cung cấp CoreOS trên trang đặt hàng - Hướng dẫn này giải thích cách thiết lập CoreOS theo cách thủ công. Hôm nay Cloudo3 sẽ hướng dẫn bạn chạy CoreOS bằng 1 nút duy nhất.

Hướng dẫn cài đặt 3 bảng điều khiển lưu trữ web miễn phí (Cài đặt nhanh)

Hướng dẫn cài đặt 3 bảng điều khiển lưu trữ web miễn phí (Cài đặt nhanh)

Virtualmin / Webmin, Vesta, Ajenti là 3 bảng điều khiển lưu trữ web mạnh mẽ và linh hoạt cho các hệ thống Linux và UNIX dựa trên cơ sở web nguồn mở nổi tiếng

Hướng dẫn cấu hình Mạng tĩnh và IPv6 trên CentOS 7

Hướng dẫn cấu hình Mạng tĩnh và IPv6 trên CentOS 7

VULTR gần đây đã thực hiện các thay đổi ở phần cuối của họ và mọi thứ sẽ hoạt động tốt ngoài hộp với tính năng NetworkManager được kích hoạt. Nếu bạn muốn tắt NetworkManager, bạn có thể làm theo các bước sau.

Cách quản lý và cài đặt múi giờ của máy chủ Linux

Cách quản lý và cài đặt múi giờ của máy chủ Linux

Đặt ngày và giờ chính xác trên máy chủ Linux của bạn là rất quan trọng. Nhật ký máy chủ của bạn và các thông tin quan trọng khác sẽ phản ánh múi giờ của máy chủ của bạn. Trong hầu hết các trường hợp, bạn sẽ muốn đặt thời gian cho máy chủ của mình khớp với giờ địa phương của riêng bạn, nhưng nếu máy chủ của bạn ở xa hoặc lưu trữ các trang web cho những người chủ yếu ở múi giờ khác, bạn có thể chọn một thời gian khác.

Cách bảo mật trang web Nginx của bạn bằng SSL và mật mã an toàn

Cách bảo mật trang web Nginx của bạn bằng SSL và mật mã an toàn

SSL (viết tắt của Lớp cổng bảo mật ) và người kế nhiệm của nó, TLS (viết tắt của Transport Layer Security ) là các giao thức mã hóa để bảo mật liên lạc qua Internet. Nó có thể được sử dụng để tạo kết nối an toàn đến một trang web.

Cài đặt Wordpress với Apache, PHP và MySQL (Tập lệnh khởi động tự động)

Cài đặt Wordpress với Apache, PHP và MySQL (Tập lệnh khởi động tự động)

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Nó sẽ cài đặt tất cả các gói cần thiết để chạy Wordpress, tạo và nhập thông tin xác thực cơ sở dữ liệu và mở các cổng tường lửa cần thiết.

Cài đặt ownCloud 7 trên CentOS 6 với Nginx w / SSL, PHP-FPM và PGQuery (Tập lệnh khởi động tự động)

Cài đặt ownCloud 7 trên CentOS 6 với Nginx w / SSL, PHP-FPM và PGQuery (Tập lệnh khởi động tự động)

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Kịch bản khởi động này sẽ cài đặt phiên bản hiện tại

Hướng dẫn cài đặt WordPress trên cấu hình LEMP

Hướng dẫn cài đặt WordPress trên cấu hình LEMP

Trong bài này, bạn sẽ tìm hiểu được cách cài đặt WordPresstrên cấu hình LEMP. Tôi sẽ trình bày cài đặt trên máy chủ Ubuntu 14.04. Các hướng dẫn này cũng có thể hoạt động trên các phiên bản cũ hơn của Ubuntu và Debian.

Hướng dẫn cách tạo Khóa SSH

Hướng dẫn cách tạo Khóa SSH

Khóa SSH cho phép bạn đăng nhập vào máy chủ của mình mà không cần mật khẩu. Khóa SSH có thể được tự động thêm vào máy chủ trong quá trình cài đặt.

Hướng dẫn cài đặt ownCloud 6 trên CentOS 6

Hướng dẫn cài đặt ownCloud 6 trên CentOS 6

ownCloud cung cấp quyền truy cập toàn cầu vào các tệp của bạn thông qua web, máy tính hoặc thiết bị di động của bạn - mọi lúc mọi nơi. Nó cũng cung cấp một nền tảng để dễ dàng xem và đồng bộ hóa danh bạ, lịch và dấu trang của bạn trên tất cả các thiết bị của bạn và cho phép chỉnh sửa cơ bản ngay trên web.

Hướng dẫn cách sửa cấu hình mạng sau khi khôi phục ảnh chụp

Hướng dẫn cách sửa cấu hình mạng sau khi khôi phục ảnh chụp

Sau khi khôi phục ảnh chụp nhanh sang máy mới, bạn có thể gặp phải sự cố do địa chỉ MAC của bộ điều hợp mạng thay đổi. Thông thường, khi bộ điều hợp mạng thay đổi, hệ điều hành sẽ tạo ra bộ điều hợp mạng mới cho nó. Bạn thường thấy bộ điều hợp mạng trên eth1 (hoặc eth2 nếu bạn đã bật mạng riêng).

Hướng dẫn cài đặt Prosody trên Debian 7

Hướng dẫn cài đặt Prosody trên Debian 7

Prosody là một máy chủ giao tiếp XMPP được viết bằng LUA. Nó nhằm mục đích dễ dàng thiết lập và cấu hình, và hiệu quả với tài nguyên hệ thống. Prosody là phần mềm mã nguồn mở! Trong hướng dẫn này, chúng tôi sẽ cài đặt Prosody trên máy chủ Debian 7.0. Bạn nên cài đặt mới hệ điều hành trước khi cài đặt Prosody.

Hướng dẫn thiết lập kho lưu trữ Subversion (SVN) trên Debian / Ubuntu

Hướng dẫn thiết lập kho lưu trữ Subversion (SVN) trên Debian / Ubuntu

SVN ( tên đầy đủ là Subversion), là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm, được công ty CollabNet giới thiệu vào năm 2000. SVN hỗ trợ làm việc nhóm rất hiệu quả và được sử dụng phổ biến hiện nay. Cụ thể, Subversion rất phổ biến trong giới mã nguồn mở và được dùng để quản lý mã nguồn cho nhiều ứng dụng Phần mềm miễn phí như: Apache Software Foundation, KDE, GNOME, Free Pascal, FreeBSD, GCC, Python, Django, Ruby, và Mono. SourceForge.net và Tigris.org, nơi chứa miễn phí chuyên nghiệp dành cho các ứng dụng tự do

Hướng dẫn theo dõi trạng thái máy chủ Debian với Munin

Hướng dẫn theo dõi trạng thái máy chủ Debian với Munin

Munin là một công cụ giám sát để khảo sát các quy trình và tài nguyên trong máy của bạn và trình bày thông tin trong biểu đồ thông qua giao diện web. Sử dụng các bước sau để thiết lập Munin trên máy của bạn và xem giao diện web của bạn với Apache.

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1