เรียนรู้วิธีเชื่อมต่อและจัดการ Server (Droplet) อย่างปลอดภัยด้วย SSH, ทำความเข้าใจหลักการทำงานของ Public & Private Key, และตั้งค่า Server เบื้องต้นให้พร้อมสำหรับ Deployment จริงในขั้นตอนต่อไป
ในบทเรียนนี้ เราจะเรียนรู้วิธีการเข้าถึง Server ผ่านโปรโตคอล SSH (Secure Shell) ซึ่งเป็นมาตรฐานความปลอดภัยระดับสูงที่ใช้ในการบริหารจัดการ Server ทั่วโลก แทนการใช้รหัสผ่าน (Password) แบบดั้งเดิมที่เสี่ยงต่อการถูกโจมตี

ระบบ SSH Authentication ทำงานด้วยหลักการเข้ารหัสแบบกุญแจคู่ (Asymmetric Cryptography) ซึ่งประกอบด้วย 2 ส่วนที่ต้องทำงานสอดคล้องกัน ดังภาพประกอบด้านล่างนี้:
authorized_keys) เพื่อใช้ตรวจสอบสิทธิ์ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDc7... (รหัสยาวต่อเนื่อง) ... user@hostname
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAgEAsMw/e......(รหัสความยาวหลายบรรทัด)......
.......................................................
-----END OPENSSH PRIVATE KEY-----
ดำเนินการสร้างคู่กุญแจผ่าน Terminal (macOS/Linux) หรือ PowerShell (Windows) ด้วยคำสั่งดังนี้:
ssh-keygen -t rsa -b 4096
-t rsa: เลือกใช้อัลกอริทึม RSA-b 4096: กำหนดความยาวกุญแจ 4096 บิต เพื่อความปลอดภัยสูงสุดการตั้งค่าระหว่างสร้าง:
~/.ssh/id_rsa)เมื่อเสร็จสิ้น ท่านสามารถตรวจสอบไฟล์ที่ได้ด้วยคำสั่ง:
cat ~/.ssh/id_rsa.pubcat ~/.ssh/id_rsaในขั้นตอนการสร้าง Droplet ให้เลื่อนไปยังส่วน Authentication Method เลือกหัวข้อ SSH Key และคลิกปุ่ม Add New Key จากนั้นนำ Public Key ที่ได้มาวางลงในช่องว่าง

หากต้องการเพิ่มสิทธิ์ให้เครื่องคอมพิวเตอร์อื่น สามารถทำได้ผ่าน Console ของ DigitalOcean:
authorized_keys:nano ~/.ssh/authorized_keys
Ctrl + O, Enter) และออกจากโปรแกรม (Ctrl + X)เมื่อติดตั้ง Key เรียบร้อยแล้ว ให้กลับมาที่ Terminal ในเครื่องคอมพิวเตอร์ของท่าน และใช้คำสั่งเชื่อมต่อดังนี้:
ssh root@<IP_ADDRESS>
(ตัวอย่าง: ssh [email protected])
หมายเหตุ: ในการเชื่อมต่อครั้งแรก ระบบจะแจ้งเตือนเรื่อง Fingerprint ให้พิมพ์ yes เพื่อยืนยัน
หลังจากเข้าสู่ Server ในฐานะ Root แล้ว ควรเตรียมโครงสร้างโฟลเดอร์สำหรับโปรเจกต์ดังนี้:
1. ตรวจสอบไฟล์ในระบบ (รวมไฟล์ซ่อน):
ls -la
2. สร้าง Directory สำหรับโปรเจกต์:
mkdir -p /var/www/petshop
cd /var/www/petshop
3. ดึง Source Code จาก GitHub:
git clone https://github.com/son-content-mastery/petshop.git .
(การใส่จุด . ด้านหลัง คือคำสั่งให้วางไฟล์ทั้งหมดในโฟลเดอร์ปัจจุบัน)
เมื่อดำเนินการครบทุกขั้นตอน Server ของท่านก็พร้อมสำหรับการติดตั้ง Container และ Deploy Application ในลำดับถัดไปครับ
เราใช้คุกกี้เพื่อเพิ่มประสิทธิภาพและประสบการณ์ที่ดีในการใช้งานเว็บไซต์ คุณสามารถศึกษารายละเอียดการใช้คุกกี้ได้ที่ นโยบายความเป็นส่วนตัว