เอกสาร

เริ่มต้นอย่างรวดเร็ว + คำอธิบายฟังก์ชันของแต่ละส่วนและแต่ละอุปกรณ์ (อัปเดตต่อเนื่อง)

ระบบและดิสโทรที่รองรับ

บทความนี้อธิบายว่า SSH Everywhere รองรับการจัดการดิสโทร Linux อุปกรณ์ และระบบใดบ้าง รวมถึงความครบถ้วนของฟังก์ชันที่แตกต่างกันในแต่ละระบบ

เข้าใจในประโยคเดียว

แกนหลักของ SSH Everywhere คือ การเชื่อมต่อ SSH + รันคำสั่งระยะไกล ดังนั้น Linux ใดก็ตามที่ติดตั้งบริการ SSH (sshd) ไว้ก็เชื่อมต่อเข้ามาได้ แต่ความครบถ้วนของฟังก์ชันเป็นแบบแบ่งชั้น — ขึ้นอยู่กับว่าเครื่องเป้าหมายมี systemd, python3 หรือไม่ และใช้ตัวจัดการแพ็กเกจอะไร

การรองรับแบบแบ่งชั้น

✅ ชั้นที่หนึ่ง: รองรับเต็มรูปแบบ (แนะนำ ใช้ได้ทุกฟังก์ชัน)

ดิสโทร systemd กระแสหลัก ฟังก์ชันต่อไปนี้ใช้ได้ทั้งหมด: การตรวจสุขภาพ การป้องกันการล่ม (systemd เริ่มอัตโนมัติเมื่อบูต + ดึงกลับอัตโนมัติเมื่อล่ม) Agent ทะลุ การจัดการ Docker การจัดการไฟล์ การจัดการโปรเซส งานตามกำหนดการ การจัดการเว็บไซต์

ดิสโทรตัวจัดการแพ็กเกจคำอธิบาย
Debian / Ubuntu (รวม Raspbian ของ Raspberry Pi)aptแนะนำที่สุด เข้ากันได้ดีที่สุด
CentOS / RHEL / Rocky / AlmaLinuxyum / dnfกระแสหลักของเซิร์ฟเวอร์
Fedoradnfค่อนข้างใหม่
Arch / Manjaropacmanอัปเดตแบบหมุนเวียน
openSUSEzypper

✅ ชั้นที่สอง: เกือบครบถ้วน ขาดแค่การป้องกันการล่มที่ไม่มีเริ่มอัตโนมัติเมื่อบูต

ดิสโทรน้ำหนักเบาที่ไม่มี systemd การป้องกันการล่มจะถอยกลับไปรันแบบ nohup อัตโนมัติ (มอนิเตอร์ได้ปกติ แต่หลังรีสตาร์ตจะไม่ดึงเดมอนกลับขึ้นมาอัตโนมัติ) ฟังก์ชันอื่นทำงานปกติ

ดิสโทรตัวจัดการแพ็กเกจคำอธิบาย
Alpineapkเบามาก (busybox + musl) การติดตั้ง Agent ทะลุปรับให้เข้ากับ apk แล้ว

✅ ชั้นที่สาม: รองรับแบบพิเศษ (ไม่ใช่ Linux แบบดั้งเดิม แต่ก็ใช้ได้)

ระบบระดับการรองรับ
Android / Termuxสคริปต์ติดตั้งคลิกเดียวเฉพาะทาง (ติดตั้ง Agent + เริ่มพร้อม Termux ให้อัตโนมัติ) การตรวจสุขภาพระบุรุ่นอุปกรณ์ / เวอร์ชัน Android ได้
FreeBSDการตรวจสุขภาพมีสาขาเฉพาะ (freebsd-version / sysctl / vm_stat) แต่ฟังก์ชันที่เกี่ยวกับ Docker และ systemd ใช้ไม่ได้
macOSเชื่อมต่อได้ การตรวจสุขภาพระบุได้ (sw_vers / vm_stat) ใช้เป็นเครื่องทดสอบเป็นหลัก

