เอกสาร
เริ่มต้นอย่างรวดเร็ว + คำอธิบายฟังก์ชันของแต่ละส่วนและแต่ละอุปกรณ์ (อัปเดตต่อเนื่อง)
ระบบและดิสโทรที่รองรับ
บทความนี้อธิบายว่า SSH Everywhere รองรับการจัดการดิสโทร Linux อุปกรณ์ และระบบใดบ้าง รวมถึงความครบถ้วนของฟังก์ชันที่แตกต่างกันในแต่ละระบบ
เข้าใจในประโยคเดียว
แกนหลักของ SSH Everywhere คือ การเชื่อมต่อ SSH + รันคำสั่งระยะไกล ดังนั้น Linux ใดก็ตามที่ติดตั้งบริการ SSH (sshd) ไว้ก็เชื่อมต่อเข้ามาได้ แต่ความครบถ้วนของฟังก์ชันเป็นแบบแบ่งชั้น — ขึ้นอยู่กับว่าเครื่องเป้าหมายมี systemd, python3 หรือไม่ และใช้ตัวจัดการแพ็กเกจอะไร
การรองรับแบบแบ่งชั้น
✅ ชั้นที่หนึ่ง: รองรับเต็มรูปแบบ (แนะนำ ใช้ได้ทุกฟังก์ชัน)
ดิสโทร systemd กระแสหลัก ฟังก์ชันต่อไปนี้ใช้ได้ทั้งหมด: การตรวจสุขภาพ การป้องกันการล่ม (systemd เริ่มอัตโนมัติเมื่อบูต + ดึงกลับอัตโนมัติเมื่อล่ม) Agent ทะลุ การจัดการ Docker การจัดการไฟล์ การจัดการโปรเซส งานตามกำหนดการ การจัดการเว็บไซต์
| ดิสโทร | ตัวจัดการแพ็กเกจ | คำอธิบาย |
|---|---|---|
| Debian / Ubuntu (รวม Raspbian ของ Raspberry Pi) | apt | แนะนำที่สุด เข้ากันได้ดีที่สุด |
| CentOS / RHEL / Rocky / AlmaLinux | yum / dnf | กระแสหลักของเซิร์ฟเวอร์ |
| Fedora | dnf | ค่อนข้างใหม่ |
| Arch / Manjaro | pacman | อัปเดตแบบหมุนเวียน |
| openSUSE | zypper |
✅ ชั้นที่สอง: เกือบครบถ้วน ขาดแค่การป้องกันการล่มที่ไม่มีเริ่มอัตโนมัติเมื่อบูต
ดิสโทรน้ำหนักเบาที่ไม่มี systemd การป้องกันการล่มจะถอยกลับไปรันแบบ nohup อัตโนมัติ (มอนิเตอร์ได้ปกติ แต่หลังรีสตาร์ตจะไม่ดึงเดมอนกลับขึ้นมาอัตโนมัติ) ฟังก์ชันอื่นทำงานปกติ
| ดิสโทร | ตัวจัดการแพ็กเกจ | คำอธิบาย |
|---|---|---|
| Alpine | apk | เบามาก (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 ได้