Windows Server 2022 OpenSSH Serverን እንደ አማራጭ ባህሪ ይዞ ይመጣል፦ የሶስተኛ ወገን ጫኚ የለም፤ ዝማኔዎች በ Windows Update ይመጣሉ። ካበሩት በኋላ በ SSH PowerShellን ማስሄድ፣ በ scp ፋይሎችን መቅዳት፣ እና ስክሪፕቶችን ወይም CIን እንደ ማንኛውም የ Linux ማሽን ወደ ሰርቨሩ ማመልከት ይችላሉ።
ከታች ያለውን ሁሉ በእኛ Windows Server 2022 ምስል ላይ፣ በ RDP በተከፈተ የአስተዳዳሪ PowerShell ውስጥ አድርገናል (እንዴት እንደሚገናኙ)።
መጀመሪያ አውታረ መረቡ። NAT ባለው የ Windows እቅድ ላይ ብቸኛው የገቢ ማስተላለፍ ወደ RDP ይሄዳል፤ ስለዚህ SSH ከበይነመረብ አይደረስም። ከውጭ SSH ለመጠቀም የራሱ IPv4 ያለው እቅድ ያስፈልግዎታል፤ ለምሳሌ Windows Small-IP። ፖርቱ ሲደረስ ከታች ያሉት እርምጃዎች አምስት ደቂቃ ያህል ይወስዳሉ።
1. OpenSSH Serverን ይጫኑ
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
ደንበኛው አስቀድሞ ተጭኗል፤ ሰርቨሩ እስኪያክሉት ድረስ NotPresent ያሳያል። በእኛ ሰርቨር ላይ መጫኑ 28 ሰከንድ ወሰደ።
2. አገልግሎቱን ያስጀምሩ እና በማስነሻ ጊዜ እንዲጀምር ያድርጉ
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
Get-NetFirewallRule -Name *OpenSSH*
ባህሪውን መጫን የፋየርዎል ደንቡን OpenSSH-Server-In-TCP (ፖርት 22፣ ገቢ፣ የተፈቀደ) ይፈጥራል፤ ስለዚህ የራስዎን ማከል አያስፈልግም።
3. PowerShellን ነባሪ ሼል ያድርጉ
በነባሪ የ SSH ክፍለ-ጊዜ በ cmd.exe ውስጥ ይከፈታል። ወደ PowerShell ይቀይሩ፦
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
አዲስ ግንኙነቶች ወዲያውኑ PowerShell 5.1 ያገኛሉ፤ እንደገና ማስጀመር አያስፈልግም።
4. ለ Administrator ቁልፍ፦ ሁሉም የሚሰናከሉበት ፋይል
ይህ የመጀመሪያው የ Windows ወጥመድ ነው። በ Administrators ቡድን ውስጥ ላሉ መለያዎች sshd C:\Users\<name>\.ssh\authorized_keys ን አያነብም። አንድ የጋራ ፋይል C:\ProgramData\ssh\administrators_authorized_keys ያነባል፤ ያውም ከ Administrators እና SYSTEM በስተቀር ማንም ሊጽፍበት ካልቻለ ብቻ፦
$pub = 'ssh-ed25519 AAAA...your-public-key... you@laptop'
Set-Content -Path C:\ProgramData\ssh\administrators_authorized_keys -Value $pub -Encoding ascii
icacls.exe "C:\ProgramData\ssh\administrators_authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
-Encoding ascii ደግሞ አስፈላጊ ነው። በእኛ ሙከራ ተመሳሳዩ ቁልፍ በ Out-File (UTF-16፣ የ PowerShell 5.1 ነባሪ) ሲቀመጥ በ Permission denied (publickey) ተከልክሏል። ከራስዎ ማሽን፦
ssh Administrator@YOUR.SERVER.IP
ያለ የይለፍ ቃል የ PowerShell መጠየቂያ ማግኘት አለብዎት። አስተዳዳሪ ላልሆኑ ተጠቃሚዎች የተለመደው C:\Users\<name>\.ssh\authorized_keys ይሠራል።
5. የይለፍ ቃል መግቢያን ያጥፉ፦ ሁለተኛው ወጥመድ
ግልጽ የሆነው ለውጥ PasswordAuthentication no በዚህ ስሪት አይበቃም። OpenSSH 8.1 አሁንም ያንኑ የ Windows የይለፍ ቃል የሚጠይቀውን keyboard-interactive ያቀርባል። በእኛ ሙከራ ያለ ቁልፍ መግባት እሱንም እስክናጠፋው ድረስ keyboard-interactive ማሳየቱን ቀጥሏል። በተጨማሪም ቅንብሩ በፋይሉ መጨረሻ ካለው Match Group administrators ብሎክ በፊት መሆን አለበት፤ ያለበለዚያ ለአስተዳዳሪዎች ብቻ ይተገበራል። ይህ ትዕዛዝ ሁለቱንም መስመሮች ከላይ ያስቀምጣል፦
$cfg = 'C:\ProgramData\ssh\sshd_config'
$lines = Get-Content $cfg | Where-Object { $_ -notmatch '^#?\s*(PasswordAuthentication|KbdInteractiveAuthentication|ChallengeResponseAuthentication)\s' }
Set-Content $cfg -Value (@('PasswordAuthentication no', 'ChallengeResponseAuthentication no') + $lines) -Encoding ascii
Restart-Service sshd
የአሁኑን የ SSH ክፍለ-ጊዜ ክፍት ያድርጉ እና ከሁለተኛ ተርሚናል ይሞክሩ። በይለፍ ቃል ብቻ የሚደረግ ሙከራ አሁን ይህን ማግኘት አለበት፦
Permission denied (publickey).
በእኛ ሙከራ ለ Administrator እና ለመደበኛ ተጠቃሚ ውጤቱ ይኸው ነበር፤ በቁልፍ መግባት ደግሞ መሥራቱን ቀጥሏል።
በዚህ ምን ማድረግ ይችላሉ
- ከየትኛውም ቦታ ትዕዛዝ ማስሄድ፦
ssh Administrator@IP 'Get-Service sshd'። - ፋይሎችን መቅዳት፦
scp .\app.zip Administrator@IP:C:/apps/። - ልክ እንደ RDP ፖርቱን በአድራሻዎ መገደብ፦
Set-NetFirewallRule -Name OpenSSH-Server-In-TCP -RemoteAddress 203.0.113.10።
የትኛው እቅድ
ከውጭ SSH የሕዝብ IPv4 ያስፈልገዋል፦ Windows Small-IP (4 vCPU፣ 4 GB፣ 50 GB) በወር $28፣ Windows Medium-IP (6 vCPU፣ 6 GB) በወር $36 ነው። Windows በራስዎ ፈቃድ የሚሠራ Server 2022 ነው (BYOL ማብራሪያ)። አራቱም እቅዶች በ Windows VPS ገጽ ላይ አሉ። ግንኙነቱን ካቋረጡ በኋላም ፕሮግራም እንዲሠራ በ Windows Server ላይ ስክሪፕት 24/7 ማስሄድን ይመልከቱ።
አስተያየቶች
እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።