Би үргэлж Windows машинуудтай холбогдож бухимддаг байсан. Үгүй ээ, би Майкрософт болон тэдний бүтээгдэхүүнийг эсэргүүцэгч ч биш, дэмжигч ч биш. Бүтээгдэхүүн бүр өөрийн гэсэн зорилготой байдаг, гэхдээ энэ нь тийм биш юм.
Эдгээр холболтууд нь нэг газар (HTTPS-тэй сайн уу WinRM) эсвэл тийм ч тогтвортой ажилладаггүй (гадаадад байгаа виртуал машинуудад сайн уу RDP) учраас Windows серверүүдтэй холбогдох нь надад үргэлж маш хэцүү байдаг.
Тиймээс төсөлтэй санамсаргүй тааралдсан
Гараар - дамжуулан
багц Шоколад - Via Ansible, жишээ нь үүрэг
jborean93.win_openssh
Дараа нь би эхний зүйлийн талаар ярих болно, учир нь бусад зүйлд бүх зүйл тодорхой байна.
Энэ төсөл нь бета шатандаа байгаа тул үйлдвэрлэлд ашиглахыг зөвлөдөггүй гэдгийг тэмдэглэхийг хүсч байна.
Тиймээс, хамгийн сүүлийн хувилбарыг татаж аваарай, яг одоо байгаа
Илгээнэ үү C: Program FilesOpenSSH
Зөв ажиллахад зайлшгүй шаардлагатай цэг: зөвхөн СИСТЕМ болон админ бүлэг.
Скрипт ашиглан үйлчилгээг суулгаж байна install-sshd.ps1 энэ директорт байрладаг
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
22-р порт дээр ирж буй холболтыг зөвшөөрөх:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Тодруулга: апплет Шинэ-NetFirewallRule Windows Server 2012 болон түүнээс хойшхи хувилбаруудад ашиглагддаг. Хамгийн эртний системд (эсвэл ширээний компьютерт) та дараах тушаалыг ашиглаж болно.
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Үйлчилгээг эхлүүлье:
net start sshd
Эхлэх үед хост түлхүүрүүд автоматаар үүсгэгдэх болно (хэрэв байхгүй бол). %програмын өгөгдөл%ssh
Систем дараах тушаалаар ажиллаж эхлэхэд бид үйлчилгээг автоматаар эхлүүлэхийг идэвхжүүлж болно.
Set-Service sshd -StartupType Automatic
Та мөн үндсэн тушаалын бүрхүүлийг өөрчилж болно (суулгасны дараа анхдагч нь cmd):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force
Тодруулга: Та үнэмлэхүй замыг зааж өгөх ёстой.
Дараа нь юу юм бэ?
Тэгээд бид үүнийг тохируулсан sshd_config, бидний байрлуулах болно C: Програмын өгөгдөл. Жишээ нь:
PasswordAuthentication no
PubkeyAuthentication yes
Мөн хэрэглэгчийн хавтсанд лавлах үүсгэнэ үү .ssh, мөн дотор нь файл байна эрх бүхий_түлхүүрүүд. Бид тэнд нийтийн түлхүүрүүдийг бичдэг.
Чухал тодруулга: зөвхөн тухайн файл нь байгаа хэрэглэгч л энэ файл руу бичих эрхтэй байх ёстой.
Гэхдээ хэрэв танд үүнтэй холбоотой асуудал гарвал та тохиргооноос зөвшөөрөл шалгахыг үргэлж унтрааж болно:
StrictModes no
Дашрамд хэлэхэд, онд C: Program FilesOpenSSH 2 скрипт байна (FixHostFilePermissions.ps1, FixUserFilePermissions.ps1), эрхээ засах ёстой боловч үүрэг хүлээхгүй, үүнд хамт эрх бүхий_түлхүүрүүд, гэхдээ зарим шалтгааны улмаас тэд бүртгүүлээгүй байна.
Үйлчилгээг дахин эхлүүлэхээ бүү мартаарай sshd өөрчлөлтүүдийг хэрэглэсний дараа.
ru-mbp-666:infrastructure$ ssh [email protected] -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:UsersAdministrator> Get-Host
Name : ConsoleHost
Version : 5.1.14393.2791
InstanceId : 653210bd-6f58-445e-80a0-66f66666f6f6
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:UsersAdministrator>
Субъектив давуу болон сул талууд.
Нөхцөл:
- Сервертэй холбогдох стандарт арга.
Цөөн тооны Windows машин байгаа үед энэ нь маш тохиромжгүй байдаг:
Тиймээс, бид ssh-ээр дамжуулж, энд rdp ашигладаг.
ерөнхийдөө бастионуудыг ашиглах хамгийн сайн туршлага бол эхлээд ssh туннель, түүгээр дамжих RDP юм. - Тохируулахад хялбар
Энэ нь ойлгомжтой гэж би бодож байна. - Холболтын хурд, алсын машинтай ажиллах
График бүрхүүл байхгүй тул серверийн нөөц болон дамжуулагдсан өгөгдлийн хэмжээг хэмнэдэг.
Нөхцөл байдал:
- RDP-ийг бүрэн орлохгүй.
Харамсалтай нь бүх зүйлийг консолоос хийх боломжгүй. Би GUI шаардлагатай нөхцөл байдлыг хэлж байна.
Нийтлэлд ашигласан материалууд:
Суулгах сонголтуудыг ичгүүргүйгээр хуулж авдаг
Эх сурвалж: www.habr.com