🧪 คำสั่ง SSH เบื้องต้น

🧪 คำสั่ง 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 เป็นเครื่องมือที่ทรงพลังในการเข้าถึงระบบลินุกซ์จากระยะไกล ใช้งานง่าย แต่ควรระวังเรื่องความปลอดภัยเสมอ