SSH ของ Linux/Unix Pingคำสั่งการสื่อสาร FTP และ Telnet

⚡ สรุปอย่างชาญฉลาด

คำสั่งการสื่อสารของ Linux เช่น SSH, PingFTP และ Telnet ช่วยให้คุณเชื่อมต่อกับระบบระยะไกล ทดสอบการเข้าถึงเครือข่าย ถ่ายโอนไฟล์ และจัดการเซิร์ฟเวอร์ได้โดยตรงจากเทอร์มินัลบนเครื่อง Linux หรือ Unix ใดก็ได้

  • 🔐 เอสเอสเอช: Secure Shell เชื่อมต่อกับเครื่องระยะไกลผ่านช่องทางการเข้ารหัสบนพอร์ต TCP 22 ซึ่งมาแทนที่ Telnet ที่ไม่ปลอดภัยสำหรับการบริหารจัดการเซิร์ฟเวอร์
  • 📡 Ping: การขอ ping คำสั่งนี้จะส่งแพ็กเก็ต ICMP เพื่อยืนยันว่าสามารถเข้าถึงโฮสต์ได้ และเพื่อวัดสถานะการเชื่อมต่อ
  • 📁 ftp: โปรโตคอลการถ่ายโอนไฟล์ (FTP) ใช้ในการอัปโหลดและดาวน์โหลดไฟล์ระหว่างคอมพิวเตอร์ในเครื่องโลคัลและคอมพิวเตอร์ระยะไกล โดยใช้คำสั่งต่างๆ เช่น put และ get
  • ???? เทลเน็ต: Telnet เปิดเซสชันเทอร์มินัลระยะไกลบนพอร์ต 23 แต่ส่งข้อมูล รวมถึงรหัสผ่าน ในรูปแบบข้อความธรรมดา
  • 🔒 การรักษาความปลอดภัย: ควรเลือกใช้ SSH และ SFTP มากกว่า Telnet และ FTP ทั่วไป เพราะโปรแกรมเหล่านี้เข้ารหัสข้อมูลประจำตัวและข้อมูลระหว่างการส่ง
  • 🤖 ความช่วยเหลือจากเอไอ: ผู้ช่วย AI และ GitHub Copilot สามารถสร้างคำสั่งเชื่อมต่อและช่วยวินิจฉัยข้อผิดพลาดของเครือข่ายได้

คำสั่งการสื่อสารระหว่าง Linux และ Unix: SSH, PingFTP และ Telnet

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

ยูทิลิตี้การสื่อสารของ Linux ที่เชื่อมต่อคอมพิวเตอร์กับเครือข่ายและระบบระยะไกล

ดังนั้น เรามาเรียนรู้ทีละอย่างกันเลย: SSH, Pingรวมถึง FTP และ Telnet

SSH

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

ไวยากรณ์สำหรับการล็อกอินเข้าสู่เครื่อง Linux ระยะไกลโดยใช้ SSH มีดังนี้:

ssh username@ip-address or hostname

ภาพหน้าจอด้านล่างแสดงเทอร์มินัลที่กำลังเชื่อมต่อกับเครื่องระยะไกลโดยใช้คำสั่ง ssh

การล็อกอินเข้าสู่เครื่อง Linux ระยะไกลโดยใช้คำสั่ง ssh

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

ls

ผลลัพธ์ของคำสั่ง ls จะปรากฏดังที่แสดงด้านล่าง

ผลลัพธ์ของคำสั่ง ls ที่แสดงรายการเนื้อหาของไดเร็กทอรีผ่านเซสชัน SSH

ในทำนองเดียวกัน ให้รันคำสั่ง pwd เพื่อแสดงไดเร็กทอรีปัจจุบันที่ทำงานอยู่:

pwd

คำสั่ง pwd จะส่งคืนพาธของไดเร็กทอรีที่ใช้งานอยู่ ดังแสดงด้านล่าง

ผลลัพธ์ของคำสั่ง pwd ที่แสดงไดเร็กทอรีปัจจุบันระหว่างการเชื่อมต่อ SSH

Ping

การขอ ping ยูทิลิตี้นี้มักใช้เพื่อตรวจสอบว่าการเชื่อมต่อของคุณกับเซิร์ฟเวอร์นั้นใช้งานได้ปกติหรือไม่ คำสั่งนี้ยังใช้สำหรับ:

  • การวิเคราะห์การเชื่อมต่อเครือข่ายและโฮสต์
  • Tracking ประสิทธิภาพเครือข่ายและการจัดการเครือข่าย
  • ทดสอบปัญหาฮาร์ดแวร์และซอฟต์แวร์

รูปแบบคำสั่ง:

ping hostname or IP-address

ตัวอย่างเช่น ping ระบุอุปกรณ์โดยใช้ที่อยู่ IP:

ping 172.16.170.1

การขอ ping คำสั่งนี้จะส่งแพ็กเก็ตไปยังที่อยู่ IP และรายงานการตอบกลับ ดังแสดงด้านล่าง

