เว็บไซต์นี้ได้รับการแปลเป็นหลายภาษาโดยอัตโนมัติด้วยซอฟต์แวร์ที่พัฒนาโดย Kohei Koyanagi เพื่อความถูกต้อง โปรดดูต้นฉบับภาษา อังกฤษ .

ทำไม Splync ใช้ SSH — กุญแจลับสู่เซิร์ฟเวอร์ที่ปลอดภัย

SSH ทำอะไรได้จริง

ในขณะที่ Splync ใช้ HTTPS เพื่อปกป้องเส้นทางระหว่างสมาร์ทโฟนของคุณกับเซิร์ฟเวอร์ของเรา เรายังคงต้องปกป้องตัวเซิร์ฟเวอร์เองเพื่อให้ข้อมูลผู้ใช้ปลอดภัย นักพัฒนาแอปและผู้ดูแลระบบต้องการวิธีการเข้าสู่เซิร์ฟเวอร์นั้นเพื่อคงสภาพและปรับปรุงการอัพเดต — อย่างปลอดภัย นี่คือที่มาของ SSH (Secure Shell) มันคือโปรโตคอลที่ช่วยให้ผู้ใช้ที่ได้รับอนุญาตสามารถล็อกอินเข้าสู่คอมพิวเตอร์ระยะไกลได้อย่างปลอดภัย แม้ในเครือข่ายที่ไม่น่าเชื่อถือ SSH แทนที่วิธีเก่าที่ไม่ปลอดภัยเช่น Telnet ซึ่งส่งชื่อผู้ใช้และรหัสผ่านในรูปแบบข้อความธรรมดา

แนวคิดเบื้องหลัง 'กุญแจ'

SSH ไม่พึ่งพารหัสผ่านแบบทั่วไป แต่ใช้กุญแจเข้ารหัส — คู่ของกุญแจสาธารณะและกุญแจส่วนตัว คิดว่ามันเหมือนกับแม่กุญแจกับกุญแจที่เข้ากันได้เฉพาะกัน กุญแจสาธารณะอยู่ที่เซิร์ฟเวอร์ และกุญแจส่วนตัวอยู่กับผู้ใช้ เมื่อต่อเชื่อมเซิร์ฟเวอร์จะท้าทายให้คุณพิสูจน์ว่าคุณถือครองกุญแจส่วนตัว โดยไม่เคยเปิดเผยมันเลย ซึ่งทำให้แทบเป็นไปไม่ได้ที่ใครจะเลียนแบบคุณได้ แม้จะมีคนดักฟังการเชื่อมต่อ สิ่งที่พวกเขาเห็นก็เป็นเพียงเสียงรบกวนที่เข้ารหัส และเนื่องจากกุญแจ SSH ไม่เคยถูกส่งผ่านเครือข่าย จึงไม่มีอะไรให้ขโมยระหว่างทาง

กุญแจ SSH มีหน้าตาเป็นอย่างไร

หากคุณไม่เคยเห็นกุญแจ SSH มาก่อน มันอาจจะฟังดูเป็นนามธรรม — แต่มันคือข้อความเข้ารหัสยาว ๆ กุญแจสาธารณะมักยาวหลายร้อยตัวอักษร ในขณะที่กุญแจส่วนตัวอาจยาวกว่าพันตัวอักษร ทั้งคู่ถูกเก็บเป็นไฟล์ข้อความ แต่เนื้อหาดูเหมือนเสียงรบกวนแบบสุ่ม — ผสมผสานตัวอักษร ตัวเลข และสัญลักษณ์ กุญแจสาธารณะปลอดภัยที่จะแบ่งปัน มันเหมือนกับการนำแม่กุญแจไปวางบนเซิร์ฟเวอร์ ในขณะที่กุญแจส่วนตัวคือเอกลักษณ์ดิจิทัลของคุณที่ไม่ควรแบ่งปัน มันถูกเก็บในเครื่องคอมพิวเตอร์ของคุณและใช้เพื่อยืนยันตัวตนของคุณโดยไม่เคยเปิดเผยตัวกุญแจจริงๆ

กุญแจสาธารณะและกุญแจส่วนตัว

กุญแจสาธารณะเหมือนกับแม่กุญแจที่คุณติดไว้กับบ้าน ใครๆ ก็เห็นได้จากถนน เช่นเดียวกับแม่กุญแจที่ประตูบ้าน แต่การมองที่แม่กุญแจไม่ได้บอกวิธีการเปิด ในคำอื่นๆ คือ ใครๆ ก็เห็นมันได้ แต่มีเพียงกุญแจที่ถูกต้องเท่านั้นที่สามารถเปิดได้ ในทางกลับกัน กุญแจส่วนตัวคือกุญแจที่เปิดแม่กุญแจ — และมันอยู่กับคุณอย่างปลอดภัย หากมีคนอื่นได้กุญแจส่วนตัวของคุณ พวกเขาก็สามารถเข้าบ้านของคุณเหมือนเป็นคุณ นั่นคือเหตุผลว่าทำไมมันจึงต้องเก็บเป็นความลับเสมอ

