บทความนี้อธิบายวิธีใช้ SSH เพื่อเชื่อมต่อกับ Remote Server บน Linux รวมถึงการใช้ PuTTY เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux ระยะไกล แน่นอนว่า PuTTY ไม่ใช่ SSH client เพียงตัวเดียวที่คุณสามารถใช้สำหรับการเชื่อมต่อระยะไกล ลองดู การเปรียบเทียบ SSH client ที่ดีที่สุดสำหรับ Windows ในปี 2022 แล้วเลือกตัวที่เหมาะกับความต้องการของคุณ การเข้าถึงอุปกรณ์จากระยะไกลกลายเป็นสิ่งจำเป็นมานานแล้ว และแทบจะนึกไม่ออกเลยว่าจะเป็นอย่างไรหากเราไม่สามารถควบคุมคอมพิวเตอร์จากที่อื่นได้
- SSH คืออะไร และย่อมาจากอะไร?
- SSH ทำงานอย่างไร?
- Terminal คืออะไร
- SSL คืออะไร
- วิธีสร้างการเชื่อมต่อ SSH
- ใช้ SSH เชื่อมต่อกับ Remote Server บน Linux ได้อย่างไร?
- ขั้นตอนต่อไปสำหรับการควบคุมระยะไกลด้วย SSH
- PuTTY คืออะไร?
- วิธีเชื่อมต่อกับเซิร์ฟเวอร์ Linux โดยใช้ PuTTY
- วิธีตั้งค่า SSH Public Key Authentication บน Linux
- ขั้นตอนที่ 1: สร้าง Key Pair
- ขั้นตอนที่ 2: ระบุชื่อไฟล์และรหัสผ่าน
- ขั้นตอนที่ 3: คัดลอก Public Key
- ขั้นตอนที่ 4: กรอกข้อมูลบัญชีของคุณ
- ขั้นตอนที่ 5: เข้าสู่ระบบระยะไกล
- ขั้นตอนที่ 6: สร้างไฟล์ที่จำเป็นในบัญชีของคุณ
- ขั้นตอนที่ 7: เพิ่มเนื้อหาของไฟล์ Public Key ลงใน Authorized Keys
- ขั้นตอนที่ 8: ลบไฟล์ Public Key
- ขั้นตอนที่ 9: เพิ่ม Public Key ของคุณไปยังระบบอื่น (ไม่บังคับ)
- ขั้นตอนที่ 10: SSH เข้าสู่บัญชีของคุณบนระบบระยะไกล
- มาตรฐาน Remote Desktop ที่สำคัญ
- VNC คืออะไร?
- การ Tunnel VNC ผ่าน SSH
- RDP คืออะไร?
- สรุป: การเชื่อมต่อระยะไกลด้วย SSH
- คำถามที่พบบ่อย
มีหลายวิธีในการเชื่อมต่อกับเครื่องระยะไกล ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้ แต่โปรโตคอลที่ได้รับความนิยมมากที่สุดมีสองตัว ได้แก่:
- Secure Shell (SSH) สำหรับอุปกรณ์ที่ใช้ Linux
- Remote Desktop Protocol (RDP) สำหรับอุปกรณ์ Windows
ทั้งสองโปรโตคอลใช้แอปพลิเคชัน Client และ Server เพื่อสร้างการเชื่อมต่อระยะไกล เครื่องมือเหล่านี้ช่วยให้คุณเข้าถึงและควบคุมเครื่องอื่นจากระยะไกล รวมถึงโอนข้อมูล และทำได้แทบทุกอย่างเหมือนกับนั่งอยู่หน้าเครื่องนั้นโดยตรง
SSH คืออะไร และย่อมาจากอะไร?
SSH (Secure Shell) หรือที่รู้จักในชื่อ "Secure Socket Shell" คือโปรโตคอลที่ช่วยให้คุณเชื่อมต่อกับอุปกรณ์หรือเซิร์ฟเวอร์ระยะไกลได้อย่างปลอดภัยผ่าน Interface แบบ Text โปรโตคอลที่นิยมใช้เชื่อมต่อกับเครื่องระยะไกลมีอยู่สองตัวหลัก คือ SSH และ RDP การสร้างการเชื่อมต่อ SSH ต้องการทั้ง Client และ Server Component
เมื่อสร้างการเชื่อมต่อ SSH สำเร็จแล้ว Shell Session จะเริ่มต้นขึ้น และคุณสามารถจัดการเซิร์ฟเวอร์ได้โดยพิมพ์คำสั่งผ่าน Client บนเครื่องของคุณ โปรโตคอลนี้เป็นตัวเลือกหลักสำหรับผู้ที่ต้องการเข้าถึงเครื่องระยะไกลอย่างปลอดภัยสูง โดยเฉพาะผู้ดูแลระบบและเครือข่าย
ต้องการ Remote Desktop ไหม?
RDP Server ที่เชื่อถือได้พร้อม Uptime 99.95% พกพา Desktop ของคุณไปใช้ได้ทั้งในสหรัฐอเมริกา ยุโรป และเอเชีย
รับ RDP ServerSSH ทำงานอย่างไร?
ในการสร้างการเชื่อมต่อ SSH คุณต้องมีสององค์ประกอบ:
ทั้ง Client และส่วน Server ที่รองรับ. SSH client คือแอปพลิเคชันที่ทำงานบนอุปกรณ์ที่คุณใช้เชื่อมต่อกับคอมพิวเตอร์หรือเซิร์ฟเวอร์อีกเครื่องหนึ่ง โดย client จะใช้ข้อมูลที่ได้รับจาก remote host เพื่อเริ่มต้นการเชื่อมต่อ เมื่อยืนยันข้อมูลรับรองสำเร็จแล้ว client จะสร้างการเชื่อมต่อแบบเข้ารหัส
ฝั่ง server มีส่วนประกอบที่เรียกว่า SSH daemon (SSHD) ซึ่งคอยฟังคำขอเชื่อมต่อจาก client ที่ TCP/IP port ที่กำหนดไว้ตลอดเวลา เมื่อ client เริ่มการเชื่อมต่อ SSH daemon จะตอบกลับด้วยเวอร์ชันของซอฟต์แวร์และโปรโตคอลที่รองรับ จากนั้นทั้งสองฝ่ายจะแลกเปลี่ยนข้อมูลระบุตัวตนกัน
หากข้อมูลรับรองที่ได้รับถูกต้อง SSH จะสร้าง session ใหม่สำหรับสภาพแวดล้อมที่เหมาะสม เวอร์ชันดีฟอลต์ของโปรโตคอล SSH สำหรับการสื่อสารระหว่าง SSH server และ SSH client คือเวอร์ชัน 2
อ่านเพิ่มเติม: SSH Client ที่ดีที่สุดสำหรับ Windows ในปี 2022
Terminal คืออะไร
หากคุณเพิ่งเริ่มต้นใช้งาน Linux คุณควรทำความรู้จักกับ terminal ก่อน ให้คิดว่ามันคือศูนย์กลางคำสั่งที่ใช้สื่อสารกับ Linux server โดยตรง
การใช้ command line อาจดูน่ากังวลในตอนแรก แต่ถ้าเริ่มจากพื้นฐาน มันง่ายกว่าที่คิด เช่น 15 คำสั่งพื้นฐานที่ทุกคนควรรู้.
Terminal ยิ่งมีความสำคัญมากขึ้นหากคุณวางแผนจะพัฒนาแอปพลิเคชัน หรือกำลังเรียนรู้การพัฒนา โดยใช้ PHP หรือ Python ต่างจาก Windows ที่จัดการ Python ได้ยุ่งเหยิงเมื่อพยายามรองรับผ่าน GUI Linux รวม Python และภาษาโปรแกรมอื่น ๆ ไว้ใน terminal โดยตรง ดังนั้นแม้คุณจะต้องผ่าน ขั้นตอนการติดตั้ง Python บน Windows แล้วได้ผลลัพธ์ที่ยุ่งเหยิงและไม่มีประสิทธิภาพ แต่บน Linux นั้นมาพร้อมกับมันแล้ว และเข้าถึงได้ทันทีจาก command line
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณSSL คืออะไร
SSH ใช้ SSL (Secure Socket Layer) เพื่อรักษาความปลอดภัยของข้อมูลที่ส่งระหว่างเว็บเบราว์เซอร์กับเซิร์ฟเวอร์ การเข้ารหัสการเชื่อมต่อระหว่าง web server กับเบราว์เซอร์ทำผ่าน SSL เพื่อให้มั่นใจว่าข้อมูลทั้งหมดที่รับส่งกันนั้นเป็นความลับและปลอดภัยจากการโจมตี กล่าวคือ การสร้าง public key และ private key ระหว่าง remote server กับเครื่องในเครือข่ายที่เชื่อมต่อผ่าน SSH เป็นส่วนหนึ่งของโปรโตคอลความปลอดภัย SSL การป้องกันชั้นนี้มีประโยชน์อย่างมาก โดยเฉพาะในกรณีที่มีการโจมตีแบบ brute-force
วิธีสร้างการเชื่อมต่อ SSH
เนื่องจากการสร้างการเชื่อมต่อ SSH ต้องการทั้ง client และ server คุณต้องตรวจสอบให้แน่ใจว่าติดตั้งทั้งสองส่วนบนเครื่องในเครือข่ายและเครื่อง remote แล้ว
OpenSSH เป็นเครื่องมือ SSH แบบ open-source ที่นิยมใช้กับ Linux distributions และใช้งานได้ไม่ยาก. ต้องการการเข้าถึง terminal ทั้งบนเซิร์ฟเวอร์และอุปกรณ์ที่คุณใช้เชื่อมต่อ โปรดทราบว่า Ubuntu ไม่ได้ติดตั้ง SSH server มาให้ตามค่าดีฟอลต์ ถึงจุดนี้ในคู่มือการเชื่อมต่อ SSH แบบ remote เราได้ทำความเข้าใจ SSH และแนวคิดที่เกี่ยวข้องแล้ว มาเริ่มติดตั้ง OpenSSH Client กัน
ขั้นตอนที่ 1: ติดตั้ง OpenSSH Client
ก่อนติดตั้ง SSH client ให้ตรวจสอบก่อนว่าไม่ได้ติดตั้งไว้ในระบบแล้ว Linux distributions หลายตัวมี SSH client ติดมาให้แล้ว
- รันคำสั่งต่อไปนี้เพื่อติดตั้ง OpenSSH บนอุปกรณ์ของคุณ:
sudo apt-get install openssh-client
- ใส่รหัสผ่าน superuser เมื่อระบบถาม
- กด Enter เพื่อเสร็จสิ้นกระบวนการติดตั้ง
เมื่อคุณมีสิทธิ์เข้าถึงที่จำเป็นพร้อมกับ hostname หรือ IP address แล้ว คุณสามารถใช้ SSH กับคอมพิวเตอร์ที่มีแอปพลิเคชันฝั่ง server ได้ทันที
ขั้นตอนที่ 2: ติดตั้ง OpenSSH Server
เพื่อให้เซิร์ฟเวอร์รับการเชื่อมต่อ SSH ได้ ต้องติดตั้งส่วน server-side ของชุดซอฟต์แวร์ SSH บนเครื่องนั้นก่อน โดยทำตามขั้นตอนดังนี้:
- เปิด terminal บนเครื่องเซิร์ฟเวอร์ของคุณ ค้นหา terminal หรือคลิก Ctrl + Alt + T บนแป้นพิมพ์ของคุณ
- ใส่คำสั่งต่อไปนี้เพื่อติดตั้ง SSH server:
sudo apt-get install openssh-server
- ใส่รหัสผ่าน superuser เมื่อระบบถาม
- กด Enter และ Y เพื่อให้การติดตั้งดำเนินต่อไปได้หลังจากที่ระบบแจ้งเรื่องพื้นที่ดิสก์
หลังจากทำตามขั้นตอนข้างต้นแล้ว ไฟล์ที่จำเป็นจะได้รับการติดตั้งเรียบร้อย จากนั้นตรวจสอบว่าเซิร์ฟเวอร์ SSH กำลังทำงานอยู่หรือไม่ด้วยคำสั่งนี้:
sudo service ssh status
คำตอบที่ได้จาก terminal ควรมีหน้าตาเหมือนกันทุกประการกับตัวอย่างด้านล่าง หาก service SSH ทำงานอยู่อย่างถูกต้อง:

