Cài đặt ban đầu cần thiết Ubuntu 20.04 nhất định phải làm

Ubuntu 20.04

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

Khi bạn tạo một Droplet của DataOnline, bạn có thể chọn phiên bản Ubuntu sẽ được thêm vào Droplet mới của bạn tự động. Hãy đơn giản hóa quá trình thiết lập với các giải pháp “out-of-the-box” của chúng tôi.

Bước 1 — Đăng Nhập với Tư Cách root trên Ubuntu 20.04

Để đăng nhập vào máy chủ, bạn cần biết địa chỉ IP công cộng của máy chủ và mật khẩu cho tài khoản “root” (hoặc – nếu bạn đã cài đặt SSH key để xác thực – cần có private key của tài khoản root). Nếu bạn chưa đăng nhập vào máy chủ, bạn có thể tham khảo hướng dẫn Kết nối tới Droplets bằng SSH

của chúng tôi, hướng dẫn chi tiết quy trình này.

Nếu bạn chưa kết nối tới máy chủ, hãy đăng nhập ngay bây giờ với tư cách root bằng lệnh sau (thay phần được đánh dấu bằng địa chỉ IP công cộng của máy chủ của bạn):

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 xuất hiện. Nếu bạn sử dụng xác thực bằng mật khẩu, hãy nhập mật khẩu của root để đăng nhập. Nếu bạn sử dụng SSH key được bảo vệ bằng passphrase, bạn có thể sẽ được yêu cầu nhập passphrase vào lần đầu sử dụng key trong 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 yêu cầu thay đổi mật khẩu root.

Về root

Tài khoản root là người dùng quản trị trong môi trường Linux với quyền hạn rất rộng. Vì quyền hạn cao của tài khoản root, bạn được khuyến cáo không nên sử dụng nó hàng ngày. Điều này bởi vì tài khoản root có khả năng thực hiện những thay đổi rất nguy hiểm, ngay cả khi xảy ra do nhầm lẫn.

Bước tiếp theo là thiết lập một tài khoản người dùng mới với quyền hạn giảm bớt cho công việc hàng ngày. Sau này, chúng tôi sẽ chỉ cho bạn cách tạm thời nâng quyền khi cần thiết.

Bước 2 — Tạo Tài Khoản Người Dùng Mới Ubuntu 20.04

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

Ví dụ dưới đây tạo ra một tài khoản người dùng mới có tên sammy; bạn nên thay thế bằng tên người dùng mà bạn ưa thích:

adduser sammy

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

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

Bước 3 — Cấp Quyền Quản Trị

Hiện tại, bạn đã có một tài khoản người dùng mới với quyền hạn thông thường. Tuy nhiên, đôi khi bạn cần thực hiện các tác vụ quản trị.

Để tránh phải đăng xuất tài khoản thường và đăng nhập lại với tài khoản root, bạn có thể thiết lập quyền “superuser” (hay quyền root) cho tài khoản thường của bạn. Điều này cho phép người dùng thông thường chạy các lệnh với quyền quản trị bằng cách thêm từ sudo vào trước lệnh.

Để cấp quyền này cho tài khoản mới, bạn cần thêm người dùng đó vào nhóm sudo. Mặc định trên Ubuntu 20.04, những người dùng thuộc nhóm sudo được phép sử dụng lệnh sudo.

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

usermod -aG sudo sammy

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

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ỉ những kết nối tới các dịch vụ nhất định được phép. Chúng ta có thể thiết lập tường lửa cơ bản sử dụng ứng dụng này.

Lưu ý: Nếu máy chủ của bạn đang chạy trên DataOnline, bạn có thể lựa chọn sử dụng DataOnline Cloud Firewalls thay vì tường lửa UFW. Chúng tôi khuyến nghị chỉ sử dụng một tường lửa tại một thời điểm để tránh các quy tắc mâu thuẫn gây khó khăn trong việc gỡ lỗi.

