เอกสาร
เริ่มต้นอย่างรวดเร็ว + คำอธิบายฟังก์ชันของแต่ละส่วนและแต่ละอุปกรณ์ (อัปเดตต่อเนื่อง)
คำถามที่พบบ่อย FAQ
บทความนี้รวบรวมปัญหาที่พบบ่อยที่สุดระหว่างการใช้แผงควบคุมและวิธีตรวจสอบ
การติดตั้งและการเข้าสู่ระบบ
Q: ติดตั้งแผงควบคุมต้องมีเงื่อนไขอะไรบ้าง?
เซิร์ฟเวอร์ Linux ที่มี IP สาธารณะ หนึ่งเครื่อง (แนะนำดิสโทรยอดนิยมอย่าง Debian / Ubuntu / CentOS) หน่วยความจำ 512MB ขึ้นไปก็รันได้ลื่น เซิร์ฟเวอร์ที่ถูกจัดการไม่ต้องติดตั้งอะไรเลย แค่ต้อง SSH เชื่อมได้ก็พอ
Q: บัญชีและรหัสผ่านเริ่มต้นคืออะไร?
บัญชีเริ่มต้น admin รหัสผ่าน 123456 โปรดเปลี่ยนทันทีหลังล็อกอินครั้งแรก (ไอคอนผู้ใช้มุมขวาบนของแผงควบคุม → ตั้งค่าผู้ใช้)
Q: ลืมรหัสผ่านเข้าสู่ระบบทำอย่างไร?
หากเปลี่ยนแล้วและลืม รีเซ็ตได้บนเซิร์ฟเวอร์แผงควบคุม รันคำสั่งต่อไปนี้เพื่อรีเซ็ตเป็นรหัสผ่านเริ่มต้น (หรือกำหนดรหัสผ่านใหม่):
# เข้าไดเรกทอรีติดตั้งแผงควบคุม ใช้สคริปต์ในตัวรีเซ็ตรหัสผ่าน
cd /opt/ssh-everywhere
python3 -c "from app import reset_password; reset_password('new-password')"
> ชื่อสคริปต์ที่แน่นอนอาจปรับตามเวอร์ชัน หรือแก้ตาราง users ในฐานข้อมูล data/ssheverywhere.db โดยตรงก็ได้
Q: เปลี่ยนพอร์ตของแผงควบคุม (5501) อย่างไร?
แก้ Environment=PORT=5501 ในบริการ systemd แล้วโหลดใหม่:
systemctl edit ssh-everywhere.service # เพิ่มหรือแก้ไข: Environment=PORT=your-port systemctl daemon-reload && systemctl restart ssh-everywhere.service
หลังแก้เสร็จอย่าลืมเปิดพอร์ตใหม่ในไฟร์วอลล์คลาวด์/security group
Q: เข้าถึงแผงควบคุมไม่ได้ (พอร์ต 5501)?
ตรวจสอบตามลำดับ:
1. ยืนยันว่าบริการแผงควบคุมกำลังทำงาน: systemctl status ssh-everywhere.service
2. ตรวจสอบว่าไฟร์วอลล์คลาวด์/security group ของเซิร์ฟเวอร์แผงควบคุมเปิด 5501 แล้วหรือยัง (นี่คือสาเหตุที่พบบ่อยที่สุด)
3. ยืนยันว่าที่อยู่ที่เข้าถึงคือ http://server-public-ip:5501 (ไม่ใช่ https เว้นแต่คุณตั้งค่า reverse proxy ไว้)
เกี่ยวกับเซิร์ฟเวอร์
Q: เซิร์ฟเวอร์แสดง «ออฟไลน์» ทำอย่างไร?
«ออฟไลน์» แค่บอกว่าแผงควบคุม SSH เชื่อมมันไม่ติด ไม่ได้แปลว่าเซิร์ฟเวอร์ล่ม ตรวจสอบตามลำดับ:
1. ยืนยันว่าเซิร์ฟเวอร์เองออนไลน์อยู่: ไปดูสถานะไฟเลี้ยงในคอนโซลของผู้ให้บริการเซิร์ฟเวอร์
2. ทดสอบว่าพอร์ต SSH เข้าถึงได้หรือไม่: รัน nc -zv <target-ip> <port> จากเซิร์ฟเวอร์แผงควบคุม ดูว่าพอร์ตผ่านหรือไม่
3. ตรวจไฟร์วอลล์/security group: ไฟร์วอลล์คลาวด์/security group ของเซิร์ฟเวอร์เป้าหมายเปิดพอร์ต SSH แล้วหรือยัง
4. เซิร์ฟเวอร์ NAT ตรวจการแมปพอร์ต: ยืนยันว่าการแมปพอร์ต NAT ยังอยู่, IP ภายในเป้าหมายถูกต้อง
5. ตรวจ whitelist ของ IP ต้นทาง: ผู้ให้บริการบางรายจำกัด IP ต้นทางของพอร์ต SSH ต้องเพิ่ม IP ของเซิร์ฟเวอร์แผงควบคุมเข้า whitelist
6. ตรวจบัญชีและรหัสผ่าน: ชื่อผู้ใช้, รหัสผ่าน/private key ถูกต้องหรือไม่
Q: เพิ่มเซิร์ฟเวอร์แล้วเชื่อมไม่ติด?
- ยืนยันว่าพอร์ต SSH, ชื่อผู้ใช้, รหัสผ่านถูกต้อง
- ยืนยันว่า
sshdของเซิร์ฟเวอร์เป้าหมายกำลังทำงาน - ยืนยันว่าไฟร์วอลล์เปิดพอร์ต SSH แล้ว
- คลาวด์รายใหญ่ (Tencent Cloud / Alibaba Cloud) ปิด root เป็นค่าเริ่มต้น โปรดล็อกอินด้วยผู้ใช้ทั่วไป (เช่น
ubuntu)
Q: เซิร์ฟเวอร์ NAT (พอร์ตที่ไม่ใช่ 22) เชื่อมไม่ติด?
การแมปพอร์ตของเซิร์ฟเวอร์ NAT ต้องเข้าถึงได้จากเครือข่ายที่เซิร์ฟเวอร์แผงควบคุมอยู่ สาเหตุที่พบบ่อย:
- การแมปพอร์ตใช้ไม่ได้ (ไปตรวจสอบ/สร้างใหม่ในคอนโซลของผู้ให้บริการ)
- ผู้ให้บริการทำ whitelist IP ต้นทางไว้ (เพิ่ม IP ของเซิร์ฟเวอร์แผงควบคุมเข้า whitelist)
- IP ภายใน/พอร์ตเป้าหมายที่แมปกรอกผิด
เกี่ยวกับทะลุพอร์ต / ส่งต่อพอร์ต
Q: ทะลุพอร์ตแสดง «ออฟไลน์»?
- การทะลุพึ่งพา Agent ออนไลน์ เมื่อ Agent ออฟไลน์ (อุปกรณ์ปิด, เครือข่ายขาด, Agent หยุด) การทะลุจะขาด
- หลังบริการแผงควบคุมรีสตาร์ท การทะลุจะกลับมาอัตโนมัติเมื่อ Agent เชื่อมใหม่ รอสักครู่ก็ได้
- ยืนยันว่าไฟร์วอลล์คลาวด์ของเซิร์ฟเวอร์แผงควบคุมเปิดพอร์ตที่ listen ไว้
Q: ส่งต่อพอร์ตที่ไม่ใช่ 22 ไม่ทำงาน?
การส่งต่อพอร์ตที่ไม่ใช่ SSH (เช่น 9117) ต้องให้เซิร์ฟเวอร์ทะลุติดตั้ง Agent เวอร์ชันใหม่ (เวอร์ชันเก่ารองรับแค่ 22) ติดตั้ง Agent ใหม่ก็ได้
Q: สร้างส่งต่อพอร์ตแล้วแต่ไม่ทำงาน?
การส่งต่อพอร์ตแบบดั้งเดิมต้องทำบนเครื่องเซิร์ฟเวอร์ที่มี IP สาธารณะเป็นของตัวเอง ตรวจสอบ:
1. เซิร์ฟเวอร์เป้าหมาย/ไฟร์วอลล์ตรงกลางเปิดพอร์ตเป้าหมายแล้วหรือยัง
2. IP เป้าหมายที่กรอกเป็นที่อยู่ที่เข้าถึงได้จริงหรือไม่
3. security group ของคลาวด์สกัดกั้นพอร์ตที่ listen ไว้หรือไม่
Q: ทะลุพอร์ตกับส่งต่อพอร์ตต่างกันอย่างไร?
- ทะลุพอร์ต: ใช้กับอุปกรณ์ที่ไม่มี IP สาธารณะ ผ่านอุโมงค์ย้อนกลับ เปิดพอร์ตสาธารณะบนเซิร์ฟเวอร์แผงควบคุม
- ส่งต่อพอร์ต: ใช้กับเซิร์ฟเวอร์ที่มี IP สาธารณะ ผ่าน DNAT ของไฟร์วอลล์ระบบ ทำบนเครื่องเซิร์ฟเวอร์เป้าหมายเอง
ดูรายละเอียดที่ ทะลุพอร์ต และ ส่งต่อพอร์ต
เกี่ยวกับ Docker / การติดตั้งแอป
Q: รวมแอป/Docker ติดตั้งล้มเหลวทำอย่างไร?
แผงควบคุมจะแสดงข้อความข้อผิดพลาดตามจริง (ไม่รายงานว่าสำเร็จเท็จ) สาเหตุที่พบบ่อย:
1. ดิสโทรที่เก่าเกินไป: เวอร์ชันที่ EOL แล้วอย่าง Fedora 32 แหล่งซอฟต์แวร์หยุดดูแล การติดตั้งจะหมดเวลาหรือล้มเหลว แนะนำให้อัปเกรดระบบ
2. เครือข่ายเข้าถึงไม่ได้: ซอร์สทางการของ Docker (get.docker.com / download.docker.com) ในบางสภาพเครือข่าย (เช่นเซิร์ฟเวอร์ NAT ในจีนแผ่นดินใหญ่) อาจเข้าถึงไม่ได้ ตอนนี้ต้องตั้งค่าตัวเร่งอิมเมจในประเทศของ Docker หรือใช้ฟังก์ชัน «เปลี่ยนแหล่งอิมเมจ» สลับไปซอร์ส Alibaba Cloud
3. ชื่อแพ็กเกจต่างกัน: แอปบางตัว (เช่น ufw, deb.nodesource ของ Node.js) พึ่งพาดิสโทรเฉพาะ อาจติดตั้งบนเครื่องที่ไม่ใช่ Debian/Ubuntu ไม่ได้ ข้อความข้อผิดพลาดจะแจ้งให้ชัดเจน
Q: เซิร์ฟเวอร์ในจีนแผ่นดินใหญ่ดึงอิมเมจ Docker ช้ามาก/หมดเวลา?
นี่เป็นปัญหาเครือข่าย ไม่ใช่ปัญหาแผงควบคุม แนะนำให้ตั้งค่าตัวเร่งอิมเมจ Docker (ตัวเร่งสาธารณะเช่น docker.1ms.run / docker.m.daocloud.io) หรือรันบนเซิร์ฟเวอร์ก่อน:
# อ้างอิง: ตั้งค่าตัวเร่งส่วนตัวของ Alibaba Cloud (ต้องแทนที่ด้วยที่อยู่ตัวเร่งของคุณ)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<'EOF'
{ "registry-mirrors": ["https://your-accelerator-address"] }
EOF
sudo systemctl restart docker
เทคนิคตรวจสอบทั่วไป
1. ทดสอบว่าพอร์ตผ่านก่อน แล้วจึงตรวจบัญชีและรหัสผ่าน: nc -zv <IP> <port>
2. เทียบกับเซิร์ฟเวอร์อื่น: เซิร์ฟเวอร์ประเภทเดียวกันเชื่อมได้ แต่เครื่องนี้เชื่อมไม่ได้ แสดงว่าปัญหาอยู่ที่เครื่องนี้เป็นพิเศษ (ไฟร์วอลล์/การแมป/whitelist)
3. ดูบันทึก: บันทึกของแผงควบคุมอยู่ที่ service.log บันทึกของทะลุ/Agent ช่วยระบุปัญหาการเชื่อมต่อได้