SSH แตกต่างจาก Telnet อย่างไร

เผยแพร่แล้ว: 2023-03-15
ภาพโคลสอัพของหน้าจอคอมพิวเตอร์พร้อมตัวเลือกการกำหนดค่า PuTTY ที่มองเห็นได้
Jordan Gloor / How-To Geek
TELNET ไม่มีการเข้ารหัส ดังนั้นทุกอย่างจะถูกส่งในรูปแบบข้อความล้วน SSH ได้รับการเข้ารหัส ดังนั้นจึงเป็นส่วนตัวและปลอดภัย นั่นเป็นเหตุผลที่ควรใช้ SSH แทน TELNET

ทั้ง SSH และ TELNET ให้คุณเชื่อมต่อกับคอมพิวเตอร์ระยะไกลในเครือข่าย และใช้งานเสมือนว่าคุณกำลังนั่งอยู่หน้าคอมพิวเตอร์เหล่านั้น ดังนั้นอะไรคือความแตกต่างระหว่างสองโปรโตคอลที่น่านับถือนี้ และมีประโยชน์เสมอในการใช้ SSH บน TELNET หรือไม่

TELNET และ SSH: เรื่องราวต้นกำเนิด

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

TELNET ย่อมาจาก tel etype over net work protocol ได้รับการพัฒนาในปี 1969 เพื่อเป็นคำตอบสำหรับปัญหาดังกล่าว ตราบเท่าที่คอมพิวเตอร์ระยะไกลสามารถเข้าถึงได้จากเครือข่าย คอมพิวเตอร์จะอนุญาตให้ผู้ดูแลระบบหรือบุคคลที่ได้รับอนุญาตอื่น ๆ เชื่อมต่อและใช้งานเสมือนว่าพวกเขากำลังกดปุ่มบนแป้นพิมพ์ระยะไกล

SSH ถูกสร้างขึ้นในภายหลัง—ในปี 1995—เพื่อตอบสนองโดยตรงต่อ Telnet และโซลูชันอื่นที่คล้ายคลึงกัน ความจำเป็นในครั้งนี้คือการรักษาความปลอดภัย TELNET, rlogin, FTP และโปรโตคอลอื่น ๆ ในยุคนั้นได้รับการออกแบบโดยไม่คำนึงถึงหรือรับรู้ถึงความจำเป็นด้านความปลอดภัย

SSH ย่อมาจาก s ecure sh ll ดังนั้นคุณจะเห็นว่าการรักษาความปลอดภัยเป็นหลักการชี้นำตั้งแต่เริ่มก่อตั้ง ปัจจุบัน SSH ได้เข้ามาแทนที่ TELNET เกือบทั้งหมดแล้ว

TELNET เป็นฝันร้ายของการรักษาความปลอดภัยข้อความธรรมดา

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

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

แม้ว่า TELNET สมควรได้รับตำแหน่งในรายการโปรแกรมสำคัญที่ร่วมกันช่วยพาเรามาถึงจุดที่เราอยู่ในปัจจุบัน แต่ก็ไม่ใช่สิ่งที่เราควรใช้ในโลกปัจจุบัน

SSH แตกต่างจาก TELNET อย่างไร

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

TELNET ได้รับการออกแบบโดยคำนึงถึงเครือข่าย ส่วนตัว แต่ SSH ได้รับการออกแบบมาเพื่อรับมือกับเครือข่าย สาธารณะ และจำเป็นต้องรักษาความเป็นส่วนตัวและความปลอดภัยเมื่อถ่ายโอนข้อมูลและทำการเชื่อมต่อระยะไกล

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

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

ในความเป็นจริง สามารถใช้ SSH เพื่อรับรองความถูกต้องกับบริการต่างๆ ได้ ไม่ใช่แค่คอมพิวเตอร์ระยะไกลที่ใช้เซิร์ฟเวอร์ SSH ตัวอย่างเช่น คุณสามารถเข้าถึงที่เก็บ Git ที่โฮสต์ GitHub, GitLab และ BitBucket โดยใช้ SSH แทนรหัสผ่าน

คุณควรใช้ HTTPS หรือ SSH สำหรับ Git หรือไม่
ที่เกี่ยวข้อง คุณควรใช้ HTTPS หรือ SSH สำหรับ Git หรือไม่

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

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

ข้อดีประการเดียวของ TELNET คือใช้แบนด์วิธน้อยกว่า แต่นี่ไม่ใช่ปี 1969 ที่แบนด์วิธขาดแคลน และ SSH ก็ไม่ใช่แบนด์วิธที่ล้นมือเช่นกัน

SSH ก็มีปัญหาเช่นกัน

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

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

พวกเขาสามารถร้องขอการตอบกลับ (พูด) 64KB เมื่อการตอบกลับจริงต้องการไม่เกิน 64 ไบต์ ลำดับแรกของไบต์ในข้อมูลนั้นจะเป็นการตอบสนองที่แท้จริงและคาดหวัง ตามด้วยสิ่งที่เกิดขึ้นในหน่วยความจำที่เพิ่งใช้โดย OpenSSL สิ่งที่มีอยู่ในข้อมูลนั้นถือเป็นโชค แต่อาจมีข้อมูลที่ละเอียดอ่อน เช่น เซสชันคุกกี้และรหัสผ่าน หรือข้อมูลอื่นๆ ที่อนุญาตให้ผู้โจมตีได้รับคีย์ส่วนตัว เป็นต้น

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

สิ่งที่น่ากังวลอีกอย่างคือช่วงเวลาสองปีระหว่างปี 2012 เมื่อมีการแนะนำข้อบกพร่องและปี 2014 เมื่อมีการค้นพบและแก้ไข ในช่วงสองปีนั้น เซิร์ฟเวอร์ SSH ทุกเครื่องที่ใช้ OpenSSL เวอร์ชันที่มีช่องโหว่จะตกอยู่ในความเสี่ยง

พูดตามตรง มันเกิดขึ้นจริงเมื่อทศวรรษที่แล้ว และตั้งแต่นั้นมาก็มีการเปิดตัว การปรับปรุง การแก้ไขจุดบกพร่อง และการตรวจสอบโค้ดมากมายตั้งแต่นั้นมา

ที่เกี่ยวข้อง: วิธีที่ดีที่สุดในการรักษาความปลอดภัยเซิร์ฟเวอร์ SSH ของคุณ

คุณควรใช้ SSH หรือ TELNET?

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

SSH มีความปลอดภัยและยืดหยุ่นมากกว่า ซึ่งเป็นข้อดีของการใช้ SSH ผ่าน TELNET การใช้งาน OpenSSH นั้นฟรีสำหรับการใช้งานทั้งหมดรวมถึงเชิงพาณิชย์ และพร้อมใช้งานสำหรับระบบปฏิบัติการยอดนิยมทั้งหมด

ที่เกี่ยวข้อง: วิธีเชื่อมต่อกับเซิร์ฟเวอร์ SSH จาก Windows, macOS หรือ Linux