อีกวิธีหนึ่งในการตรวจสอบว่าเซิร์ฟเวอร์ OpenSSH ติดตั้งถูกต้องและพร้อมรับการเชื่อมต่อ คือรันคำสั่ง ssh localhost ในเทอร์มินัลอีกครั้ง เมื่อรันคำสั่งเป็นครั้งแรก ผลลัพธ์จะมีลักษณะดังนี้:

ตอนนี้ให้ป้อน ใช่ or y เพื่อดำเนินการต่อ
ยอดเยี่ยม! เซิร์ฟเวอร์ของคุณพร้อมรับการเชื่อมต่อระยะไกล SSH จากเครื่องอื่นผ่าน SSH client แล้ว
ใช้ SSH เชื่อมต่อกับ Remote Server บน Linux ได้อย่างไร?
ตอนนี้คุณติดตั้ง OpenSSH ทั้งฝั่ง client และ server บนทุกอุปกรณ์ที่ต้องการแล้ว ให้ทำตามขั้นตอนด้านล่างเพื่อสร้างการเชื่อมต่อ SSH แบบปลอดภัยไปยังเซิร์ฟเวอร์ของคุณ:
- เปิด SSH terminal บนคอมพิวเตอร์ของคุณ แล้วรันคำสั่งต่อไปนี้:
หากชื่อผู้ใช้บนเครื่องของคุณตรงกับชื่อผู้ใช้บนเซิร์ฟเวอร์ที่ต้องการเชื่อมต่อ ให้รันคำสั่งนี้:
ssh your_username@host_ip_address
ถ้าชื่อผู้ใช้บนเครื่องของคุณตรงกับชื่อผู้ใช้บนเซิร์ฟเวอร์ที่ต้องการเชื่อมต่อ ให้รันคำสั่งนี้:
ssh host_ip_address
และกด Enter.
- พิมพ์รหัสผ่านแล้วกด Enter โดยระบบจะไม่แสดงสิ่งใดบนหน้าจอขณะพิมพ์ หากวางรหัสผ่านจากคลิปบอร์ด ตรวจสอบให้แน่ใจว่าเก็บไว้อย่างปลอดภัย ไม่ใช่ในไฟล์ข้อความทั่วไป
- เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์เป็นครั้งแรก ระบบจะถามว่าต้องการเชื่อมต่อต่อไปหรือไม่ ให้พิมพ์ "ใช่และกด Enter. ข้อความนี้จะปรากฏเพียงครั้งเดียว เนื่องจากยังไม่มีข้อมูลของเซิร์ฟเวอร์ปลายทางในระบบของคุณ
- ระบบได้เพิ่ม ECDSA fingerprint key เรียบร้อยแล้ว และคุณเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลสำเร็จแล้ว
หากอุปกรณ์ที่คุณต้องการเชื่อมต่อระยะไกลอยู่บนเครือข่ายเดียวกัน ควรใช้ IP address แบบ private แทน public IP address จะปลอดภัยกว่า แต่ถ้าอุปกรณ์อยู่คนละเครือข่าย ให้ใช้ public IP address ตามปกติ เมื่อเชื่อมต่อสำเร็จแล้ว คุณสามารถจัดการและควบคุมอุปกรณ์ระยะไกลผ่าน terminal ได้เลย หากเชื่อมต่อไม่ได้ ให้ตรวจสอบความถูกต้องของ IP address, ชื่อผู้ใช้ และรหัสผ่าน และตรวจดูว่า port ที่ SSH daemon ใช้งานอยู่นั้นไม่ถูก firewall บล็อกหรือตั้งค่า port forwarding ผิดพลาด
Linux Hosting ที่ใช้งานได้ทันที
ต้องการวิธีที่ดีกว่าในการโฮสต์เว็บไซต์และเว็บแอปของคุณ? กำลังพัฒนาโปรเจกต์ใหม่? หรือแค่ไม่อยากใช้ Windows? นั่นคือเหตุผลที่เรามี Linux VPS
เริ่มต้นใช้งาน Linux VPS ของคุณขั้นตอนต่อไปสำหรับการควบคุมระยะไกลด้วย SSH
ตอนนี้ที่คุณสามารถสร้างการเชื่อมต่อ SSH จากระยะไกลไปยังเซิร์ฟเวอร์ได้แล้ว เราแนะนำให้ดำเนินการเพิ่มเติมอีกสองสามขั้นตอนเพื่อเพิ่มประสิทธิภาพการควบคุม SSH และเสริมความปลอดภัย เนื่องจากการใช้ค่าเริ่มต้นสำหรับการตั้งค่าการเชื่อมต่อ SSH จากระยะไกลทำให้ระบบของคุณเสี่ยงต่อการถูกแฮกและการบุกรุกมากขึ้น ซึ่งทำให้การเข้าถึง SSH จากระยะไกลไม่ปลอดภัย และระบบของคุณกลายเป็นเป้าหมายของการโจมตีแบบอัตโนมัติได้
ต่อไปนี้คือคำแนะนำในการเพิ่มความปลอดภัยให้กับ SSH ซึ่งสามารถปรับใช้ได้โดยแก้ไขไฟล์การตั้งค่า sshd:
- แก้ไขพอร์ตเริ่มต้น TCP ที่ daemon ของ SSH ใช้รับการเชื่อมต่อ โดยเปลี่ยนจากพอร์ต 22 ไปเป็นหมายเลขที่สูงกว่ามาก เช่น 245976 หลีกเลี่ยงหมายเลขพอร์ตที่เดาได้ง่าย เช่น 222, 2222 หรือ 22222
- ใช้คู่คีย์ SSH สำหรับการยืนยันตัวตนแบบไม่ใช้รหัสผ่าน วิธีนี้ปลอดภัยกว่าและเข้าสู่ระบบได้เร็วกว่า โดยไม่ต้องจำหรือพิมพ์รหัสผ่านใดๆ
- ปิดการเข้าสู่ระบบด้วยรหัสผ่านบนเซิร์ฟเวอร์ของคุณ หากรหัสผ่านถูกเจาะ การปิดตัวเลือกนี้จะป้องกันไม่ให้ผู้อื่นใช้รหัสผ่านนั้นเข้าสู่เซิร์ฟเวอร์ได้ ก่อนดำเนินการ ตรวจสอบให้แน่ใจว่าการยืนยันตัวตนด้วย key pair ทำงานได้ถูกต้องก่อน
- ปิดการใช้งาน root access บนเซิร์ฟเวอร์ และใช้บัญชีผู้ใช้ทั่วไปร่วมกับคำสั่ง su – แทน (เพื่อสลับไปยัง root user เมื่อจำเป็น)
ตอนนี้เราเข้าใจเรื่องการเชื่อมต่อระยะไกลสำหรับ SSH และวิธีเข้าถึง SSH จากระยะไกลมากขึ้นแล้ว บทความนี้กล่าวถึง PuTTY หลายครั้ง หากคุณยังไม่คุ้นเคยกับ PuTTY ก็คงมีคำถามเกี่ยวกับมันอยู่บ้าง นอกจากคู่มือการเชื่อมต่อระยะไกลของ SSH แล้ว เราจะพาคุณทำความรู้จักกับ PuTTY และแสดงวิธีใช้งานเพื่อเชื่อมต่อกับเซิร์ฟเวอร์ Linux ด้วย
PuTTY คืออะไร?
PuTTY คือโปรแกรม terminal emulator ที่ได้รับความนิยมสูง ไม่ได้จำกัดอยู่แค่ระบบปฏิบัติการ Windows เพียงอย่างเดียว PuTTY เป็นซอฟต์แวร์ฟรีและ open-source จึงเป็นที่นิยมในหมู่ผู้ใช้ Linux ด้วย และรองรับการเชื่อมต่อกับเครื่องระยะไกลผ่าน protocol ต่าง ๆ ผ่านอินเทอร์เฟซแบบ text รวมถึง SSH และ Telnet.
[su_button url="https://www.putty.org/" target="blank" style="soft" size="5″]ดาวน์โหลด Putty[/su_button]
หมายเหตุ: PuTTY เป็นซอฟต์แวร์ที่ดาวน์โหลดได้ฟรี และเป็นวิธีที่ง่ายในการเข้าถึง Unix shell environment จากระบบ Windows ต่างจาก Unix ตรงที่ Windows ไม่มี SSH server หรือ client ติดตั้งมาให้ล่วงหน้า นั่นจึงเป็นเหตุผลที่โปรแกรมโอนไฟล์ผ่านเครือข่ายนี้รองรับหลายโปรโตคอล รวมถึง Telnet client ด้วย
อ่านเพิ่มเติม: สร้าง SSH Keys ใน Windows 10
วิธีดาวน์โหลดและติดตั้ง PuTTY บน Ubuntu Linux
PuTTY เวอร์ชัน Linux เป็น graphical terminal application ที่ส่วนใหญ่แล้วไม่ได้ติดตั้งมาพร้อมกับ distro Linux แต่คุณสามารถติดตั้ง PuTTY ผ่าน terminal บนอุปกรณ์ที่ใช้ Linux ได้อย่างง่ายดาย
หากยังไม่ได้ติดตั้ง PuTTY กรุณาไปที่หน้า ดาวน์โหลด PuTTY และดาวน์โหลด installer สำหรับ Linux จากส่วน Package Files ในหน้านั้น
ข่าวดีสำหรับผู้ใช้ Linux คือ PuTTY มีให้ใน universe repository ของ Ubuntu เพื่อติดตั้ง PuTTY บน Linux Ubuntu คุณต้องตรวจสอบก่อนว่า universe repository เปิดใช้งานอยู่แล้ว โดยใช้คำสั่งนี้:
sudo add-apt-repository universe
เมื่อ universe repository เปิดใช้งานแล้ว คุณสามารถอัปเดต Ubuntu ด้วยคำสั่งนี้:
sudo apt update
จากนั้นติดตั้ง PuTTY ด้วยคำสั่งนี้:
sudo apt install putty
เมื่อติดตั้ง PuTTY เสร็จแล้ว คุณสามารถเปิดใช้งานได้จากเมนู PuTTY เวอร์ชัน Linux มีหน้าตาคล้ายกับเวอร์ชัน Windows มาก ดังนั้นคุณจะไม่มีปัญหาในการหาทางไปยังการตั้งค่าต่าง ๆ ที่เปลี่ยนแปลงไป
วิธีเชื่อมต่อกับเซิร์ฟเวอร์ Linux โดยใช้ PuTTY
หากต้องการเชื่อมต่อกับ Linux server โดยใช้ PuTTY หลังจากติดตั้งแล้ว ให้ทำตามขั้นตอนเหล่านี้:
ขั้นตอนที่ 1: ตั้งค่า PuTTY
หน้าจอตั้งค่า session หลักจะปรากฏขึ้นเมื่อคุณเปิด PuTTY ให้เริ่มต้นด้วยการกรอก ชื่อโฮสต์ (หรือ IP address) ของ server ที่ต้องการเชื่อมต่อ
พอร์ตจะถูกตั้งค่าเป็น 22 ตามค่าเริ่มต้น เนื่องจากเป็นพอร์ตมาตรฐานของ SSH บน server ส่วนใหญ่ ซึ่งอาจเป็นช่องโหว่ได้เพราะแฮกเกอร์จะรู้ว่าต้องโจมตีพอร์ตใด คุณควร เปลี่ยนพอร์ต SSH โดยใช้คำแนะนำเหล่านี้ จากนั้นเปลี่ยนหมายเลขพอร์ตใน PuTTY ด้วย และตรวจสอบให้แน่ใจว่า Connection type ถูกตั้งค่าเป็น SSH
สมมติว่าคุณไม่ได้ใช้ private key ในการเชื่อมต่อกับ server และไม่ต้องการบันทึกการตั้งค่าไว้ใช้ภายหลัง ในกรณีนี้ให้คลิก Open เพื่อเปิดการเชื่อมต่อ SSH ทันทีโดยยืนยันตัวตนด้วย password ของ account คุณ
หากนี่เป็นครั้งแรกที่คุณเชื่อมต่อกับ server นี้ PuTTY จะแสดง คำเตือนด้านความปลอดภัย เพื่อแจ้งให้คุณทราบว่าไม่มี key ของ server นี้อยู่ใน registry ซึ่งเป็นเรื่องปกติสำหรับการเชื่อมต่อครั้งแรก

หากเชื่อมต่อสำเร็จ ระบบจะขอให้คุณกรอก password เมื่อกรอกแล้ว คุณจะเชื่อมต่อกับ shell บน server ได้ทันที
อ่านเพิ่มเติม : ติดตั้ง MikroTik CHR บน VPS (ด้วย PuTTY)
ขั้นตอนที่ 2: บันทึกการตั้งค่า PuTTY สำหรับการใช้งานครั้งต่อไป
PuTTY ให้คุณบันทึกการตั้งค่าที่ใช้เชื่อมต่อกับ server เพื่อที่จะได้ไม่ต้องพิมพ์ข้อมูลทั้งหมดใหม่ทุกครั้ง หลังจากกรอกข้อมูลที่จำเป็นครบแล้วและพร้อมจะเชื่อมต่อ ให้ตรวจสอบว่าคุณอยู่ที่หน้าจอตั้งค่า session หลักที่กล่าวถึงข้างต้น
คุณจะเห็น hostname และหมายเลขพอร์ตของ server ให้ตั้งชื่อการตั้งค่า SSH session ที่ต้องการบันทึกในช่องข้อความใต้ บันทึกเซสชั่น และกด บันทึก.
วิธีตั้งค่า SSH Public Key Authentication บน Linux
นอกจากนี้ PuTTY ยังสามารถตั้งค่าให้ใช้ SSH key ได้ด้วย SSH key เป็นวิธีการยืนยันตัวตนที่ปลอดภัยกว่าและบางครั้งก็สะดวกกว่า โดยคุณสามารถสร้าง key ได้จาก PuTTY เองเลย นี่คือ คู่มือการสร้าง SSH key โดยใช้ PuTTY บน Windowsคุณสามารถใช้คู่มือนี้เพื่อเพิ่มความปลอดภัยให้กับ SSH ได้อย่างรวดเร็ว
คุณต้องทำตามขั้นตอนเหล่านี้เพื่อตั้งค่า public-key authentication ผ่าน SSH บนเครื่อง Linux (หรือ macOS):
ขั้นตอนที่ 1: สร้าง Key Pair
ก่อนอื่น ให้เข้าสู่ระบบคอมพิวเตอร์ที่จะใช้เชื่อมต่อกับ remote host จากนั้นใช้ command line SSH เพื่อสร้างคู่กุญแจด้วยอัลกอริทึม RSA โดยพิมพ์คำสั่งต่อไปนี้แล้วกด Enter:
ssh-keygen -t rsa
ขั้นตอนที่ 2: ระบุชื่อไฟล์และรหัสผ่าน
ระบบจะให้คุณระบุชื่อไฟล์สำหรับบันทึกคู่กุญแจ และรหัสผ่านสำหรับป้องกัน private key หากต้องการใช้ชื่อไฟล์และตำแหน่งค่าเริ่มต้น ให้กด Enter หรือ Return โดยไม่ต้องพิมพ์ชื่อไฟล์ หรือจะพิมพ์ชื่อไฟล์เอง เช่น My_ssh_key แล้วกด Enter หรือ Return ก็ได้ ควรทราบว่า remote host หลายแห่งรับเฉพาะ private key ที่ใช้ชื่อไฟล์และ path ค่าเริ่มต้นเท่านั้น ดังนั้น หากใช้ชื่ออื่น คุณต้องระบุชื่อไฟล์นั้นอย่างชัดเจนใน command line ของ SSH หรือในไฟล์ config ของ SSH client (~/.ssh/config)
ให้ตั้งรหัสผ่านอย่างน้อย 5 ตัวอักษร แล้วกด Enter หรือ Return หากกด Enter โดยไม่ใส่รหัสผ่าน ระบบจะสร้าง private key โดยไม่มีรหัสผ่านป้องกัน.
ขั้นตอนที่ 3: คัดลอก Public Key
ใช้ SFTP หรือ SCP เพื่อคัดลอกไฟล์ public key ไปยังบัญชีของคุณบนระบบ remote
ขั้นตอนที่ 4: กรอกข้อมูลบัญชีของคุณ
ระบบจะให้คุณใส่รหัสผ่านบัญชี จากนั้น public key จะถูกคัดลอกไปยัง home directory บนระบบ remote โดยใช้ชื่อไฟล์เดิม
ขั้นตอนที่ 5: เข้าสู่ระบบระยะไกล
เข้าสู่ระบบ remote ด้วยชื่อผู้ใช้และรหัสผ่านของบัญชีคุณ
ขั้นตอนที่ 6: สร้างไฟล์ที่จำเป็นในบัญชีของคุณ
หากบัญชีของคุณบนระบบ remote ยังไม่มีไฟล์ ~/.ssh/authorized_keys ให้สร้างโดยพิมพ์คำสั่งต่อไปนี้:
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
ขั้นตอนที่ 7: เพิ่มเนื้อหาของไฟล์ public key ลงใน ไฟล์ authorized-keys

บนระบบ remote ให้เพิ่มเนื้อหาของไฟล์ public key เช่น ~/id_rsa.pub ต่อท้ายในไฟล์ ~/.ssh/authorized_keys ของคุณด้วยคำสั่งต่อไปนี้:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
ตรวจสอบเนื้อหาของ ~/.ssh/authorized_keys เพื่อยืนยันว่า public key ถูกเพิ่มเข้าไปถูกต้องด้วยคำสั่งต่อไปนี้:
more ~/.ssh/authorized_keys
ขั้นตอนที่ 8: ลบไฟล์ Public Key
ตอนนี้คุณสามารถลบไฟล์ public key ออกจากบัญชีบนระบบ remote ได้อย่างปลอดภัย โดยใช้คำสั่งต่อไปนี้ใน command line:
rm ~/id_rsa.pub
หรือหากต้องการเก็บสำเนาของ public key ไว้บนระบบ remote ให้ย้ายไปยัง directory .ssh ด้วยคำสั่งนี้:
mv ~/id_rsa.pub ~/.ssh/
ขั้นตอนที่ 9: เพิ่ม Public Key ของคุณไปยังระบบอื่น (ไม่บังคับ)
ณ จุดนี้ของการตั้งค่า SSH Public Key Authentication คุณสามารถทำซ้ำขั้นตอนเหล่านี้เพื่อเพิ่ม public key ของคุณไปยังระบบ remote อื่น ๆ ที่ต้องการเข้าถึงจากคอมพิวเตอร์ที่มี private key ผ่าน SSH public key authentication
ขั้นตอนที่ 10: SSH เข้าสู่บัญชีของคุณบนระบบระยะไกล
ตอนนี้คุณสามารถใช้การเชื่อมต่อ SSH remote โดยใช้บัญชีบนระบบ remote ที่มี private key ของคุณ หาก private key ของคุณมีรหัสผ่านป้องกัน ระบบ remote จะขอรหัสผ่านหรือ passphrase (ดังภาพด้านล่าง) โดย private key หรือ passphrase ของคุณจะไม่ถูกส่งไปยังระบบ remote

หาก private key ของคุณไม่มีรหัสผ่านป้องกัน ระบบ remote จะพาคุณเข้าสู่ command line ใน home directory โดยไม่ต้องถามรหัสผ่านหรือ passphrase และคุณจะเห็น output คล้ายกับนี้:

คลิก เปิด ในแท็บ ให้ใส่รหัสผ่านแล้วเชื่อมต่อ
นอกจากการเชื่อมต่อ SSH remote แล้ว ยังมีเครื่องมือ remote desktop หลายตัวที่ให้คุณควบคุมระบบจากระยะไกลได้ มาทำความรู้จักกับเครื่องมือเหล่านี้โดยสังเขป
อ่านเพิ่มเติม: ทุกสิ่งที่ควรรู้เกี่ยวกับ SSH SOCKS5 Proxy
มาตรฐาน Remote Desktop ที่สำคัญ
VNC และ RDP เป็นสอง remote desktop protocol ที่มีเป้าหมายคล้ายกัน แต่วิธีการทำงานต่างกัน
VNC คืออะไร?
บางครั้ง VNC (Virtual Network Computing) มักถูกสับสนกับ VPN (Virtual Private Network) เนื่องจากทั้งคู่ทำงานในสภาพแวดล้อม peer-to-peer และช่วยให้เข้าถึงคอมพิวเตอร์จากระยะไกลได้ อย่างไรก็ตาม ทั้งสองไม่ใช่สิ่งเดียวกัน
VNC ให้การเข้าถึงอุปกรณ์อย่างสมบูรณ์ผ่านระบบ desktop sharing ซึ่งให้คุณควบคุมเครื่องจากระยะไกลได้เต็มรูปแบบ ความสามารถด้าน remote desktop นี้เพิ่มประสิทธิภาพการทำงานสำหรับทุกคน ไม่ว่าจะเป็นผู้ใช้ทั่วไป องค์กร หรือทีม IT
ในทางกลับกัน VPN ให้การเข้าถึงเครือข่ายจากระยะไกล ไม่ใช่การเข้าถึงตัวระบบโดยตรง หมายความว่าคุณสามารถเข้าถึงได้เฉพาะข้อมูลและอุปกรณ์ที่แชร์ร่วมกัน เช่น เครื่องพิมพ์ส่วนกลางในที่ทำงาน
การ Tunnel VNC ผ่าน SSH
หากคุณเชื่อมต่อ remote desktop ผ่านโปรโตคอล VNC (Virtual Network Computing) การเชื่อมต่อนั้นจะไม่ปลอดภัย เนื่องจาก VNC client บางตัวปกป้องการเชื่อมต่อเฉพาะช่วงการเข้าสู่ระบบครั้งแรกเท่านั้น คุณสามารถแก้ปัญหานี้ได้โดยส่ง VNC connection ผ่าน Secure Shell (SSH) tunnel ซึ่ง SSH tunnel จะทำให้การเชื่อมต่อ VNC ปลอดภัย และยังช่วยให้ใช้งาน VNC ได้แม้ว่า port ปกติของ VNC (port 5901) จะถูกบล็อก
เครือข่ายองค์กรบางแห่งบล็อกพอร์ตมาตรฐาน เช่น พอร์ต 5901 เพื่อความปลอดภัยเพิ่มเติม การทำ tunnel VNC ผ่าน SSH จะช่วยให้คุณแก้ปัญหานี้ได้
RDP คืออะไร?
RDP (Remote Desktop Protocol) คือโปรโตคอลการสื่อสารเครือข่ายที่พัฒนาโดย Microsoft เพื่อให้ผู้ใช้สามารถเชื่อมต่อกับอุปกรณ์อื่นจากระยะไกลได้ Remote Desktop Protocol เป็นส่วนขยายของโปรโตคอล T.120 ภายใต้กรอบของ ITU (International Telecommunications Union)
ต้องการ Remote Desktop ไหม?
RDP Server ที่เชื่อถือได้พร้อม Uptime 99.95% พกพา Desktop ของคุณไปใช้ได้ทั้งในสหรัฐอเมริกา ยุโรป และเอเชีย
รับ RDP Serverสรุป: การเชื่อมต่อระยะไกลด้วย SSH
การสร้างการเชื่อมต่อระยะไกลด้วย SSH และใช้งานกับเซิร์ฟเวอร์ใน Linux ต้องอาศัยสองส่วนประกอบ ได้แก่ ฝั่ง client และฝั่ง server บทความนี้อธิบายวิธีเข้าถึง SSH จากระยะไกลและประโยชน์ที่ได้รับ นอกจากนี้เรายังมี แผน Linux VPS เพื่อให้คุณใช้งานได้อย่างเต็มประสิทธิภาพ ที่ Cloudzy เรามุ่งมั่นนำเสนอโซลูชัน Linux VPS ที่มีความปลอดภัยและประสิทธิภาพสูง เพื่อให้ประสบการณ์การใช้งาน hosting ของคุณดีที่สุด
คำถามที่พบบ่อย
SSH คืออะไร?
SSH คือโปรโตคอลที่ใช้รักษาความปลอดภัยในการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล คำสั่ง ssh ใช้โปรโตคอลนี้ในการส่งข้อมูลระหว่าง client และ host ในรูปแบบที่เข้ารหัสแล้ว
วิธีตั้งค่า SSH Keys
- สร้าง SSH Keys
- ตั้งชื่อ SSH keys ของคุณ
- ใส่รหัสผ่าน (ไม่บังคับ)
- คัดลอก public key ไปยังระบบระยะไกล
- ทดสอบการเชื่อมต่อ
SSH Key Pair คืออะไร
คู่ SSH key แต่ละคู่ประกอบด้วยสองส่วน ได้แก่ public key และ private key ใครก็ตามที่มี public key สามารถเข้ารหัสข้อมูลได้ แต่จะถอดรหัสได้เฉพาะผู้ที่ถือ private key ที่คู่กันเท่านั้น
SSH Private Key อยู่ที่ไหน
หากใช้ชื่อเริ่มต้น private key จะถูกเก็บไว้ที่ "/root/.ssh/id_rsa"