−25%

በWindows ዓመታዊ ክፍያ ላይ፣ እስከ ኦክቶበር 31። ዕቅዶችን ይመልከቱ

EQVPS
ጀምር

በ Windows Server 2022 ላይ OpenSSH Server እንዴት እንደሚጫን (በቁልፍ መግባት፣ PowerShell እንደ ሼል)

አብሮ የተሠራውን OpenSSH Server በ Windows Server 2022 VPS ላይ ይጫኑ፣ PowerShellን ነባሪ ሼል ያድርጉ፣ እንደ Administrator በቁልፍ ይግቡ እና የይለፍ ቃል መግቢያን ያጥፉ። በቁልፍ መግባትን የሚያከሽፉ ሁለት የ Windows ወጥመዶችንም ያካትታል።

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 ማስሄድን ይመልከቱ።

FAQ

RDP እያለ በ Windows ላይ SSH ለምን?

ስክሪፕቶች እና መሣሪያዎች በ SSH ይነጋገራሉ። በሰርቨሩ ላይ OpenSSH ሲኖር የ PowerShell ትዕዛዞችን ከ Linux ማሽን ወይም ከ CI ሥራ ያስሄዳሉ፣ በ scp ፋይሎችን ይቀዳሉ፣ እና አውቶሜሽን ያለ ዴስክቶፕ ክፍለ-ጊዜ ሰርቨሩን እንዲያስተዳድር ያደርጋሉ።

ቁልፌ ለመደበኛ ተጠቃሚ ይሠራል፤ ለ Administrator ግን አይሠራም። ለምን?

ለ Administrators ቡድን አባላት የ Windows OpenSSH ~/.ssh/authorized_keys ፋይሉን ይተወዋል እና C:\ProgramData\ssh\administrators_authorized_keys ያነባል። በዚህ ፋይል ላይ መጻፍ የሚችሉት Administrators እና SYSTEM ብቻ መሆን አለባቸው፤ ያለበለዚያ sshd በዝምታ ይዘለዋል።

በ NAT ባለው የ Windows እቅድ ላይ SSH መድረስ እችላለሁ?

ከውጭ አይቻልም። በ NAT ባለው የ Windows እቅድ ላይ የግል ውጫዊ ፖርቱ ወደ RDP (3389) ተላልፏል፤ እሱም ብቸኛው የገቢ ማስተላለፍ ነው። ከበይነመረብ SSH ለመጠቀም የራሱ IPv4 ያለው የ Windows እቅድ ይምረጡ። በሰርቨሩ ውስጥ OpenSSH ለአካባቢ መሣሪያዎች አሁንም ይሠራል።

Windows Server 2022 የትኛውን የ OpenSSH ስሪት ይጭናል?

OpenSSH 8.1p1 for Windows። ስለዚህ የይለፍ ቃል ቅንብሮች አዲሱን ስም KbdInteractiveAuthentication ሳይሆን ChallengeResponseAuthentication ይጠቀማሉ።

አስተያየቶች

እስካሁን አስተያየቶች የሉም። መጀመሪያ ይሁኑ።

አስተያየት ይተዉ

አስተያየቶች ከመታየታቸው በፊት ይጣራሉ።