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

Ngày đăng: December 21, 2022

Ubuntu

Giới thiệu

Khi bạn tạo một máy chủ Ubuntu 20.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 thiết lập ban đầu. Các bước này sẽ tăng tính bảo mật và khả năng sử dụng cho 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 với quyền root

Để đăng nhập vào máy chủ của bạn, bạn cần biết địa chỉ IP công khai của máy chủ. Bạn cũng sẽ cần mật khẩu hoặc — nếu bạn đã cài đặt SSH key để xác thực — private key cho tài khoản của root user. 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, hướng dẫn chi tiết về quy trình này.

Nếu bạn chưa kết nối với máy chủ của mình, hãy đăng nhập ngay bây giờ với tư cách là root user bằng lệnh sau (thay thế phần đượ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 bạn đang sử dụng xác thực mật khẩu, hãy cung cấp mật khẩu root của bạn để đăng nhập. Nếu bạn đang sử dụng SSH key được bảo vệ bằng passphrase , bạn có thể được nhắc nhập passphrase vào lần đầu tiên bạn sử dụng khóa mỗi phiên. 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 nhắc thay đổi mật khẩu root.

Giới thiệu về root

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

Bước tiếp theo là thiết lập 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 đó, 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 cho những lúc bạn cần.

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

Khi bạn đã đăng nhập với quyền 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 có tên là sammy, nhưng bạn nên thay thế 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 mật khẩu mạnh và tùy chọn điền vào bất kỳ thông tin bổ sung nào nếu bạn muốn. Điều này là không bắt buộc và bạn chỉ cần nhấn ENTER vào 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ờ chúng ta có một 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 chúng ta có thể cần thực hiện các tác vụ quản trị.

Để tránh phải đăng xuất khỏi người dùng bình thường của chúng ta và đăng nhập lại bằng tài khoản root, chúng ta có thể thiết lập cái được gọi là đặc quyền superuser hoặc quyền root cho tài khoản bình thường của chúng ta. Điều này sẽ cho phép người dùng bình thường của chúng ta chạy các lệnh với 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 chúng ta, chúng ta cần thêm người dùng vào nhóm sudo. Theo mặc định, trên Ubuntu 20.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 được đánh dấu bằng người dùng mới của bạn):

  1. usermod -aG sudo sammy

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

Bước 4 — Thiết lập Tường lửa Cơ bản

Máy chủ Ubuntu 20.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. Chúng ta 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 họ với UFW khi cài đặt. Các 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 chúng ta kết nối với máy chủ của mình ngay bây giờ, có một hồ sơ đã đăng ký với UFW.

Bạn có thể thấy điều này bằng cách gõ:

  1. ufw app list
Output
Available applications: OpenSSH

Chúng ta cần đảm bảo rằng tường lửa cho phép kết nối SSH để có thể đăng nhập lại vào lần sau. Chúng ta có thể cho phép các kết nối này bằng cách gõ:

  1. ufw allow OpenSSH

Sau đó, chúng ta có thể kích hoạt tường lửa bằng cách gõ:

  1. ufw enable

Nhập y và nhấn ENTER để tiếp tục. Bạn có thể thấy rằng 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 bạn cài đặt và thiết lập 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. Bạn có thể tìm hiểu một số thao tác UFW phổ biến trong hướng dẫn Khái quát 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ờ chúng ta có một người dùng thông thường để sử dụng hàng ngày, chúng ta cần đảm bảo rằng chúng ta 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 đăng nhập với quyền root. Bằng cách này, nếu bạn gặp sự cố, bạn có thể khắc phục sự cố và thực hiện bất kỳ thay đổi cần thiết nào với quyền root.

Quá trình thiết lập cấu hình quyền truy cập SSH cho người dùng mới của bạn phụ 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 keys để 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 của mình 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ở một phiên cuối mới 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 với 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ẽ đượ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 phiên (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 keys thay vì sử dụng xác thực 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 keys trên Ubuntu 20.04 để tìm hiểu cách thiết lập 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 keys

Nếu bạn đã đăng nhập vào tài khoản root của mình bằng SSH keys, thì xác thực mật khẩu sẽ bị tắt cho SSH. Bạn sẽ cần thêm một bản sao khóa công khai cục bộ của mình vào tệp ~/.ssh/authorized_keys của người dùng mới để đăng nhập thành công.

Vì khóa công khai 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 chúng ta có thể sao chép cấu trúc thư mục và tệp đó vào tài khoản người dùng mới trong phiên hiện tại của chúng ta.

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à sử dụng lệnh rsync. Thao tác này sẽ sao chép thư mục .ssh của root user, giữ nguyên quyền và sửa đổi chủ sở hữu tệp, tất cả chỉ trong một lệnh. Đả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 và đích 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 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 sang 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ở một phiên cuối 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 đăng nhập vào 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 với 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ẽ đượ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 phiên (và định kỳ sau đó).

Đi đâu từ đây?

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ờ.

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