หนึ่งในวิธีสำคัญที่สุดในการใช้ Linux คือผ่าน SSH เครื่องมือ Command Line สำหรับ Remote Access ให้คุณทำทุกอย่าง: ติดตั้งซอฟต์แวร์ ตั้งค่า Web Server SSH ช่วยประหยัดเวลา เพิ่มประสิทธิภาพ และปลดล็อกพลังเต็มของ Linux Distro
แต่ติดตั้ง SSH บนทั้ง Client และ Server ยังไง? เรียนรู้วิธีติดตั้ง ตั้งค่า และควบคุม Linux ระยะไกล
SSH คืออะไร?
SSH ย่อมาจาก Secure Shell ใช้ควบคุม Linux Computer หรือ Server ระยะไกลจากอุปกรณ์อื่น ทำงานได้ทั้ง LAN และ Internet จัดการ Media Server ที่บ้าน หรือ Web Server ต่างทวีปได้
SSH ไม่ให้เข้าถึง Desktop Environment แต่ให้ใช้ Terminal ได้ เหมือนนั่งหน้าเครื่องจริง ๆ ต้องมี Root Access
มี Remote Access อื่นสำหรับ Linux เช่น Ubuntu ใช้ Remmina (VNC-compatible)
ใช้ SSH ต้อง: เครื่อง Remote (Server) ตั้งค่า SSH แล้ว และเครื่อง Local (Client) ติดตั้ง SSH App
ติดตั้งฝั่ง Client
ติดตั้ง SSH บน Client ง่ายมาก บางกรณีไม่ต้องติดตั้งเพิ่ม:
- Linux: SSH Client มา built-in ใน Terminal
- macOS: SSH ติดตั้งมาอยู่ใน Terminal
- Windows: ใช้ PowerShell หรือติดตั้ง PuTTY
- iPhone/iPad: ลอง iTerminal ($4.99)
- Android: ลอง JuiceSSH (Free)
ถ้า Linux ไม่มี SSH ติดตั้ง:
sudo apt update && sudo apt upgrade
sudo apt install openssh-client
เคยใช้ PuTTY บน Windows แล้วมาหลัก Linux? PuTTY ติดตั้งบน Linux Desktop ได้:
sudo apt install putty
ติดตั้ง Client เสร็จ พร้อมตั้งค่าการเชื่อมต่อไปยังเครื่อง Remote หรือ Server
กฎทั่วไปสำหรับ Client ทุกชนิด: ต้องการ IP Address หรือ Hostname พร้อม Login credentials แอปแต่ละตัว UI ต่างกัน Port อาจต้องใส่เอง แต่การใช้งาน SSH Client คล้ายกันทุกตัว
ติดตั้งและตั้งค่าฝั่ง Server
ก่อนเชื่อมต่อ ติดตั้ง Server-side software ก่อน ต้องมีคนอยู่ที่เครื่อง Server เพื่อติดตั้ง/เปิดใช้งาน SSH คุณอาจอยู่ที่นั่น หรือเพื่อนร่วมงาน/วิศวกรฝั่ง Server ทำให้
หากใช้ Web Hosting Package SSH ควรเปิดอยู่แล้ว ถ้าไม่ได้ ติดต่อ Web Host
ถ้า SSH ยังไม่เปิดบน Remote Computer/Server:
sudo apt install openssh-server
ตรวจสอบว่าทำงาน:
sudo systemctl status ssh
ควรตอบกลับ "active"
Firewall ufw ของ Ubuntu อาจบล็อก SSH ป้องกันด้วย:
sudo ufw allow ssh
บางกรณีต้อง Enable SSH บน Remote Device (มาตรการความปลอดภัย) ทำได้ด้วย:
sudo systemctl enable ssh
คำสั่งอื่นสำหรับจัดการ Service: stop, start, disable
หา IP Address
เพื่อเชื่อมต่อ SSH ต้องรู้ IP ของเครื่อง Remote มี 2 วิธีง่าย:
- รันคำสั่ง Terminal
- เช็คที่ Router
ล็อกอินเครื่อง Remote รัน:
ip address
จะได้ IP Address บันทึกไว้ Linux เวอร์ชันเก่า ifconfig อาจให้ผลดีกว่า
เช็ค Router ดู Connected devices เครื่อง Linux จะแสดงตาม OS หรือชื่อเครื่อง ระบุได้ง่าย
หา Public IP: ล็อกอิน Server เปิด whatsmyip.org
ใช้ IP ที่เหมาะกับการเชื่อมต่อ: เครื่องอยู่ Network เดียวกับ Client ใช้ Local IP เชื่อมข้าม Internet ใช้ Public IP หากเครื่องอยู่ Network ต่างกัน ต้อง Port Forward port 22 ไปที่เครื่องนั้น
เชื่อมต่อ Linux ผ่าน SSH
นอกจาก IP ที่ถูกต้อง ต้องมี Username และ Password เพื่อเข้าถึงเครื่อง Remote
สำหรับ Command Line SSH tools:
ssh username@REMOTE.IP.ADDRESS.HERE
แทนที่ username และ REMOTE.IP.ADDRESS.HERE กด Enter จะถาม Password
Password ถูกต้อง จะได้ Terminal Prompt ทำงานอยู่ — ล็อกอินสำเร็จ
ใช้ Desktop SSH Client เช่น PuTTY?
ใส่ Host Name หรือ IP address เลือก Connection type SSH กด Open ใส่ Username/Password ในหน้าต่าง Command Line เพื่อเชื่อมต่อและเข้าถึงระยะไกล
เชื่อมต่อไม่ได้? Troubleshooting SSH
สาเหตุที่เป็นไปได้:
- SSH Software ไม่ได้ติดตั้งทั้งสองเครื่อง
- Username หรือ Password ผิด
- IP Address ผิด
- Firewall บล็อก หรือ Port 22 ไม่ได้ Forward
ตรวจสอบแต่ละจุด ควรเชื่อมต่อได้ หายังไม่ได้ ปัญหาอาจซับซ้อนกว่านี้
ใช้ Linux ระยะไกลด้วย SSH
SSH เป็นเครื่องมือมีประโยชน์สำหรับจัดการ Linux หลายเครื่อง
ทำงานบนเครื่องไหนก็ได้จากเครื่องเดียว รันคำสั่ง Terminal เกือบทุกคำสั่งผ่าน SSH
ตัวอย่างคำสั่งสำคัญ:
- Update: sudo apt update && sudo apt upgrade
- เช็คสถานะ: uptime
- Process ที่ทำงาน: ps
- Process เรียงตาม CPU: top
ดูรายการคำสั่ง SSH สำหรับจัดการ Linux Server เพิ่มเติมในบทความของเรา
ตั้งค่า SSH ให้ Linux อันทรงพลังยิ่งขึ้น
ด้วย SSH Linux ยืดหยุ่นและทรงพลังมากขึ้น ควบคุมคอมพิวเตอร์ระยะไกลด้วย Smartphone ได้จริง
หากตั้งค่า SSH ถูกต้อง Client และ Server พร้อมทำงาน Remote Command Line Access ใช้ได้จริง ต้องการมากกว่านี้? ดูวิธีควบคุม Linux Desktop จาก Windows ระยะไกล