ค้นหาเว็บไซต์

กำหนดค่าเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022


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

OpenSSH คือชุดโอเพ่นซอร์สของยูทิลิตี้เครือข่ายที่ปลอดภัยที่ใช้โปรโตคอล Secure Shell (SSH) ได้รับการพัฒนาครั้งแรกโดย Tatu Ylonen และต่อมาได้รับการพัฒนาโดยทีมงาน OpenBSD OpenSSH ใช้เพื่อจัดเตรียมช่องทางที่ปลอดภัยและเข้ารหัสสำหรับการเข้าสู่ระบบระยะไกล การถ่ายโอนไฟล์ และบริการเครือข่ายอื่น ๆ ระหว่างคอมพิวเตอร์สองเครื่อง

สิทธิประโยชน์โฆษณาฟีเจอร์ที่นำเสนอโดย OpenSSH คือ:

  • การส่งต่อพอร์ต: ให้ความสามารถในการส่งต่อพอร์ตที่มีประสิทธิภาพ ช่วยให้ผู้ใช้สามารถเข้าถึงบริการได้อย่างปลอดภัยบนเซิร์ฟเวอร์ระยะไกลเสมือนว่าพวกเขาทำงานอยู่ในเครื่อง โดยไม่ต้องเปิดเผยบริการกับอินเทอร์เน็ต
  • การส่งต่อ X11: OpenSSH ยังช่วยให้ผู้ใช้ส่งต่อแอปพลิเคชัน X11 (กราฟิก) ได้อย่างปลอดภัยผ่านการเชื่อมต่อ SSH ทำให้สามารถเข้าถึงแอปพลิเคชันกราฟิกที่ทำงานบนเซิร์ฟเวอร์ระยะไกลได้จากระยะไกล
  • การส่งต่อตัวแทน: การส่งต่อตัวแทน ช่วยให้ผู้ใช้สามารถส่งต่อข้อมูลรับรองการตรวจสอบความถูกต้องไปยังเซิร์ฟเวอร์ระยะไกลได้อย่างปลอดภัย โดยไม่จำเป็นต้องป้อนรหัสผ่านเป็นครั้งคราว
  • การตรวจสอบสิทธิ์คีย์สาธารณะ: นี่เป็นวิธีที่ปลอดภัยและสะดวกในการตรวจสอบสิทธิ์ผู้ใช้โดยไม่ต้องใช้รหัสผ่าน
  • การเข้าถึงระยะไกลที่ปลอดภัย: ผู้ใช้สามารถเข้าถึงและจัดการอุปกรณ์เครือข่ายระยะไกลได้อย่างปลอดภัยโดยใช้โปรโตคอล SSH ซึ่งมีการเข้ารหัสและการตรวจสอบสิทธิ์ข้อมูลระหว่างทาง
  • การถ่ายโอนไฟล์ที่เข้ารหัส: นอกจากนี้ยังมียูทิลิตี้ SFTP (Secure File Transfer Protocol) และ SCP (Secure Copy) สำหรับการถ่ายโอนไฟล์อย่างปลอดภัยระหว่างคอมพิวเตอร์สองเครื่อง ทำให้มั่นใจได้ว่าข้อมูลจะได้รับการเข้ารหัสระหว่างการส่งผ่าน

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

มีเซิร์ฟเวอร์ OpenSSH สำหรับ Windows หรือไม่

คำถามใหญ่คือ เราสามารถติดตั้งและใช้ OpenSSH Server บน Windows Server 2022 ได้หรือไม่

คำตอบคือใช่ สามารถติดตั้งและใช้งานเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 เพื่อเปิดใช้งานการเข้าถึงระยะไกลที่ปลอดภัยและความสามารถในการถ่ายโอนไฟล์

Microsoft จัดให้มีการใช้งานเซิร์ฟเวอร์ OpenSSH สำหรับ Windows Server 2019 และเวอร์ชันที่ใหม่กว่า สามารถติดตั้งผ่าน Windows PowerShell หรือ Server Manager GUI แพ็คเกจนี้ประกอบด้วยบริการ SSHD (SSH Daemon) ซึ่งมีฟังก์ชันการทำงานของเซิร์ฟเวอร์ SSH และยูทิลิตี้ไคลเอ็นต์ SSH อื่นๆ มากมาย เช่น SSH, SCP และ SFTP เมื่อการติดตั้งเสร็จสิ้น ก็สามารถกำหนดค่าเพื่อให้ผู้ใช้สามารถเชื่อมต่อกับเซิร์ฟเวอร์ Windows จากระยะไกลได้

วันนี้ผมจะสาธิตวิธีกำหนดค่า OpenSSH Server บน Windows Server 2022

ข้อกำหนดเบื้องต้น

สำหรับคู่มือนี้ คุณต้องมี:

  • อุปกรณ์ที่ใช้ Windows Server 2019 หรือ Windows 10 เป็นอย่างน้อย (รุ่น 1809)
  • PowerShell 5.1 หรือใหม่กว่า
  • บัญชีที่เป็นสมาชิกของกลุ่ม ผู้ดูแลระบบในตัว

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

(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

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

#1. ติดตั้งเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022

ก่อนที่เราจะดำเนินการกำหนดค่า เราจำเป็นต้องตรวจสอบให้แน่ใจว่าได้ติดตั้งเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 แล้ว มีสองวิธีในการบรรลุเป้าหมายนี้

  • การใช้ GUI
  • การใช้ PowerShell

วิธีที่ 1 - ติดตั้งเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 โดยใช้ GUI

วิธีการนี้เกี่ยวข้องกับการเปิด การตั้งค่า จากเมนู Start จากนั้นเลือกแอพ

เลือกคุณสมบัติเสริมและสแกนเพื่อดูว่ามีการติดตั้ง OpenSSH หรือไม่

ถ้าไม่ ให้คลิกที่ เพิ่มคุณลักษณะ ค้นหาและเลือก จากนั้นจึงทำการติดตั้ง

เมื่อติดตั้งแล้ว ให้กลับไปที่ แอป->คุณลักษณะเสริม และยืนยันว่า OpenSSH อยู่ในรายการ

ตอนนี้กำหนดค่าบริการภายใต้แท็บบริการ กด Win+R แล้วพิมพ์ services.msc ในช่องเพื่อเปิดหน้าต่างบริการ

ค้นหาและดับเบิลคลิกที่ OpenSSH SSH Server เพื่อเปิดแท็บการกำหนดค่า

บนแท็บ ทั่วไป ให้เปลี่ยน ประเภทการเริ่มต้น เป็น อัตโนมัติ และเริ่มบริการโดยเลือก เริ่ม

วิธีที่ 2 - ติดตั้งเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 โดยใช้ PowerShell

คุณสามารถติดตั้งเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 จาก PowerShell ได้อย่างง่ายดาย ขั้นแรก ตรวจสอบว่า OpenSSH พร้อมใช้งานหรือไม่โดยใช้คำสั่งด้านล่าง:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

ผลลัพธ์ตัวอย่าง:

จากนั้นคุณสามารถติดตั้งเซิร์ฟเวอร์/ไคลเอนต์ OpenSSH ได้โดยใช้คำสั่งด้านล่าง:

# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

ผลลัพธ์ตัวอย่าง:

ตอนนี้เปิด Powershell ด้วยสิทธิ์ระดับสูง (ผู้ดูแลระบบ) เพื่อเริ่มบริการ:

# Start the sshd service
Start-Service sshd

# Configure Automatic start(recommended):
Set-Service -Name sshd -StartupType 'Automatic'

แม้ว่ากฎไฟร์วอลล์จะได้รับการกำหนดค่าโดยอัตโนมัติระหว่างการติดตั้ง แต่เรายังคงสามารถยืนยันได้ด้วยการรันคำสั่งด้านล่าง:

if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

ผลลัพธ์ตัวอย่าง:

#2. เชื่อมต่อกับเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022

ตอนนี้คุณได้ติดตั้งและกำหนดค่าเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 แล้ว เราสามารถทดสอบเพื่อตรวจสอบได้ว่าเซิร์ฟเวอร์ทำงานตามที่ต้องการหรือไม่

คุณสามารถเชื่อมต่อกับ Windows Server 2022 ได้โดยใช้โปรโตคอล SSH จากไคลเอนต์ OpenSSH ใดก็ได้ คำสั่งมีไวยากรณ์ด้านล่าง:

ssh domain\username@servername

ตัวอย่างเช่น:

ใช้การตรวจสอบสิทธิ์คู่คีย์ SSH บน Windows Server 2022

คุณสามารถสร้างและใช้คีย์ SSH เพื่อเชื่อมต่อกับ Windows Server 2022 ของคุณได้ สร้างคีย์ SSH จากไคลเอ็นต์ OpenSSH ของคุณ

ssh-keygen -t ed25519

ตัวอย่างเช่นบนไคลเอนต์ Ubuntu Linux ของฉัน:

เมื่อสร้างขึ้นแล้ว ให้คัดลอกคีย์ที่สร้างบนไคลเอนต์ OpenSSH ไปยังเซิร์ฟเวอร์ Windows 2022 OpenSSH ของคุณโดยใช้โปรโตคอล SCP:

##From Your OpenSSH Client
scp  ~/.ssh/id_ed25519.pub username@window22_host:/Users/username/.ssh/authorized_keys 

ตัวอย่างเช่น:

$ scp  ~/.ssh/id_ed25519.pub klinsmann@192.168.205.20:/Users/klinsmann/.ssh/authorized_keys 
[email 's password: 
id_ed25519.pub                                              100%  108   102.5KB/s   00:00  

ตอนนี้ลองเชื่อมต่อกับ Windows Server 2022 โดยใช้คีย์ SSH

มันได้ผล! จากผลลัพธ์ข้างต้น เราไม่ได้รับการร้องขอให้ระบุรหัสผ่านเพื่อตรวจสอบสิทธิ์

#3. กำหนดค่า OpenSSH บน Windows Server 2022

เมื่อติดตั้งแล้ว OpenSSH จะจัดเก็บไฟล์การกำหนดค่าไว้ที่ %programdata%\ssh\sshd_config ตามค่าเริ่มต้น คุณยังสามารถระบุเส้นทางการกำหนดค่าได้ด้วยการเรียกใช้ sshd.exe ด้วยพารามิเตอร์ -f หากต้องการดูโฟลเดอร์ ข้อมูลโปรแกรม ในไดรฟ์ C ของคุณ ให้คลิกที่ดู->รายการที่ซ่อน:

ตอนนี้ให้ค้นหา ssh\sshd_config และเปิดไฟล์เพื่อแก้ไขโดยใช้เครื่องมือที่คุณต้องการ

ไฟล์การกำหนดค่านี้มีการตั้งค่า OpenSSH ที่จำเป็นทั้งหมด ซึ่งรวมถึง AllowGroups, AllowUsers, DenyGroups, DenyUsers, AuthenticationMethods เป็นต้น

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

PasswordAuthentication no

ตัวอย่าง :

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

ผลลัพธ์ข้างต้นแสดงว่า e สามารถเชื่อมต่อได้โดยใช้คีย์ SSH เท่านั้น

คำตัดสิน

วันนี้เราได้เรียนรู้วิธีกำหนดค่าเซิร์ฟเวอร์ OpenSSH บน Windows Server 2022 แล้ว ฉันหวังว่านี่จะมีความสำคัญสำหรับคุณ

ดูเพิ่มเติม:

  • วิธีการติดตั้งและรัน Linux Bash Shell บน Windows
  • วิธีกำหนดค่าเซิร์ฟเวอร์ DNS บน Windows Server 2022
  • วิธีเปิดใช้งานเดสก์ท็อประยะไกลบน Windows Server 2022
  • ติดตั้งบริการโดเมน Active Directory ใน Windows Server 2022
  • เข้าร่วมระบบ Windows สู่ FreeIPA Realm โดยไม่ต้องใช้ Active Directory

บทความที่เกี่ยวข้อง