−25%

cho Windows trả theo năm, đến 31/10. Xem các gói

EQVPS
Bắt đầu

Cách thiết lập VPS Rocky Linux: những bước đầu tiên sau khi có quyền root

Mười phút đầu tiên trên VPS Rocky Linux 9 mới: cập nhật bằng dnf, tạo người dùng sudo với khóa SSH của bạn, tắt đăng nhập root và đăng nhập bằng mật khẩu, firewalld và cập nhật bảo mật tự động. Mọi lệnh đều đã chạy thử trên image của chúng tôi.

Rocky Linux 9 là lựa chọn miễn phí tương thích RHEL: cùng các gói, cùng dnf, cùng firewalld và SELinux. Nếu bạn từng thiết lập Debian hoặc Ubuntu, thứ tự các bước là như nhau; chỉ công cụ là khác. Đây là mười phút đầu tiên trên một server Rocky 9 mới.

Chúng tôi đã chạy từng lệnh dưới đây trên image Rocky Linux 9 của mình trước khi đăng. Trên một server sạch, toàn bộ quy trình mất vài phút.

1. Cập nhật hệ thống

Đăng nhập bằng root với mật khẩu trong bảng điều khiển và cập nhật:

dnf -y upgrade

Trên image của chúng tôi, bước này chỉ mất vài giây khi thử, vì image đã được cập nhật sẵn.

2. Tạo người dùng sudo và thêm khóa SSH

Trên Rocky, nhóm quản trị là wheel, không phải sudo:

useradd -m -G wheel deploy
passwd deploy                      # sudo will ask for this password

Đưa khóa công khai của bạn lên server (cách tạo khóa). Nếu bạn đã chép nó vào /root/key.pub:

install -d -m 700 -o deploy -g deploy /home/deploy/.ssh
install -m 600 -o deploy -g deploy /root/key.pub /home/deploy/.ssh/authorized_keys
restorecon -R /home/deploy/.ssh

restorecon gắn các nhãn SELinux mà sshd cần. Nếu nhãn sai, đăng nhập bằng khóa sẽ thất bại mà không báo lỗi rõ ràng.

Mở cửa sổ terminal thứ hai và kiểm tra rằng ssh deploy@YOUR.SERVER.IP hoạt động và sudo -v chấp nhận mật khẩu. Giữ phiên root mở cho đến lúc đó.

3. Tắt đăng nhập root và đăng nhập bằng mật khẩu

Ở bước này Rocky khác với cách sửa sshd_config thông thường. Thiết lập nằm trong các tệp riêng ở /etc/ssh/sshd_config.d/, và sshd lấy giá trị đầu tiên nó tìm thấy. Trên image của chúng tôi, tệp đầu tiên là 00-eqvps.conf, cho phép root và mật khẩu để bạn vào được ngày đầu. Hãy sửa ở đó:

sed -i -e 's/^PermitRootLogin .*/PermitRootLogin no/' \
       -e 's/^PasswordAuthentication .*/PasswordAuthentication no/' \
       /etc/ssh/sshd_config.d/00-eqvps.conf
sshd -t && systemctl reload sshd
sshd -T | grep -E '^(permitrootlogin|passwordauthentication) '

Lệnh cuối cho biết sshd thực sự áp dụng gì. Bạn cần thấy:

permitrootlogin no
passwordauthentication no

Từ đây ssh root@… bị từ chối kể cả khi có khóa, còn deploy chỉ vào được bằng khóa.

4. Tường lửa: firewalld

Image cloud không có sẵn firewalld. Cài đặt, khởi động và chỉ để mở những gì cần:

dnf -y install firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --remove-service=cockpit
firewall-cmd --reload
firewall-cmd --list-services

Vùng mặc định mở cockpit (cổng 9090) và dhcpv6-client. Cockpit không được cài, nhưng không có lý do gì để cổng của nó mở. Khi thêm ứng dụng, mở cổng của nó theo cùng cách, ví dụ firewall-cmd --permanent --add-service=https.

5. Cập nhật bảo mật tự động

dnf-automatic tải bản cập nhật theo bộ hẹn giờ. Mặc định nó không cài chúng, nên hãy bật việc cài đặt:

dnf -y install dnf-automatic
sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.conf
systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer

Nếu chỉ muốn bản vá bảo mật, đặt thêm upgrade_type = security trong cùng tệp.

6. Giữ SELinux bật

getenforce hiển thị Enforcing trên server mới, và mọi bước ở trên đều chạy với nó. Khi ứng dụng cần cổng hoặc thư mục không chuẩn, cách xử lý là gắn nhãn (semanage port, restorecon), không phải setenforce 0.

Chọn gói nào

Rocky 9 dùng khoảng 400 MB RAM khi rảnh. Gói Nano (1 GB, $3/tháng) đủ cho một dịch vụ nhỏ; Micro (2 GB, $5/tháng) còn chỗ cho cơ sở dữ liệu. Ở các gói NAT, SSH vào qua một cổng riêng hiển thị trong bảng điều khiển. Nếu bạn cần cổng 80/443 mở cho mọi người, hãy chọn gói có IPv4 riêng, như Micro-IP giá $10/tháng.

Rocky Linux 9 là một trong các image trên trang dòng RHEL và có trên mọi gói trong mục VPS. Thanh toán bằng USDT, USDC hoặc ETH trên mạng Base, Ethereum hoặc Polygon, không cần giấy tờ hay thẻ. Nếu bạn muốn điều khiển server bằng script, tài liệu API mô tả việc đặt hàng, cài lại và gia hạn.

FAQ

Rocky Linux có giống RHEL không?

Rocky được build từ cùng mã nguồn và hướng tới tương thích hoàn toàn với Red Hat Enterprise Linux 9, nên hướng dẫn, gói và thói quen của RHEL (dnf, firewalld, SELinux) đều áp dụng được. Bạn không cần gói đăng ký Red Hat.

Vì sao thay đổi SSH của tôi không có tác dụng trên Rocky?

Rocky đọc các tệp trong /etc/ssh/sshd_config.d/ theo thứ tự tên, và với mỗi thiết lập thì giá trị đầu tiên tìm thấy sẽ thắng. Trên image của chúng tôi, tệp đầu tiên là 00-eqvps.conf, nên hãy sửa thiết lập ở đó và kiểm tra kết quả bằng sshd -T trước khi đóng phiên.

Có nên tắt SELinux không?

Không. Trên bản cài mới, SELinux ở chế độ Enforcing và mọi bước ở đây đều chạy được với nó. Nếu bạn tạo tệp cho SSH hoặc web server ở vị trí khác thường, chạy restorecon -R trên đường dẫn đó sẽ sửa nhãn. Tắt SELinux vì một lỗi nhãn là bỏ đi một lớp bảo vệ thật sự.

Tôi có thể đổi cổng SSH không?

Trên gói có IPv4 riêng thì được, miễn là bạn cũng cho phép cổng mới trong firewalld và SELinux. Trên gói NAT, hãy để sshd ở cổng 22: cổng ngoài riêng của bạn đã được chuyển tiếp tới cổng 22 bên trong server, và dời sshd sẽ làm hỏng việc chuyển tiếp đó.

Gói nào là đủ cho Rocky Linux?

Rocky 9 dùng khoảng 400 MB RAM khi rảnh, nên Nano 1 GB đủ cho một dịch vụ nhỏ. Nếu có cơ sở dữ liệu hoặc container, Micro 2 GB sẽ thoải mái hơn.

Bình luận

Chưa có bình luận nào. Hãy là người đầu tiên.

Để lại bình luận

Bình luận được kiểm duyệt trước khi hiển thị.