กลไกของ SSH

แต่ละคู่ของกุญแจสาธารณะและกุญแจส่วนตัวเป็นคู่ที่ไม่ซ้ำกัน สร้างขึ้นด้วยกระบวนการทางคณิตศาสตร์เพื่อให้เฉพาะกุญแจส่วนตัวเท่านั้นที่สามารถจับคู่กับกุญแจสาธารณะที่สอดคล้องกันได้ คุณสามารถคิดว่ามันเป็นแม่กุญแจและกุญแจที่สร้างขึ้นมาเฉพาะคู่กัน แม้คุณจะสร้างอีกคู่ด้วยอัลกอริทึมเดียวกัน (เช่น RSA หรือ Ed25519) ตัวเลขภายในก็จะต่างกันโดยสิ้นเชิง คณิตศาสตร์ที่เชื่อมโยงทั้งสองคือทางเดียว: คุณสามารถสร้างกุญแจสาธารณะจากกุญแจส่วนตัวได้อย่างง่ายดาย แต่มันแทบเป็นไปไม่ได้ที่จะย้อนกระบวนการเพื่อหากุญแจส่วนตัวจากกุญแจสาธารณะ นั่นคือเหตุผลว่าทำไมทุกคู่กุญแจ SSH จึงไม่ซ้ำกันและปลอดภัย

SSH ยืนยันตัวตนของคุณอย่างไร

เมื่อคุณล็อกอินเข้าสู่เซิร์ฟเวอร์ด้วย SSH กุญแจส่วนตัวของคุณจะไม่ออกจากคอมพิวเตอร์ของคุณ เซิร์ฟเวอร์จะส่งคำท้าทายแบบสุ่ม — เหมือนเกมปริศนาหนึ่งครั้ง — ที่มีเพียงกุญแจส่วนตัวของคุณเท่านั้นที่สามารถแก้ได้ คอมพิวเตอร์ของคุณจะเซ็นสัญญาทางคณิตศาสตร์ให้คำตอบสั้นๆ ที่เซิร์ฟเวอร์สามารถตรวจสอบได้โดยใช้กุญแจสาธารณะของคุณ หากคำตอบนั้นถูกต้อง เซิร์ฟเวอร์ก็รู้ว่าคุณถือกุญแจส่วนตัวที่ถูกต้องโดยไม่เคยเห็นมันเลย นี่คือเวทมนตร์ของการเข้ารหัสสมัยใหม่: คุณสามารถพิสูจน์ตัวตนโดยไม่ต้องเปิดเผยความลับ การยืนยันตัวตนของ SSH ทำงานเพราะกุญแจส่วนตัวของคุณมีข้อมูลทั้งหมดที่สามารถสร้างกุญแจสาธารณะได้ แต่การย้อนกลับแทบเป็นไปไม่ได้

นักพัฒนาใช้ SSH อย่างไรในทางปฏิบัติ

ทุกครั้งที่นักพัฒนาปรับใช้โค้ด อัปเดตฐานข้อมูล หรือรีสตาร์ทบริการ พวกเขามักจะเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน SSH หลังจากการยืนยันตัวตนแล้ว พวกเขาจะได้รับการเชื่อมต่อบรรทัดคำสั่งที่ปลอดภัยไปยังเซิร์ฟเวอร์ จากนั้นพวกเขาสามารถจัดการไฟล์ รีสตาร์ทบริการ หรือตรวจสอบบันทึก — ทั้งหมดนี้ปลอดภัยจากต้นทางถึงปลายทาง สำหรับ Splync, SSH คือวิธีที่เราจัดการเซิร์ฟเวอร์คลาวด์ของเราอย่างปลอดภัย ทุกการกระทำในการจัดการ — การปรับปรุงอัปเดต การตรวจสอบบันทึก การสำรองข้อมูล — ทำผ่านการเชื่อมต่อ SSH ที่ได้รับการปกป้องด้วยกุญแจเข้ารหัส โดยไม่มีใครสามารถเข้าถึงเซิร์ฟเวอร์ได้หากไม่มี กุญแจส่วนตัวที่ถูกต้อง แม้กระทั่งมีคนรู้ที่อยู่ IP ของเรา หากไม่มี กุญแจนั้น ประตูจะไม่เปิด

สิ่งที่จะมาถัดไป: การเข้ารหัสภายในเซิร์ฟเวอร์

SSH ปกป้องทางเข้าสู่เซิร์ฟเวอร์และ HTTPS ปกป้องข้อมูลระหว่างทาง แต่เมื่อข้อมูลได้เข้าไปในฐานข้อมูลแล้ว เราจะเก็บมันไว้อย่างปลอดภัยได้อย่างไร นั่นคือที่มาของการแฮชและการเข้ารหัส — ชั้นป้องกันสุดท้าย