
หลายคนเข้าใจว่า SSH เป็นเรื่องของคนใช้ VPS หรือ dedicated server เท่านั้น แต่จริงๆ แล้ว shared hosting จำนวนมากก็เปิดให้ใช้ SSH ได้เช่นกัน เพียงแต่เป็น SSH แบบจำกัดสิทธิ์ที่เรียกว่า jailed shell ซึ่งเพียงพอสำหรับงานที่นักพัฒนาใช้บ่อยที่สุด ไม่ว่าจะเป็นการแตกไฟล์ zip ขนาดใหญ่บนเซิร์ฟเวอร์ภายในไม่กี่วินาที รันคำสั่ง wp-cli จัดการ WordPress ติดตั้ง dependency ด้วย composer หรือ export ฐานข้อมูลด้วย mysqldump บทความนี้จะอธิบายว่า SSH บน shared hosting คืออะไร ต่างจาก FTP ตรงไหน ทำอะไรได้และทำอะไรไม่ได้ วิธีเชื่อมต่อจากทุกระบบปฏิบัติการ รวมถึงตอบคำถามสำคัญว่าการเปิด SSH ทำให้เว็บเสี่ยงขึ้นหรือไม่
SSH คืออะไร สำหรับผู้ใช้ Shared Hosting
SSH (Secure Shell) คือโปรโตคอลสำหรับเชื่อมต่อและสั่งงานเซิร์ฟเวอร์จากระยะไกลผ่านการเข้ารหัสทั้งหมด เมื่อเชื่อมต่อสำเร็จ คุณจะได้หน้าจอ command line ที่พิมพ์คำสั่งสั่งงานเครื่องปลายทางได้โดยตรง เหมือนนั่งอยู่หน้าเซิร์ฟเวอร์เครื่องนั้นจริงๆ ทุกอย่างที่รับส่งกัน ทั้งรหัสผ่าน คำสั่ง และผลลัพธ์ ถูกเข้ารหัสตลอดเส้นทาง จึงดักฟังไม่ได้
สำหรับผู้ใช้ shared hosting ประโยชน์ที่จับต้องได้ที่สุดคือความเร็วและความยืดหยุ่นในการจัดการไฟล์กับฐานข้อมูล งานที่ต้องลากไฟล์ทีละก้อนผ่าน FTP นานหลายสิบนาที มักจบได้ในคำสั่งเดียวบน SSH เช่น การย้ายเว็บทั้งเว็บ การสำรองข้อมูล หรือการอัพเดตปลั๊กอิน WordPress หลายสิบตัวพร้อมกัน
หมายเหตุ: นโยบายการเปิด SSH บน shared hosting ของแต่ละผู้ให้บริการไม่เหมือนกัน — บางเจ้าเปิดให้เฉพาะบางแพ็กเกจ บางเจ้าต้องติดต่อทีม support เพื่อขอเปิดเป็นรายบัญชี สำหรับลูกค้า AsiaGB แนะนำให้เปิด ticket ที่ billing.in.th/submitticket.php เพื่อสอบถามและขอเปิดใช้งานสำหรับบัญชีของคุณ
SSH ต่างจาก FTP อย่างไร
ทั้งสองอย่างใช้เข้าถึงพื้นที่โฮสติ้งเหมือนกัน แต่ความสามารถต่างกันมาก FTP ถูกออกแบบมาเพื่อ "โอนไฟล์" เพียงอย่างเดียว และ FTP แบบดั้งเดิมส่งข้อมูลรวมถึงรหัสผ่านแบบไม่เข้ารหัส (ต้องใช้ FTPS จึงจะเข้ารหัส) ส่วน SSH เข้ารหัสทุกอย่างโดยพื้นฐาน และนอกจากโอนไฟล์ผ่าน SFTP/SCP ได้แล้ว ยังพิมพ์คำสั่งจัดการเซิร์ฟเวอร์ได้โดยตรง
| หัวข้อ | FTP / FTPS | SSH (SFTP + Shell) |
|---|---|---|
| การเข้ารหัส | FTP ไม่เข้ารหัส / FTPS เข้ารหัส | เข้ารหัสทั้งหมดโดยพื้นฐาน |
| โอนไฟล์ | ได้ (ทีละไฟล์ ช้าเมื่อไฟล์เยอะ) | ได้ผ่าน SFTP/SCP/rsync (เร็วกว่าเมื่อไฟล์จำนวนมาก) |
| รันคำสั่งบนเซิร์ฟเวอร์ | ไม่ได้ | ได้ เช่น unzip, wp-cli, composer, mysqldump |
| แตกไฟล์ zip/tar บนเซิร์ฟเวอร์ | ไม่ได้ (ต้องอัพโหลดทีละไฟล์) | ได้ในคำสั่งเดียว |
| เหมาะกับ | งานอัพโหลดง่ายๆ ผู้ใช้ทั่วไป | นักพัฒนา งาน automation งานย้ายเว็บ |
ถ้าคุณคุ้นเคยกับ FTP อยู่แล้ว อ่านคู่มือ การใช้ FTP ด้วย FileZilla ประกอบได้ — โปรแกรม FileZilla เองก็รองรับ SFTP (โอนไฟล์ผ่าน SSH) ด้วย เพียงเปลี่ยนโปรโตคอลในหน้าตั้งค่า Site Manager
SSH บน Shared Hosting ทำอะไรได้บ้าง (jailed shell)
Shared hosting ที่เปิด SSH มักให้สิทธิ์แบบ jailed shell คือถูกจำกัดขอบเขตให้อยู่ในบัญชีของตัวเอง มองไม่เห็นไฟล์ผู้ใช้อื่น และใช้ได้เฉพาะคำสั่งที่ผู้ดูแลระบบอนุญาต ถึงอย่างนั้นก็ยังครอบคลุมงานส่วนใหญ่ที่นักพัฒนาต้องการ:
- จัดการไฟล์เร็วกว่า FTP — คัดลอก ย้าย เปลี่ยนชื่อ ลบไฟล์นับพันไฟล์ในคำสั่งเดียว รวมถึงแก้ permission ด้วย
chmod - บีบอัด/แตกไฟล์บนเซิร์ฟเวอร์ —
unzip,tarทำให้ย้ายเว็บหรือติดตั้งธีมขนาดใหญ่เสร็จในไม่กี่วินาที แทนการอัพโหลดไฟล์ย่อยเป็นหมื่นไฟล์ - wp-cli — จัดการ WordPress ครบวงจร ทั้งอัพเดต core/ปลั๊กอิน/ธีม สร้างผู้ใช้ เปลี่ยนรหัสผ่าน search-replace URL ในฐานข้อมูล (ดูรายละเอียดใน คู่มือ WP-CLI)
- composer — ติดตั้ง dependency ของโปรเจกต์ PHP เช่น Laravel package ต่างๆ ในโฟลเดอร์โปรเจกต์ (อ่านเพิ่มที่ การใช้ Composer บนโฮสติ้ง)
- git — clone/pull โค้ดจาก GitHub หรือ GitLab ขึ้นเซิร์ฟเวอร์โดยตรง ทำ workflow แบบ deploy ด้วย git ได้ (ดู คู่มือ Git และ CI/CD)
- rsync — sync ไฟล์ระหว่างเครื่อง local กับเซิร์ฟเวอร์แบบส่งเฉพาะส่วนต่าง เหมาะกับการ deploy ซ้ำๆ และการสำรองข้อมูล
- mysqldump / mysql — export และ import ฐานข้อมูลขนาดใหญ่ได้เสถียรกว่าการใช้ phpMyAdmin ที่มักติด timeout
ตัวอย่างที่เห็นภาพ: การย้ายเว็บ WordPress ขนาด 2GB ถ้าอัพโหลดผ่าน FTP ทีละไฟล์อาจใช้เวลาเป็นชั่วโมง แต่ถ้าอัพโหลดเป็น zip ไฟล์เดียวแล้ว unzip บนเซิร์ฟเวอร์ + import ฐานข้อมูลด้วย mysql จะเสร็จภายในไม่กี่นาที
ข้อจำกัดของ SSH บน Shared Hosting
สิ่งสำคัญที่ต้องเข้าใจคือ SSH บน shared hosting ไม่ใช่ root access สิทธิ์ที่ได้เทียบเท่าผู้ใช้ธรรมดาหนึ่งคนบนเครื่องที่แชร์ร่วมกับผู้ใช้รายอื่น ข้อจำกัดหลักๆ ได้แก่:
- ไม่มีสิทธิ์ root — คำสั่ง
sudo,apt install,yum installใช้ไม่ได้ ติดตั้งหรืออัพเกรด software ระดับระบบไม่ได้ - แก้ config ระดับเซิร์ฟเวอร์ไม่ได้ — ปรับแต่ง Apache/PHP ทำได้เท่าที่
.htaccessและค่า PHP ต่อบัญชีอนุญาตเท่านั้น - รัน process ค้างยาวไม่ได้ — daemon, bot หรือ Node.js server ที่ต้องรันตลอดเวลา มักถูกระบบจัดการทรัพยากรปิดโดยอัตโนมัติ
- มี resource limit — CPU, RAM และจำนวน process ต่อบัญชีถูกจำกัด เพื่อไม่ให้กระทบผู้ใช้รายอื่นบนเครื่องเดียวกัน งานหนักมากอาจถูกตัด
- คำสั่งบางตัวถูกปิด — ผู้ดูแลระบบอาจจำกัดรายการคำสั่งที่ใช้ได้ตามนโยบายความปลอดภัยของแต่ละเจ้า
ถ้างานของคุณชนข้อจำกัดเหล่านี้เป็นประจำ นั่นคือสัญญาณว่าถึงเวลาพิจารณา VPS ซึ่งให้สิทธิ์ root เต็มรูปแบบ
วิธีเชื่อมต่อ SSH จาก macOS, Linux และ Windows
macOS / Linux
เปิดแอป Terminal ที่ติดมากับเครื่องแล้วพิมพ์:
ssh [email protected]
# ถ้าเซิร์ฟเวอร์ใช้พอร์ตอื่นที่ไม่ใช่ 22
ssh -p 2222 [email protected]
ครั้งแรกที่เชื่อมต่อ ระบบจะถามยืนยัน fingerprint ของเซิร์ฟเวอร์ พิมพ์ yes แล้วกรอกรหัสผ่าน (หรือถ้าตั้ง SSH key ไว้จะเข้าได้ทันที)
Windows
Windows 10 ขึ้นไปมี OpenSSH client ในตัว เปิด Windows Terminal หรือ PowerShell แล้วใช้คำสั่ง ssh แบบเดียวกับ macOS/Linux ได้เลย หรือถ้าถนัดโปรแกรมแบบ GUI ก็ใช้ PuTTY โดยกรอก hostname, port แล้วกด Open จากนั้น login ด้วย username และรหัสผ่านของบัญชีโฮสติ้ง
ข้อมูล host, username และ port สำหรับเชื่อมต่อ โดยทั่วไปดูได้จากอีเมลแจ้งเปิดบริการหรือหน้า control panel — สำหรับ AsiaGB คือ DirectAdmin หากไม่แน่ใจว่าบัญชีของคุณเปิด SSH ไว้หรือยัง ให้สอบถามผ่าน ticket ได้โดยตรง
SSH Key กับรหัสผ่าน แบบไหนปลอดภัยกว่า
การ login ด้วยรหัสผ่านใช้ง่ายแต่มีจุดอ่อน คือเดาได้ brute-force ได้ และรั่วจาก phishing ได้ ทางเลือกที่ปลอดภัยกว่าคือ SSH Key Authentication ซึ่งใช้คู่กุญแจเข้ารหัส — public key เก็บบนเซิร์ฟเวอร์ ส่วน private key เก็บบนเครื่องคุณและไม่ถูกส่งผ่านเครือข่ายเลย ทำให้ดักฟังหรือเดาไม่ได้ในทางปฏิบัติ
แนวปฏิบัติที่แนะนำคือสร้าง key ด้วย ssh-keygen -t ed25519 ตั้ง passphrase ป้องกัน private key อีกชั้น แล้วเพิ่ม public key เข้าเซิร์ฟเวอร์ สำหรับผู้ใช้ AsiaGB สามารถเพิ่ม key ผ่านหน้า DirectAdmin ได้เอง — ขั้นตอนละเอียดทั้งการสร้าง key บนแต่ละ OS และการแก้ปัญหา Permission denied อ่านได้ในบทความ วิธีใช้ SSH Keys ใน DirectAdmin
คำสั่งพื้นฐานที่ใช้บ่อย พร้อมตัวอย่าง
สำหรับคนที่เพิ่งเริ่มใช้ command line ชุดคำสั่งด้านล่างครอบคลุมงานประจำวันเกือบทั้งหมด:
# ดูว่าตอนนี้อยู่โฟลเดอร์ไหน และมีไฟล์อะไรบ้าง
pwd
ls -lah
# ย้ายเข้าโฟลเดอร์เว็บ (path ขึ้นกับผู้ให้บริการ)
cd ~/domains/yourdomain.com/public_html
# แตกไฟล์ zip ที่อัพโหลดไว้
unzip website-backup.zip
# บีบอัดโฟลเดอร์ทั้งโฟลเดอร์เพื่อสำรองข้อมูล
tar -czf backup-2026-07-17.tar.gz public_html/
# export ฐานข้อมูล
mysqldump -u dbuser -p dbname > backup.sql
# อัพเดตปลั๊กอิน WordPress ทั้งหมดด้วย wp-cli
wp plugin update --all
# ดูพื้นที่ที่แต่ละโฟลเดอร์ใช้
du -sh */
ระวัง: คำสั่ง rm -rf ลบไฟล์ถาวรทันทีโดยไม่มีถังขยะ ตรวจ path ให้แน่ใจทุกครั้งก่อนกด Enter และควรสำรองข้อมูลก่อนทำงานใหญ่เสมอ
ความปลอดภัย: jailed shell ปลอดภัยไหม และ Best Practices
คำถามที่พบบ่อยคือการเปิด SSH จะทำให้เว็บเสี่ยงขึ้นหรือไม่ คำตอบโดยรวมคือ ไม่ — ถ้าจัดการดี SSH ปลอดภัยกว่า FTP แบบดั้งเดิมด้วยซ้ำ เพราะเข้ารหัสทุกอย่างตลอดเส้นทาง ส่วนตัว jailed shell เองก็ถูกออกแบบมาเพื่อจำกัดความเสียหาย: ผู้ใช้แต่ละบัญชีถูกกักอยู่ในขอบเขตของตัวเอง เห็นเฉพาะไฟล์ตัวเอง และใช้ได้เฉพาะคำสั่งที่อนุญาต ต่อให้บัญชีหนึ่งถูกเจาะ ผลกระทบก็ถูกจำกัดไม่ให้ลามไปทั้งเครื่องได้ง่าย
ความเสี่ยงที่แท้จริงมักมาจากฝั่งผู้ใช้ ไม่ใช่ตัวโปรโตคอล แนวปฏิบัติที่ควรทำ:
- ใช้ SSH key แทนรหัสผ่าน และตั้ง passphrase ให้ private key เสมอ
- ถ้ายังใช้รหัสผ่าน ให้ตั้งยาวและไม่ซ้ำกับบริการอื่น
- เก็บ private key ไว้เฉพาะเครื่องที่เชื่อถือได้ ไม่ฝากบน cloud ที่ไม่เข้ารหัส ไม่ส่งต่อให้ใคร
- ลบ key ของเครื่องเก่าหรือคนที่พ้นหน้าที่ออกจากเซิร์ฟเวอร์ทันที
- logout (
exit) เมื่อใช้งานเสร็จ โดยเฉพาะบนเครื่องที่ใช้ร่วมกับผู้อื่น - ระวังการรัน script แปลกปลอมที่คัดลอกมาจากอินเทอร์เน็ตโดยไม่อ่านก่อน — สิทธิ์ผู้ใช้ของคุณลบไฟล์เว็บของคุณเองได้ทั้งหมด
เมื่อไหร่ควรอัพเกรดเป็น VPS เพื่อ Full Root Access
SSH แบบ jailed shell เพียงพอสำหรับเว็บไซต์ทั่วไปและงานพัฒนาส่วนใหญ่ แต่ถ้าคุณเริ่มเจอสถานการณ์เหล่านี้ VPS คือคำตอบที่ตรงกว่า:
- ต้องติดตั้ง software ระดับระบบ เช่น Redis, Node.js เวอร์ชันเฉพาะ, ffmpeg หรือ library พิเศษ
- ต้องรัน process ตลอดเวลา เช่น application server, queue worker, bot
- ต้องปรับแต่ง web server, PHP หรือ firewall ในระดับ config เอง
- ชนเพดาน CPU/RAM ของ shared hosting บ่อยจนงานสะดุด
VPS Linux ของ AsiaGB เริ่มต้น 500 บาท/เดือน ได้ root access เต็มรูปแบบบนดิสก์ SSD พร้อม uptime 99% เลือกดาต้าเซ็นเตอร์ไทยหรือสิงคโปร์ได้ และถ้าจะเริ่มใช้ SSH บน VPS ครั้งแรก มีคู่มือ การใช้ SSH บน VPS ฉบับเริ่มต้น ให้อ่านต่อ
คำถามที่พบบ่อย (FAQ)
Shared hosting ทุกเจ้าเปิด SSH ให้อัตโนมัติไหม
ไม่เสมอไป นโยบาย SSH บน shared hosting ของแต่ละผู้ให้บริการแตกต่างกัน บางเจ้าเปิดให้ในบางแพ็กเกจ บางเจ้าต้องติดต่อทีม support เพื่อขอเปิดเป็นรายบัญชี สำหรับลูกค้า AsiaGB แนะนำให้เปิด ticket ที่ billing.in.th/submitticket.php เพื่อสอบถามและขอเปิดใช้งาน
SSH บน shared hosting ติดตั้งโปรแกรมระดับระบบได้ไหม
ไม่ได้ เพราะไม่มีสิทธิ์ root คำสั่งอย่าง apt install หรือ yum install จะถูกปฏิเสธ สิ่งที่ทำได้คือใช้เครื่องมือที่ติดตั้งไว้แล้ว เช่น wp-cli, composer, git และติดตั้ง dependency ระดับโปรเจกต์ในโฟลเดอร์ของตัวเองเท่านั้น หากต้องการติดตั้ง software ระดับระบบต้องใช้ VPS
jailed shell คืออะไร
คือ shell ที่ถูกจำกัดขอบเขตให้ผู้ใช้เห็นและแก้ไขได้เฉพาะไฟล์ในบัญชีของตัวเอง มองไม่เห็นไฟล์ของผู้ใช้รายอื่นบนเซิร์ฟเวอร์เดียวกัน และใช้ได้เฉพาะคำสั่งที่ผู้ดูแลระบบอนุญาต เป็นมาตรฐานความปลอดภัยของ shared hosting ที่เปิด SSH
ใช้ SSH ต่างจากใช้ FTP อย่างไร
FTP ทำได้แค่โอนไฟล์ และแบบดั้งเดิมไม่เข้ารหัสข้อมูล ส่วน SSH เข้ารหัสทุกอย่างและสั่งงานเซิร์ฟเวอร์ด้วยคำสั่งได้โดยตรง เช่น แตกไฟล์ zip บนเซิร์ฟเวอร์ รัน wp-cli หรือ export ฐานข้อมูลด้วย mysqldump ซึ่ง FTP ทำไม่ได้เลย
เปิด SSH แล้วเว็บจะโดนแฮกง่ายขึ้นไหม
ไม่ ถ้าตั้งค่าถูกต้อง SSH เข้ารหัสการเชื่อมต่อทั้งหมดจึงปลอดภัยกว่า FTP ธรรมดา ความเสี่ยงหลักอยู่ที่รหัสผ่านอ่อนหรือ private key หลุด แนวปฏิบัติที่ดีคือใช้ SSH key แทนรหัสผ่าน ตั้ง passphrase ให้ key และไม่แชร์ key ให้ผู้อื่น
SFTP กับ SSH เกี่ยวข้องกันอย่างไร
SFTP คือการโอนไฟล์ที่วิ่งอยู่บนการเชื่อมต่อ SSH ใช้พอร์ตเดียวกันและการยืนยันตัวตนเดียวกัน ดังนั้นถ้าบัญชีของคุณใช้ SSH ได้ ก็มักใช้ SFTP ผ่านโปรแกรมอย่าง FileZilla ได้ทันทีโดยเลือกโปรโตคอล SFTP แทน FTP
เมื่อไหร่ควรอัพเกรดจาก shared hosting เป็น VPS
เมื่อต้องการสิทธิ์ root เต็มรูปแบบ เช่น ติดตั้ง software ระดับระบบ ปรับแต่ง web server เอง รัน process ค้างยาว หรือเมื่องานชนกับ resource limit ของ shared hosting บ่อยครั้ง VPS Linux ของ AsiaGB เริ่มต้น 500 บาท/เดือนพร้อม root access เต็มรูปแบบ
อยากได้โฮสติ้งที่ตอบโจทย์สายพัฒนา?
AsiaGB Hosting เริ่มต้น 500 บาท/ปี ดิสก์ SSD จัดการผ่าน DirectAdmin uptime 99% — หรือถ้าต้องการ full root access เลือก VPS Linux เริ่มต้น 500 บาท/เดือน
ดูแพ็กเกจ Hosting