−25%

Windows รายปี ถึง 31 ต.ค. ดูแพ็กเกจ

EQVPS
เริ่มต้นใช้งาน

วิธีตั้งค่า VPS Rocky Linux: ขั้นตอนแรกหลังได้สิทธิ์ root

สิบนาทีแรกบน VPS Rocky Linux 9 ตัวใหม่: อัปเดตด้วย dnf สร้างผู้ใช้ sudo พร้อมคีย์ SSH ปิดการล็อกอิน root และการล็อกอินด้วยรหัสผ่าน เปิด firewalld และการอัปเดตความปลอดภัยอัตโนมัติ ทุกคำสั่งทดสอบบนอิมเมจของเราแล้ว

Rocky Linux 9 คือทางเลือกฟรีที่เข้ากันได้กับ RHEL: แพ็กเกจเดียวกัน dnf ตัวเดียวกัน firewalld และ SELinux ชุดเดียวกัน ถ้าคุณเคยตั้งค่า Debian หรือ Ubuntu มาแล้ว ลำดับขั้นตอนเหมือนกัน ต่างกันแค่เครื่องมือ นี่คือสิบนาทีแรกบนเซิร์ฟเวอร์ Rocky 9 ตัวใหม่

เรารันทุกคำสั่งด้านล่างบนอิมเมจ Rocky Linux 9 ของเราก่อนเผยแพร่ บนเซิร์ฟเวอร์ที่ว่างเปล่า ทั้งหมดใช้เวลาไม่กี่นาที

1. อัปเดตระบบ

ล็อกอินเป็น root ด้วยรหัสผ่านจากแดชบอร์ด แล้วอัปเดต:

dnf -y upgrade

บนอิมเมจของเรา ขั้นนี้ใช้เวลาไม่กี่วินาทีตอนทดสอบ เพราะอิมเมจอัปเดตล่าสุดอยู่แล้ว

2. สร้างผู้ใช้ sudo และเพิ่มคีย์ SSH

บน Rocky กลุ่มผู้ดูแลระบบชื่อ wheel ไม่ใช่ sudo:

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

นำคีย์สาธารณะของคุณขึ้นเซิร์ฟเวอร์ (วิธีสร้างคีย์) ถ้าคุณคัดลอกไว้ที่ /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 ตั้งป้ายกำกับ SELinux ที่ sshd ต้องการ ถ้าป้ายผิด การล็อกอินด้วยคีย์จะล้มเหลวโดยไม่มีข้อความแจ้งข้อผิดพลาดที่ชัดเจน

เปิด เทอร์มินัลที่สอง แล้วตรวจว่า ssh deploy@YOUR.SERVER.IP ใช้ได้ และ sudo -v รับรหัสผ่าน อย่าปิดเซสชัน root จนกว่าจะเรียบร้อย

3. ปิดการล็อกอิน root และการล็อกอินด้วยรหัสผ่าน

ตรงนี้ Rocky ต่างจากการแก้ sshd_config แบบตำรา การตั้งค่าอยู่ในไฟล์แยกภายใต้ /etc/ssh/sshd_config.d/ และ sshd ใช้ค่า แรก ที่เจอ บนอิมเมจของเรา ไฟล์แรกคือ 00-eqvps.conf ซึ่งอนุญาต root และรหัสผ่านเพื่อให้คุณเข้าได้ในวันแรก ให้แก้ที่นั่น:

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) '

คำสั่งสุดท้ายแสดงสิ่งที่ sshd บังคับใช้จริง คุณควรเห็น:

permitrootlogin no
passwordauthentication no

หลังจากนี้ ssh root@… จะถูกปฏิเสธแม้ใช้คีย์ และ deploy ล็อกอินได้ด้วยคีย์เท่านั้น

4. ไฟร์วอลล์: firewalld

อิมเมจคลาวด์ไม่มี firewalld ให้ติดตั้ง เปิดใช้งาน และเปิดไว้เฉพาะที่จำเป็น:

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

โซนเริ่มต้นเปิด cockpit (พอร์ต 9090) และ dhcpv6-client Cockpit ไม่ได้ติดตั้งไว้ แต่ก็ไม่มีเหตุผลที่จะเปิดพอร์ตของมันทิ้งไว้ เมื่อเพิ่มแอป ให้เปิดพอร์ตของแอปแบบเดียวกัน เช่น firewall-cmd --permanent --add-service=https

5. อัปเดตความปลอดภัยอัตโนมัติ

dnf-automatic ดาวน์โหลดอัปเดตตามตัวตั้งเวลา โดยค่าเริ่มต้นจะไม่ติดตั้ง จึงต้องเปิดการติดตั้ง:

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