ผลลัพธ์ของ ping คำสั่งส่งแพ็กเก็ตไปยังที่อยู่ IP

คุณยังสามารถ ping โฮสต์โดยใช้ชื่อโดเมน:

ping google.com

ผลลัพธ์ที่แสดงด้านล่างนี้ ping การเข้าถึงโฮสต์ผ่านชื่อโฮสต์

ผลลัพธ์ของ ping คำสั่งที่ส่งไปยังโฮสต์โดยใช้ชื่อโดเมน

ในที่นี้ ระบบจะส่งแพ็กเก็ตข้อมูลขนาด 64 ไบต์ไปยังที่อยู่ IP (172.16.170.1) หรือชื่อโฮสต์ (www.google.com) หากแพ็กเก็ตข้อมูลแม้เพียงแพ็กเก็ตเดียวไม่ส่งกลับมาหรือสูญหาย แสดงว่ามีข้อผิดพลาดในการเชื่อมต่อ โดยปกติแล้วจะใช้วิธีนี้ในการตรวจสอบการเชื่อมต่ออินเทอร์เน็ต คุณสามารถกด Ctrl + c เพื่อออกจากโปรแกรมได้ ping ห่วง

FTP

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

การถ่ายโอนไฟล์ผ่าน FTP ระหว่างคอมพิวเตอร์ภายในเครื่องและโฮสต์ระยะไกล

คุณสามารถใช้ได้ FTP ไปที่:

  • เข้าสู่ระบบและสร้างการเชื่อมต่อกับโฮสต์ระยะไกล
  • อัปโหลดและดาวน์โหลดไฟล์
  • นำทางผ่านไดเร็กทอรีต่างๆ
  • เรียกดูเนื้อหาในไดเร็กทอรีต่างๆ

รูปแบบคำสั่งในการสร้างการเชื่อมต่อ FTP ไปยังโฮสต์ระยะไกลมีดังนี้:

ftp hostname or IP-address

เมื่อคุณป้อนคำสั่งนี้ ระบบจะขอให้คุณยืนยันตัวตนโดยใช้ชื่อผู้ใช้และรหัสผ่าน ดังที่แสดงด้านล่าง

การตรวจสอบสิทธิ์เข้าใช้งานโฮสต์ระยะไกลด้วยชื่อผู้ใช้และรหัสผ่านผ่าน FTP

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

คำสั่ง ฟังก์ชัน
dir แสดงไฟล์ในไดเร็กทอรีปัจจุบันของคอมพิวเตอร์ระยะไกล
ซีดี “dirname” เปลี่ยนไดเร็กทอรีไปยัง “dirname” บนคอมพิวเตอร์ระยะไกล
ใส่ไฟล์ อัปโหลด 'ไฟล์' จากคอมพิวเตอร์เครื่องโลคอลไปยังคอมพิวเตอร์เครื่องรีโมต
รับไฟล์ ดาวน์โหลด 'ไฟล์' จากระยะไกลไปยังคอมพิวเตอร์ในระบบ
เลิก ออกจากระบบ

ภาพหน้าจอด้านล่างแสดงคำสั่ง FTP ที่สำคัญบางส่วนที่ถูกเรียกใช้ในเซสชัน

การเรียกใช้คำสั่ง FTP เช่น dir, get และ put ในเซสชันเทอร์มินัล

Telnet

Telnet ช่วยให้คุณ:

  • เชื่อมต่อกับคอมพิวเตอร์ Linux ระยะไกล
  • ดำเนินการโปรแกรมจากระยะไกลและจัดการงานธุรการ

ยูทิลิตีนี้คล้ายกับฟีเจอร์การเข้าถึงเดสก์ท็อประยะไกลที่พบใน Windows เครื่องคอมพิวเตอร์ ภาพประกอบด้านล่างแสดงการเชื่อมต่อ Telnet ไปยังคอมพิวเตอร์ Linux ระยะไกล

การเชื่อมต่อ Telnet ไปยังคอมพิวเตอร์ Linux ระยะไกล

ไวยากรณ์สำหรับยูทิลิตี้นี้คือ:

telnet hostname or IP-address

ตัวอย่างเช่น เชื่อมต่อกับคอมพิวเตอร์ของคุณเอง (localhost):

telnet localhost

เพื่อเป็นการสาธิต เราจะเชื่อมต่อกับคอมพิวเตอร์ของคุณ (localhost) โปรแกรมจะขอชื่อผู้ใช้และรหัสผ่านของคุณ ดังที่แสดงด้านล่าง

เชื่อมต่อกับ localhost ด้วยคำสั่ง telnet และระบบจะแจ้งให้ป้อนข้อมูลรับรอง

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

เหตุใด SSH จึงเข้ามาแทนที่ Telnet

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

