افحص الخدمة وفعّلها
شغّل 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