Mục lục

Không có mục lục
Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly

Thiết lập máy chủ ban đầu với Ubuntu 22.04

Ngày đăng: 23 tháng 10 năm 2023

Giới thiệu

Khi tạo máy chủ Ubuntu 22.04 mới lần đầu tiên, bạn nên thực hiện một số bước cấu hình quan trọng như một phần của quá trình thiết lập ban đầu. Các bước này sẽ tăng cường tính bảo mật và khả năng sử dụng máy chủ của bạn, đồng thời sẽ cung cấp cho bạn nền tảng vững chắc cho các hành động tiếp theo.

Bước 1 - Đăng nhập bằng root

Để đăng nhập vào máy chủ của bạn, bạn sẽ cần biết địa chỉ IP công cộng của máy chủ. Bạn cũng sẽ cần mật khẩu hoặc private key cho tài khoản root user nếu bạn đã cài đặt SSH key để xác thực. Nếu bạn chưa đăng nhập vào máy chủ của mình, bạn có thể làm theo hướng dẫn của chúng tôi về cách Kết nối với Droplets bằng SSH, nó sẽ hướng dẫn chi tiết về quy trình này.

Nếu hiện tại bạn chưa kết nối với máy chủ của mình, hãy đăng nhập với tư cách root user bằng lệnh sau. Thay thế phần your_server_ip được đánh dấu của lệnh bằng địa chỉ IP công cộng của máy chủ của bạn:

  1. ssh root@your_server_ip

Chấp nhận cảnh báo về tính xác thực của máy chủ nếu nó xuất hiện. Nếu máy chủ của bạn sử dụng xác thực bằng mật khẩu, hãy cung cấp mật khẩu gốc (root) của bạn để đăng nhập. Nếu bạn sử dụng SSH key được bảo vệ bằng cụm mật khẩu (passphrase), bạn có thể cần phải nhập cụm mật khẩu vào lần đầu tiên sử dụng khóa mỗi session. Nếu đây là lần đầu tiên bạn đăng nhập vào máy chủ bằng mật khẩu, bạn cũng có thể cần phải thay đổi mật khẩu gốc. Làm theo hướng dẫn để thay đổi mật khẩu nếu bạn nhận được lời nhắc.

Về root

Root user là người dùng quản trị trong môi trường Linux với các đặc quyền nâng cao. Do các đặc quyền nâng cao của tài khoản root nên bạn không nên sử dụng nó thường xuyên. Tài khoản root có thể thực hiện những thay đổi có tính hủy diệt, thậm chí là do vô tình.

Bước tiếp theo là thiết lập một tài khoản người dùng mới với các đặc quyền được giảm bớt để sử dụng hàng ngày. Sau này, chúng tôi sẽ chỉ cho bạn cách tạm thời nhận được các đặc quyền gia tăng khi bạn cần chúng.

Bước 2 - Tạo người dùng mới

Khi bạn đăng nhập bằng root, bạn sẽ có thể thêm tài khoản người dùng mới. Trong tương lai, chúng ta sẽ đăng nhập bằng tài khoản mới này thay vì tài khoản root.

Ví dụ này tạo một người dùng mới tên là sammy, nhưng bạn nên thay thế tên đó bằng tên người dùng mà bạn thích:

  1. adduser sammy

Bạn sẽ được hỏi một số câu hỏi, bắt đầu bằng mật khẩu tài khoản.

Nhập mật khẩu mạnh và tùy ý điền bất kỳ thông tin bổ sung nào nếu bạn muốn. Thông tin này không bắt buộc và bạn có thể nhấn ENTER trong bất kỳ trường nào bạn muốn bỏ qua.

Bước 3 - Cấp đặc quyền quản trị

Bây giờ bạn có tài khoản người dùng mới với các đặc quyền tài khoản thông thường. Tuy nhiên, đôi khi bạn sẽ cần thực hiện các tác vụ quản trị với tư cách là root user.

Để tránh đăng xuất khỏi người dùng thông thường và đăng nhập lại bằng tài khoản root, bạn có thể thiết lập những gì được gọi là đặc quyền superuser (siêu người dùng) hoặc root cho tài khoản thông thường của người dùng. Những đặc quyền này sẽ cho phép người dùng bình thường của bạn chạy các lệnh với đặc quyền quản trị bằng cách đặt từ sudo trước lệnh.

Để thêm các đặc quyền này cho người dùng mới của bạn, bạn sẽ cần thêm người dùng vào nhóm hệ thống sudo. Theo mặc định trên Ubuntu 22.04, người dùng là thành viên của nhóm sudo được phép sử dụng lệnh sudo.

Với quyền root, hãy chạy lệnh này để thêm người dùng mới của bạn vào nhóm sudo (thay thế tên người dùng sammy được đánh dấu bằng người dùng mới của bạn):

  1. usermod -aG sudo sammy

Bây giờ bạn có thể nhập sudo trước các lệnh để chạy chúng với đặc quyền superuser khi đăng nhập với tư cách người dùng thông thường.

Bước 4 - Thiết lập tường lửa

Máy chủ Ubuntu 22.04 có thể sử dụng tường lửa UFW để đảm bảo chỉ cho phép kết nối với một số dịch vụ nhất định. Bạn có thể thiết lập tường lửa cơ bản bằng ứng dụng này.

Các ứng dụng có thể đăng ký hồ sơ của mình với UFW sau khi cài đặt. Những cấu hình này cho phép UFW quản lý các ứng dụng này theo tên. OpenSSH, dịch vụ cho phép bạn kết nối với máy chủ của mình, có hồ sơ được đăng ký với UFW.

Bạn có thể kiểm tra danh sách các cấu hình UFW đã cài đặt bằng cách nhập:

  1. ufw app list
Output
Available applications: OpenSSH

Bạn sẽ cần đảm bảo rằng tường lửa cho phép kết nối SSH để bạn có thể đăng nhập vào máy chủ của mình vào lần tiếp theo. Cho phép các kết nối này bằng cách gõ:

  1. ufw allow OpenSSH

Bây giờ kích hoạt tường lửa bằng cách gõ:

  1. ufw enable

y và nhấn ENTER để tiếp tục. Bạn có thể thấy các kết nối SSH vẫn được cho phép bằng cách gõ:

  1. ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)

Tường lửa hiện đang chặn tất cả các kết nối ngoại trừ SSH. Nếu cài đặt và định cấu hình các dịch vụ bổ sung, bạn sẽ cần điều chỉnh cài đặt tường lửa để cho phép lưu lượng truy cập mới vào máy chủ của mình. Bạn có thể tìm hiểu một số thao tác UFW phổ biến trong hướng dẫn Những điều cơ bản về UFW của chúng tôi.

Bước 5 - Kích hoạt External Access cho người dùng thông thường của bạn

Bây giờ bạn đã có người dùng thông thường để sử dụng hàng ngày, bạn cần đảm bảo rằng bạn có thể SSH trực tiếp vào tài khoản.

Lưu ý: Cho đến khi xác minh rằng bạn có thể đăng nhập và sử dụng sudo với người dùng mới của mình, chúng tôi khuyên bạn nên duy trì đăng nhập bằng root. Nếu gặp sự cố khi kết nối, bạn có thể khắc phục sự cố và thực hiện mọi thay đổi cần thiết với quyền root.

Định cấu hình quyền truy cập SSH cho người dùng mới của bạn tùy thuộc vào việc tài khoản root của máy chủ của bạn sử dụng mật khẩu hay SSH key để xác thực.

Nếu tài khoản root sử dụng xác thực mật khẩu

Nếu bạn đăng nhập vào tài khoản root bằng mật khẩu thì xác thực mật khẩu sẽ được bật cho SSH. Bạn có thể SSH vào tài khoản người dùng mới của mình bằng cách mở terminal session và sử dụng SSH với tên người dùng mới của bạn:

  1. ssh sammy@your_server_ip

Sau khi nhập mật khẩu người dùng thông thường của bạn, bạn sẽ đăng nhập. Hãy nhớ rằng, nếu bạn cần chạy một lệnh có quyền quản trị, hãy nhập sudo trước nó như thế này:

  1. sudo command_to_run

Bạn sẽ nhận được lời nhắc nhập mật khẩu người dùng thông thường của mình khi sử dụng sudo lần đầu tiên trong mỗi session (và định kỳ sau đó).

Để tăng cường bảo mật cho máy chủ của bạn, chúng tôi thực sự khuyên bạn nên thiết lập SSH key thay vì sử dụng xác thực bằng mật khẩu. Làm theo hướng dẫn của chúng tôi về cách thiết lập SSH key trên Ubuntu 22.04 để tìm hiểu cách định cấu hình xác thực dựa trên khóa.

Nếu tài khoản root sử dụng xác thực SSH key

Nếu bạn đăng nhập vào tài khoản root bằng SSH key thì xác thực mật khẩu sẽ bị vô hiệu hóa đối với SSH. Để đăng nhập với tư cách người dùng thông thường bằng SSH key, bạn phải thêm bản sao public key cục bộ vào tệp ~/.ssh/authorized_keys của người dùng mới.

Vì public key của bạn đã có trong tệp ~/.ssh/authorized_keys của tài khoản root trên máy chủ nên bạn có thể sao chép cấu trúc tệp và thư mục đó sang tài khoản người dùng mới bằng session hiện tại.

Cách đơn giản nhất để sao chép các tệp có quyền sở hữu và quyền chính xác là bằng lệnh rsync. Lệnh này sẽ sao chép thư mục .ssh của root user, giữ nguyên các quyền và sửa đổi chủ sở hữu tệp, tất cả chỉ trong một lệnh duy nhất. Đảm bảo thay đổi các phần được đánh dấu của lệnh bên dưới để khớp với tên người dùng thông thường của bạn:

Lưu ý: Lệnh rsync xử lý các nguồn và đích kết thúc bằng dấu gạch chéo ở cuối, khác với các nguồn không có dấu gạch chéo ở cuối. Khi sử dụng rsync bên dưới, hãy đảm bảo rằng thư mục nguồn (~/.ssh) không bao gồm dấu gạch chéo ở cuối (kiểm tra để đảm bảo rằng bạn không sử dụng ~/.ssh/).

Nếu bạn vô tình thêm dấu gạch chéo vào lệnh, rsync sẽ sao chép nội dung của thư mục ~/.ssh của tài khoản root vào thư mục chính của sudo user thay vì sao chép toàn bộ cấu trúc thư mục ~/.ssh. Các tệp sẽ ở sai vị trí và SSH sẽ không thể tìm và sử dụng chúng.

  1. rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

Bây giờ, hãy mở terminal session mới trên máy cục bộ của bạn và sử dụng SSH với tên người dùng mới của bạn:

  1. ssh sammy@your_server_ip

Bạn nên kết nối với máy chủ của mình bằng tài khoản người dùng mới mà không cần sử dụng mật khẩu. Hãy nhớ rằng, nếu bạn cần chạy một lệnh có đặc quyền quản trị, hãy nhập sudo trước lệnh như sau:

  1. sudo command_to_run

Bạn sẽ được nhắc nhập mật khẩu người dùng thông thường của mình khi sử dụng sudo lần đầu tiên trong mỗi session (và định kỳ sau đó).

Kết luận

Tại thời điểm này, bạn đã có một nền tảng vững chắc cho máy chủ của mình. Bạn có thể cài đặt bất kỳ phần mềm nào bạn cần trên máy chủ của mình ngay bây giờ.

Nếu muốn làm quen hơn với các lệnh Linux, bạn có thể kiểm tra Primer Dòng lệnh Linux của chúng tôi.

Tham gia kênh Telegram của CloudFly để nhận thêm ưu đãi và không bỏ lỡ bất kỳ khuyến mãi nào từ CloudFly
Chia sẻ

0 câu trả lời