SSH มีข้อดีเหนือกว่า Telnet ในหลายด้านที่สำคัญ:

  • การเข้ารหัสลับ: SSH เข้ารหัสเซสชันทั้งหมดผ่านพอร์ต 22 ดังนั้นจึงไม่สามารถอ่านรหัสผ่านและข้อมูลระหว่างการส่งได้
  • รับรองความถูกต้อง: SSH ตรวจสอบความถูกต้องของเซิร์ฟเวอร์ด้วยคีย์ดิจิทัลและรองรับการเข้าสู่ระบบด้วยคีย์ ซึ่งมีความปลอดภัยมากกว่ารหัสผ่าน
  • Integrity: SSH ตรวจจับว่าข้อมูลถูกดัดแปลงแก้ไขระหว่างการถ่ายโอนหรือไม่

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

SSH, Pingเปรียบเทียบ FTP และ Telnet

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

ประโยชน์ จุดมุ่งหมาย โปรโตคอล พอร์ตเริ่มต้น เข้ารหัส
SSH การเข้าสู่ระบบและการจัดการจากระยะไกลที่ปลอดภัย ท็อกคิวพี (เอสเอช) 22 มี (ใบกำกับภาษีเต็มรูปแบบ)
Ping ทดสอบว่าสามารถเข้าถึงโฮสต์ได้หรือไม่ และวัดค่าความหน่วง ICMP ไม่มี (ไม่มีพอร์ต) ไม่สามารถใช้งาน
FTP ถ่ายโอนไฟล์ระหว่างโฮสต์ ท็อกซีพี (เอฟทีพี) 21 (20 สำหรับข้อมูล) ไม่ (FTP ธรรมดา)
Telnet การเข้าถึงเทอร์มินัลระยะไกล ท็อกซีพี (เทลเน็ต) 23 ไม่

สำหรับสิ่งใดก็ตามที่เชื่อมต่อกับอินเทอร์เน็ต ให้เลือกตัวเลือกการเข้ารหัส: SSH สำหรับการเชื่อมต่อระยะไกล และ SFTP หรือ SCP (ซึ่งทั้งสองอย่างทำงานผ่าน SSH) สำหรับการถ่ายโอนไฟล์

คำถามที่พบบ่อย

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

SCP (Secure Copy) เป็นโปรแกรมที่ใช้คัดลอกไฟล์ระหว่างโฮสต์ผ่านช่องทางการเข้ารหัส SSH จึงมีความปลอดภัยเช่นเดียวกับ SFTP SCP เร็วกว่าแต่มีข้อจำกัดมากกว่า เพราะสามารถคัดลอกไฟล์ได้เท่านั้น ไม่สามารถแสดงรายการ เปลี่ยนชื่อ หรือลบไฟล์ได้ คู่มือสมัยใหม่จึงแนะนำให้ใช้ SFTP หรือ rsync แทน SCP

พิมพ์ exit หรือ logout แล้วกด Enter เพื่อปิดเซสชัน SSH หรือ Telnet และกลับไปยังเทอร์มินัลในเครื่องของคุณ หากเซสชันค้าง SSH ยังยอมรับลำดับการหลีกเลี่ยงด้วย: กด Enter จากนั้นพิมพ์เครื่องหมายทิลเด (~) ตามด้วยจุด (~.) เพื่อบังคับปิดการเชื่อมต่อ

ลำดับ Ping ICMP ใช้โปรโตคอลระดับเครือข่าย (Network-layer) ที่ทำงานได้โดยไม่ต้องใช้หมายเลขพอร์ต โดยจะส่งคำขอ ICMP echo และรอการตอบกลับ echo เนื่องจากไม่พึ่งพา TCP หรือ UDP ไฟร์วอลล์จึงอาจบล็อก ICMP แม้ว่าบริการอื่นๆ จะยังคงเข้าถึงได้ก็ตาม

โดยค่าเริ่มต้น ลินุกซ์ ping จะทำงานจนกว่าคุณจะหยุดด้วย Ctrl + c เพิ่มตัวเลือก -c พร้อมตัวเลขเพื่อส่งค่าจำนวนคงที่ ตัวอย่างเช่น ping คำสั่ง -c 4 google.com จะส่งแพ็กเก็ตสี่ชุดแล้วหยุดโดยอัตโนมัติ ซึ่งมีประโยชน์ในการใช้งานภายในสคริปต์และการตรวจสอบสถานะ

ข้อความ “Connection refused” โดยทั่วไปหมายความว่าบริการ SSH ไม่ได้ทำงานอยู่บนโฮสต์ระยะไกล หรือไฟร์วอลล์กำลังปิดกั้นพอร์ต 22 โปรดตรวจสอบให้แน่ใจว่าได้ติดตั้งและเริ่มต้นใช้งาน sshd แล้ว ตรวจสอบที่อยู่โฮสต์และพอร์ต และตรวจสอบให้แน่ใจว่ากฎเครือข่ายอนุญาตการเชื่อมต่อก่อนที่จะลองใหม่อีกครั้ง

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

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

สรุปโพสต์นี้ด้วย: