Khi khởi tạo một máy chủ Ubuntu mới, việc thực hiện các bước cấu hình cơ bản ngay từ đầu là rất quan trọng để đảm bảo hệ thống hoạt động ổn định, an toàn và hiệu quả. Quá trình thiết lập ban đầu không chỉ tăng cường bảo mật, ngăn chặn truy cập trái phép mà còn nâng cao khả năng quản trị và tối ưu hóa hiệu suất của máy chủ. Những bước này tạo nền tảng vững chắc cho việc triển khai các ứng dụng và dịch vụ một cách linh hoạt trong môi trường sản xuất.
Trong quá trình cấu hình, bạn có thể thực hiện các biện pháp như thiết lập tường lửa, tạo tài khoản người dùng với quyền hạn phù hợp, kích hoạt xác thực SSH an toàn và cập nhật hệ thống thường xuyên để bảo vệ máy chủ khỏi các lỗ hổng bảo mật. Những điều chỉnh này giúp bạn kiểm soát hệ thống một cách hiệu quả và giảm thiểu rủi ro khi vận hành máy chủ trong môi trường thực tế.
Ngoài ra, nếu bạn đang tìm kiếm giải pháp triển khai nhanh chóng, hãy cân nhắc sử dụng DataOnline để triển khai trực tiếp ứng dụng từ GitHub. Nền tảng này không chỉ đơn giản hóa quy trình triển khai mà còn hỗ trợ tự động mở rộng quy mô, giúp ứng dụng của bạn hoạt động mượt mà ngay cả khi lưu lượng truy cập và tải xử lý tăng cao.
Bước 1 – Đăng nhập với tư cách 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ủ. Ngoài ra, nếu bạn đã cài đặt SSH key để xác thực, bạn sẽ cần mật khẩu hoặc Private Key của tài khoản root. Nếu bạn chưa đăng nhập vào máy chủ, hãy tham khảo hướng dẫn của chúng tôi về cách kết nối với Droplets qua SSH, hướng dẫn này sẽ trình bày quá trình một cách chi tiết.
Nếu bạn chưa kết nối tới máy chủ, hãy đăng nhập với tư cách root bằng lệnh sau. Thay thế phần your_server_ip (được làm nổi bật) bằng địa chỉ IP công khai của máy chủ bạn:
ssh root@your_server_ip
Chấp nhận cảnh báo về tính xác thực của host nếu có 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 nhập mật khẩu root để đăng nhập. Nếu bạn sử dụng SSH key được bảo vệ bởi passphrase, có thể bạn sẽ cần nhập passphrase lần đầu tiên sử dụng khóa trong mỗi phiên. Nếu đây là lần đầu tiên bạn đăng nhập bằng mật khẩu, bạn cũng có thể được yêu cầu thay đổi mật khẩu root. Hãy làm theo hướng dẫn để thay đổi mật khẩu nếu được nhắc.
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 cao. Vì quyền hạn vượt trội của tài khoản này, bạn không nên sử dụng root cho các tác vụ hàng ngày. Một thao tác sai sót có thể gây ra những thay đổi nghiêm trọng, thậm chí là 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 quyền hạn hạn chế cho công việc thường nhật. Sau này, khi cần quyền quản trị, bạn sẽ biết cách tạm thời nâng quyền cho tài khoản này.
Bước 2 – Tạo tài khoản người dùng mới
Sau khi đăng nhập với tư cách root, bạn có thể tạo tài khoản người dùng mới. Trong tương lai, bạn sẽ đăng nhập bằng tài khoản này thay vì dùng root.
Ví dụ dưới đây tạo một tài khoản người dùng có tên là sammy – bạn nên thay thế “sammy” bằng tên người dùng mà bạn ưa thích:
adduser sammy
Bạn sẽ được hỏi một số câu hỏi, bắt đầu với việc nhập mật khẩu cho tài khoản. Hãy nhập mật khẩu mạnh và, nếu muốn, điền thêm các thông tin bổ sung. Những thông tin 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ị
Bây giờ, bạn đã có 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 sẽ cần thực hiện các tác vụ quản trị với quyền của root.
Để tránh việc phải đăng xuất khỏi tài khoản người dùng thường và đăng nhập lại bằng root, bạn có thể thiết lập quyền superuser (quyền root) cho tài khoản của mình. Nhờ đó, bạn có thể chạy các lệnh với quyền quản trị bằng cách thêm từ sudo trước lệnh.
Để cấp quyền này cho người dùng mới, bạn cần thêm tài khoản đó vào nhóm hệ thống sudo. Theo mặc định trên Ubuntu, các người dùng thuộc nhóm sudo đều đượ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 vào nhóm sudo (thay thế tên sammy được làm nổi bật bằng tên tài khoản của bạn):
usermod -aG sudo sammy
Bây giờ, khi đăng nhập bằng tài khoản người dùng thường, bạn có thể chạy lệnh với quyền quản trị bằng cách nhập sudo trước lệnh.
Bước 4 – Thiết lập tường lửa
Máy chủ Ubuntu có thể sử dụng tường lửa UFW để đảm bảo chỉ cho phép các kết nối đến những dịch vụ được chỉ định. Bạn có thể thiết lập một tường lửa cơ bản bằ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ể tùy chọn sử dụng Cloud Firewalls của DataOnline thay cho 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ý hồ sơ của chúng với UFW khi được cài đặt. Các hồ sơ này cho phép UFW quản lý ứng dụng theo tên. Ví dụ, OpenSSH – dịch vụ cho phép bạn kết nối vào máy chủ – đã có một hồ sơ đăng ký với UFW. Bạn có thể xem danh sách các hồ sơ UFW đã cài đặt bằng cách nhập:
ufw app list
Bây giờ, kích hoạt tường lửa bằng cách nhập:
ufw enable
Nhập y và nhấn ENTER để tiếp tục. Bạn có thể kiểm tra rằng các kết nối SSH vẫn được cho phép bằng cách nhập:
ufw status
Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Hiện tại, tường lửa đ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 dịch vụ mới, hãy điều chỉnh cài đặt tường lửa để cho phép lưu lượng truy cập đến máy chủ. Bạn có thể tham khảo hướng dẫn UFW Essentials của chúng tôi để tìm hiểu một số thao tác cơ bản với UFW.
Bước 5 – Cho phép truy cập bên ngoài cho tài khoản người dùng thường
Giờ đây, khi bạn đã có tài khoản người dùng thường dùng cho công việc hàng ngày, bạn cần đảm bảo rằng có thể đăng nhập SSH trực tiếp vào tài khoản đó.
Lưu ý: Cho đến khi xác nhận rằng bạn 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. Nếu gặp vấn đề khi kết nối, bạn có thể khắc phục và điều chỉnh cần thiết với tư cách root. Nếu bạn sử dụng DataOnline Droplet và gặp trục trặc với kết nối SSH root, bạn có thể lấy lại quyền truy cập vào Droplets bằng cách sử dụng Recovery Console.
Cách cấu hình truy cập SSH cho tài khoản 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 keys để 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 thì xác thực bằng mật khẩu đã được kích hoạt cho SSH. Bạn có thể đăng nhập 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 SSH 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, bạn sẽ được đăng nhập. Nhớ rằng, nếu cần chạy lệnh với quyền quản trị, hãy nhập sudo trước lệnh, ví dụ:
sudo command_to_run
Bạn sẽ được nhắc nhập mật khẩu của tài khoản người dùng thường khi sử dụng sudo lần đầu trong mỗi phiên (và định kỳ sau đó).
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 keys, thì xác thực bằng mật khẩu sẽ bị vô hiệu hóa cho SSH. Để đăng nhập với tư cách tài khoản người dùng thường bằng SSH key, bạn cần thêm một bản sao của public key cục bộ của bạn vào tập tin ~/.ssh/authorized_keys
của người dùng mới.
Vì public key của bạn đã có trong tập tin ~/.ssh/authorized_keys
của tài khoản root trên máy chủ, bạn có thể sao chép tập tin và cấu trúc thư mục đó sang tài khoản người dùng mới bằng phiên làm việc hiện tại.
Cách đơn giản nhất để sao chép các tập tin với quyền sở hữu và phân quyền đúng 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 các phân quyền và thay đổi chủ sở hữu của các tập tin – tất cả chỉ với một lệnh duy nhất. Hãy đảm bảo thay đổi các phần được làm nổi bật dưới đây để khớp với tên tài khoản người dùng thường của bạn:
Lưu ý: Lệnh rsync xử lý nguồn và đích kết thúc bằng dấu gạch chéo khác với những nguồn không có dấu gạch chéo. Khi sử dụng rsync dưới đây, hãy đảm bảo rằng thư mục nguồn (
~/.ssh
) không có dấu gạch chéo ở cuối (kiểm tra kỹ để đảm bảo bạn không sử dụng~/.ssh/
).
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
Bây giờ, mở một phiên terminal mới trên máy tính của bạn và đăng nhập bằng tên người dùng mới:
ssh sammy@your_server_ip
Bạn sẽ được kết nối tới máy chủ với tài khoản người dùng mới mà không cần dùng mật khẩu. Nhớ rằng, nếu cần chạy lệnh với quyền quản trị, hãy nhập sudo trước lệnh như sau:
sudo command_to_run
Bạn sẽ được nhắc nhập mật khẩu của tài khoản người dùng thường khi sử dụng sudo lần đầu trong mỗi phiên.
Hướng đi tiếp theo
Tại thời điểm này, bạn đã hoàn tất quá trình thiết lập cơ bản, tạo ra một nền tảng vững chắc để vận hành máy chủ một cách an toàn và hiệu quả. Với cấu hình bảo mật và quản trị hệ thống đã được tối ưu hóa, bạn có thể dễ dàng cài đặt các phần mềm cần thiết, triển khai ứng dụng hoặc thiết lập các dịch vụ khác theo nhu cầu.
Bước tiếp theo, bạn có thể khám phá các hướng dẫn chuyên sâu hơn về quản lý máy chủ, bảo mật hệ thống hoặc triển khai các công nghệ phổ biến như Docker, Kubernetes, hoặc cấu hình LAMP/LEMP stack để lưu trữ website và ứng dụng.