Các ứng dụng có thể đăng ký profile của chúng với UFW khi được cài đặt. Những profile này cho phép UFW quản lý các ứng dụng theo tên. Dịch vụ OpenSSH, dịch vụ cho phép bạn kết nối vào máy chủ, đã được đăng ký với UFW.

Bạn có thể xem danh sách các profile ứng dụng bằng lệnh:

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 để bạn có thể đăng nhập lại lần sau. Cho phép các kết nối này bằng lệnh:

ufw allow OpenSSH

Sau đó, kích hoạt tường lửa bằng lệnh:

ufw enable

Nhập y và nhấn ENTER để tiếp tục. Bạn có thể kiểm tra lại rằng kết nối SSH vẫn được phép bằng lệnh:

ufw status

Output

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Vì 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à cấu hình thêm các dịch vụ khác, 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 vào. Bạn có thể tìm hiểu thêm các thao tác cơ bản với UFW trong hướng dẫn “Các Quy Tắc và Lệnh Tường Lửa Thông Dụng”.

setup UFW ubuntu

Bước 5 — Cho Phép Truy Cập Từ Bên Ngoài Cho Tài Khoản Người Dùng Thông Thường

Bây giờ, khi đã có tài khoản người dùng thông thường cho công việc hàng ngày, bạn cần đảm bảo rằng bạn có thể đăng nhập SSH trực tiếp vào tài khoản đó.

Lưu ý: Cho đến khi bạn xác minh rằng có thể đăng nhập và sử dụng sudo với tài khoản người dùng mới, chúng tôi khuyến nghị giữ đăng nhập với tư cách root. Bằng cách này, nếu gặp sự cố, bạn có thể khắc phục và thực hiện các thay đổi cần thiết với tư cách root. Nếu bạn đang sử dụng Droplet của DataOnline và gặp sự cố với kết nối SSH của root, bạn có thể lấy lại quyền truy cập Droplet bằng Recovery Console.

Quá trình cấu hình truy cập SSH cho tài khoản người dùng mới phụ thuộc vào việc tài khoản root của máy chủ 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 Bằng Mật Khẩu

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

ssh sammy@your_server_ip

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

sudo command_to_run

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

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

Nếu Tài Khoản root Sử Dụng Xác Thực Bằng 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 đã bị tắt cho SSH. Bạn sẽ cần thêm một bản sao của public key cục bộ vào tệp ~/.ssh/authorized_keys của tài khoản người dùng mới để đăng nhập thành công.

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

Phương pháp đơn giản nhất để sao chép các tệp với quyền sở hữu và phân quyền chính xác là sử dụng lệnh rsync. Lệnh này sẽ sao chép thư mục .ssh của root, bảo toàn quyền truy cập và thay đổi chủ sở hữu của các tệp, tất cả trong một lệnh duy nhất. Hãy chắc chắn thay thế các phần được đánh dấu bằng tên người dùng thông thường của bạn.

Lưu ý: Lệnh rsync phân biệt các nguồn và đích kết thúc bằng dấu gạch chéo (trailing slash) khác với những trường hợp không có dấu gạch chéo. Khi sử dụng rsync dưới đây, hãy chắc chắn rằng thư mục nguồn (~/.ssh) không có dấu gạch chéo ở cuối (đảm bảo bạn không dùng ~/.ssh/). Nếu bạn vô tình thêm dấu gạch chéo, rsync sẽ sao chép nội dung của thư mục ~/.ssh của root vào thư mục home của người dùng sudo thay vì sao chép toàn bộ cấu trúc thư mục .ssh. Các tệp sẽ bị đặt sai vị trí và SSH sẽ không thể tìm thấy cũng như sử dụng chúng.

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

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

ssh sammy@your_server_ip

Bạn sẽ được đăng nhập vào tài khoản người dùng mới mà không cần nhập mật khẩu. Nhớ rằng, nếu bạn cần chạy lệnh với quyền quản trị, hãy gõ sudo trước lệnh, ví dụ:

sudo command_to_run

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

Hướng Đi Tiếp Theo

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 cần thiết trên máy chủ ngay bây giờ.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *