CH-J Server Managerการจัดการเซิร์ฟเวอร์ผ่าน SSH
เมนู
คู่มือและบทความทั้งหมด →

ตั้งค่า OpenSSH บน Windows Server 2022 และ 2025

ตรวจฟีเจอร์ Windows เริ่ม SSH จำกัดเครือข่ายและยืนยันคีย์โฮสต์

ตรวจและเปิดบริการ

เรียก PowerShell เป็นผู้ดูแลบนเซิร์ฟเวอร์ Windows Server 2025 มี OpenSSH แล้ว ให้ตรวจสถานะแทนติดตั้งซ้ำโดยไม่ดู ตัวอย่างติดตั้งเฉพาะเมื่อขาด เริ่ม sshd และตั้งเริ่มอัตโนมัติ หากดาวน์โหลดล้มเหลวอาจต้องตรวจนโยบายอัปเดต

$cap = Get-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
if ($cap.State -ne 'Installed') {
    Add-WindowsCapability -Online -Name 'OpenSSH.Server~~~~0.0.1.0'
}
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-Service sshd

จำกัดไฟร์วอลล์เฉพาะเครือข่ายจัดการ

แทนซับเน็ตตัวอย่าง 192.0.2.0/24 ด้วยเครือข่ายจัดการจริงก่อนรัน ตรวจและจำกัดกฎ OpenSSH เดิม หรือสร้างแบบจำกัดหากไม่มี คงคอนโซลไว้ ทดสอบ TCP 22 จากเครื่องอื่น พอร์ตเปิดไม่ได้ยืนยันตัวตนเซิร์ฟเวอร์

$AdminSubnet = '192.0.2.0/24'
$rule = Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue
if ($rule) {
    $rule | Set-NetFirewallRule -Enabled True -RemoteAddress $AdminSubnet
} else {
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22 -RemoteAddress $AdminSubnet
}
Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' | Get-NetFirewallAddressFilter
Test-NetConnection -ComputerName windows-server.example -Port 22

ตรวจตัวตนและบัญชี

เทียบลายนิ้วมือจากคอนโซลกับข้อความไคลเอนต์ ใช้ชื่อบัญชี Windows ผู้ดูแลใช้ %ProgramData%/ssh/administrators_authorized_keys พร้อม ACL พิเศษ บัญชีอื่นโดยทั่วไปใช้ .ssh/authorized_keys ในโปรไฟล์ ทำตามเอกสาร Microsoft CH-J รองรับเครื่องมือ Windows บางส่วน ส่วน Linux Disk Manager และขั้นตอน NGINX ไม่ใช่ฟีเจอร์ Windows

ssh-keygen -lf "$env:ProgramData\ssh\ssh_host_ed25519_key.pub" -E sha256
ssh username@windows-server.example

เอกสารโดยละเอียด

Microsoft: OpenSSH Server →

Microsoft: OpenSSH keys →

การปลดล็อกด้วยไบโอเมตริกและความปลอดภัย →