ถ้าต้องการเฉพาะแพตช์ความปลอดภัย ให้ตั้ง upgrade_type = security ในไฟล์เดียวกันด้วย

6. เปิด SELinux ไว้

บนเซิร์ฟเวอร์ใหม่ getenforce แสดง Enforcing และทุกอย่างข้างบนทำงานร่วมกับมันได้ เมื่อแอปต้องใช้พอร์ตหรือไดเรกทอรีที่ไม่มาตรฐาน วิธีแก้คือป้ายกำกับ (semanage port, restorecon) ไม่ใช่ setenforce 0

เลือกแพ็กเกจไหน

Rocky 9 ใช้ RAM ประมาณ 400 MB ตอนว่าง แพ็กเกจ Nano (1 GB, $3/เดือน) พอสำหรับบริการเล็ก ๆ หนึ่งตัว ส่วน Micro (2 GB, $5/เดือน) เหลือที่ให้ฐานข้อมูล บนแพ็กเกจ NAT การเชื่อมต่อ SSH เข้ามาทางพอร์ตส่วนตัวที่แสดงในแดชบอร์ด ถ้าต้องการพอร์ต 80/443 เปิดให้ทุกคน เลือกแพ็กเกจที่มี IPv4 ของตัวเอง เช่น Micro-IP ราคา $10/เดือน

Rocky Linux 9 เป็นหนึ่งในอิมเมจบน หน้าตระกูล RHEL และมีให้ในทุกแพ็กเกจในส่วน VPS ชำระเงินด้วย USDT, USDC หรือ ETH บนเครือข่าย Base, Ethereum หรือ Polygon ไม่ต้องใช้เอกสารหรือบัตร ถ้าคุณชอบควบคุมเซิร์ฟเวอร์ด้วยสคริปต์ เอกสาร API อธิบายการสั่งซื้อ การติดตั้งใหม่ และการต่ออายุ

คำถามที่พบบ่อย

Rocky Linux เหมือนกับ RHEL ไหม

Rocky สร้างจากซอร์สโค้ดชุดเดียวกันและตั้งเป้าเข้ากันได้เต็มที่กับ Red Hat Enterprise Linux 9 คู่มือ แพ็กเกจ และแนวทางของ RHEL (dnf, firewalld, SELinux) จึงใช้ได้ที่นี่ ไม่ต้องสมัครสมาชิก Red Hat

ทำไมการแก้ SSH ของฉันไม่มีผลบน Rocky

Rocky อ่านไฟล์ใน /etc/ssh/sshd_config.d/ ตามลำดับชื่อ และสำหรับแต่ละการตั้งค่า ค่าแรกที่เจอจะชนะ บนอิมเมจของเรา ไฟล์แรกคือ 00-eqvps.conf จึงต้องแก้การตั้งค่าที่นั่น และตรวจผลด้วย sshd -T ก่อนปิดเซสชัน

ควรปิด SELinux ไหม

ไม่ควร บนการติดตั้งใหม่ SELinux อยู่ในโหมด Enforcing และทุกขั้นตอนที่นี่ทำงานร่วมกับมันได้ ถ้าคุณสร้างไฟล์ให้ SSH หรือเว็บเซิร์ฟเวอร์ในตำแหน่งแปลก ๆ คำสั่ง restorecon -R บนพาธนั้นจะแก้ป้ายกำกับให้ การปิด SELinux เพราะปัญหาป้ายกำกับคือการทิ้งชั้นป้องกันจริง ๆ ไปหนึ่งชั้น

เปลี่ยนพอร์ต SSH ได้ไหม

บนแพ็กเกจที่มี IPv4 ของตัวเองทำได้ ขอเพียงอนุญาตพอร์ตใหม่ทั้งใน firewalld และ SELinux บนแพ็กเกจ NAT ให้คง sshd ไว้ที่ 22 เพราะพอร์ตภายนอกส่วนตัวของคุณถูกส่งต่อมาที่พอร์ต 22 ภายในเซิร์ฟเวอร์อยู่แล้ว การย้าย sshd จะทำให้การส่งต่อนั้นใช้ไม่ได้

แพ็กเกจไหนเพียงพอสำหรับ Rocky Linux

Rocky 9 ใช้ RAM ประมาณ 400 MB ตอนว่าง Nano ขนาด 1 GB จึงพอสำหรับบริการเล็ก ๆ ถ้ามีฐานข้อมูลหรือคอนเทนเนอร์ Micro ขนาด 2 GB จะสบายกว่า

ความคิดเห็น

ยังไม่มีความคิดเห็น เป็นคนแรกสิ

แสดงความคิดเห็น

ความคิดเห็นจะถูกตรวจสอบก่อนแสดง