🧪 คำสั่ง SSH เบื้องต้น
SSH (Secure Shell) คือโปรโตคอลที่ใช้เชื่อมต่อกับเครื่องลินุกซ์จากระยะไกลผ่านเทอร์มินัลอย่างปลอดภัย
🔧 คำสั่ง SSH พื้นฐาน
1. เชื่อมต่อเครื่องปลายทาง
ssh username@ip_address
2. เชื่อมต่อผ่านพอร์ตอื่น (เช่น 2222)
ssh -p 2222 username@ip_address
3. ใช้ SSH Key แทนรหัสผ่าน
ssh-keygen -t rsa -b 4096
หลังสร้างจะได้ไฟล์ 2 ไฟล์ใน ~/.ssh/
:
id_rsa
→ private key (ห้ามส่งให้ใคร)id_rsa.pub
→ public key (ใช้ส่งให้เครื่องปลายทาง)
ใช้คำสั่งนี้เพื่อคัดลอก key ไปยังเครื่องปลายทาง:
ssh-copy-id user@ip
4. รันคำสั่งระยะไกลทันที
ssh user@ip "uptime"
📁 การติดตั้ง SSH Server บน Ubuntu
sudo apt update
sudo apt install openssh-server
sudo systemctl status ssh
🗂 การโอนย้ายไฟล์ผ่าน SSH
1. scp — คัดลอกไฟล์แบบง่าย
scp file.txt user@ip:/home/user/
หรือดาวน์โหลดจากเครื่องปลายทาง:
scp user@ip:/var/log/syslog ./
2. rsync — sync ไฟล์อย่างมีประสิทธิภาพ
rsync -avz -e ssh folder/ user@ip:/backup/folder/
🔐 ความปลอดภัยเบื้องต้นในการใช้ SSH
- เปลี่ยนพอร์ตจาก 22 → พอร์ตอื่น
- ใช้ SSH Key แทนรหัสผ่าน
- ปิด root login ใน
/etc/ssh/sshd_config
:
PermitRootLogin no
จากนั้น reload SSH:
sudo systemctl reload ssh
🧐 ตรวจสอบการเชื่อมต่อ SSH
ดู log การ login หรือความผิดพลาดได้ที่:
sudo journalctl -u ssh
หรือดูไฟล์ log โดยตรง (ขึ้นกับ distro):
cat /var/log/auth.log
📌 คำสั่งเพิ่มเติมที่น่าสนใจ
scp file user@host:/path
rsync -avz -e ssh src/ user@host:/dest/
ssh user@ip "df -h"
⚠️ ข้อควรระวังเมื่อใช้ SSH
- อย่าแชร์ private key (
id_rsa
) ให้ใครเด็ดขาด - ควรปิด root login และใช้ user ปกติแทน
- เปิด firewall เฉพาะพอร์ตที่จำเป็น
- ใช้ fail2ban เพื่อป้องกัน brute force
SSH เป็นเครื่องมือที่ทรงพลังในการเข้าถึงระบบลินุกซ์จากระยะไกล ใช้งานง่าย แต่ควรระวังเรื่องความปลอดภัยเสมอ