เงื่อนไขจำเป็นสองข้อ

1. python3: เดมอนป้องกันการล่มและ Agent ทะลุต่างต้องการให้เครื่องเป้าหมายมี python3 ดิสโทรกระแสหลักเกือบทั้งหมดมีมาให้อยู่แล้ว หรือติดตั้งในคลิกเดียวได้

2. ตัวจัดการแพ็กเกจ: สคริปต์ติดตั้งไลบรารีของ Agent ทะลุปรับให้เข้ากับตัวจัดการแพ็กเกจสามแบบ apt / yum-dnf / apk แล้ว ดิสโทรที่ใช้ตัวจัดการแพ็กเกจอื่น (pacman, zypper) ไลบรารีเข้ารหัสของ Agent อาจต้องติดตั้งเอง — ไม่ติดตั้งก็ยังใช้งานได้ตามปกติ เพียงแต่อุโมงค์จะวิ่งในโหมดข้อความธรรมดา

จะตัดสินได้อย่างไรว่าเซิร์ฟเวอร์เครื่องหนึ่งอยู่ชั้นไหน

หลังเชื่อมต่อเข้าแผงควบคุม เปิด «แผงจัดการระบบ» ของเซิร์ฟเวอร์นั้น แล้วดูสัญญาณสำคัญสองสามอย่าง:

สัญญาณคำอธิบาย
การตรวจสุขภาพแสดงรุ่น CPU / หน่วยความจำ / ดิสก์อย่างน้อยรองรับชั้นที่หนึ่งหรือชั้นที่สาม
ข้อมูลระบบแสดง «FreeBSD» / «macOS» / «Android»ตรงกับชั้นที่สาม
หลังติดตั้งการป้องกันการล่มแสดงป้าย «เริ่มอัตโนมัติเมื่อบูต»แสดงว่ามี systemd (ชั้นที่หนึ่ง)
หลังติดตั้งการป้องกันการล่มไม่มีป้าย «เริ่มอัตโนมัติเมื่อบูต»ไม่มี systemd ถอยกลับไปใช้ nohup แล้ว (ชั้นที่สอง)

คำอธิบายศัพท์

  • systemd: ตัวจัดการระบบและบริการของ Linux สมัยใหม่ รับผิดชอบการเริ่มเมื่อบูตและการจัดการบริการ ต้องมี systemd จึงจะทำ «เริ่มอัตโนมัติเมื่อบูต» ได้
  • ตัวจัดการแพ็กเกจ: เครื่องมือติดตั้งซอฟต์แวร์บน Linux เช่น apt (Debian/Ubuntu), yum/dnf (CentOS/RHEL), apk (Alpine), pacman (Arch)

เมทริกซ์การทดสอบที่แนะนำ

หากคุณต้องการเปิดเครื่องสักสองสามเครื่องเพื่อตรวจสอบความเข้ากันได้ของระบบต่าง ๆ แนะนำให้เลือกตัวแทนตาม «ตัวจัดการแพ็กเกจ + ระบบ init» อย่างละหนึ่ง เพื่อครอบคลุมกว้างที่สุด:

1. Debian 12 (apt + systemd) — มาตรฐานกระแสหลักที่สุด

2. Rocky Linux 9 หรือ CentOS Stream (dnf + systemd) — ตระกูล RHEL

3. Alpine (apk + ไม่มี systemd) — เส้นทางเบา + ถอยกลับด้วย nohup

4. Ubuntu 22.04/24.04 (apt + systemd) — ใช้กันมากที่สุด

สี่ตัวนี้ครอบคลุมตัวจัดการแพ็กเกจสามแบบ + รูปแบบ init ที่มี/ไม่มี systemd สองแบบ เพียงพอเป็นตัวแทนสถานการณ์กระแสหลักของเซิร์ฟเวอร์ Linux ได้