Uporaba protokola SSH za varno uporabo povezave z oddaljenim namizjem s sistemom Windows
Delovno okolje
- Oddaljena povezava s sistemom Windows
-
- Windows 11
- Oddaljena povezava s sistemom Windows
-
- Windows 10
- OpenSSH
-
- OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
Predpogoji
- Oddaljena povezava s sistemom Windows
-
- Windows 10 ali novejši (potrebujete Pro ali drugo izdajo). Vendar to ne velja, če je OpenSSH mogoče pripraviti ločeno.
- Windows Server 2019 ali novejša različica. Vendar to ne velja, če je OpenSSH mogoče pripraviti ločeno.
- Oddaljena povezava s sistemom Windows
-
- Windows (možna je večina različic)
- Windows Server (možna je večina različic)
Sprva
Ko ustvarite okolje Windows v internetu v oblaku ali VPS, pogosto uporabljate povezavo z oddaljenim namizjem za upravljanje oddaljenega cilja sistema Windows.
V povezavi z oddaljenim namizjem je vsebina komunikacije šifrirana in če uporabniško ime in geslo ne puščata, se drugi ne bodo prijavili brez dovoljenja. Vedno obstaja skrb, da se bodo ljudje poskušali prijaviti od koder koli.
Nekateri večji oblaki imajo požarne zidove, ločene od navideznih strojev, in obstaja funkcija, ki omejuje vir povezave. Te funkcije morda niso na voljo v vseh storitvah. Zlasti v okoljih, zgrajenih na nizkem proračunu, obstaja veliko primerov, ko takšne funkcije niso na voljo.
Zato bi tokrat želel čim bolj omejiti vir povezave z dodajanjem funkcije SSH . Ker se uporabljata zasebni ključ in javni ključ, dokler zasebni ključ ne pušča, je mogoče možnost prijave na daljavo iz drugega okolja čim bolj zmanjšati.
V tem primeru bomo uporabili OpenSSH za izgradnjo okolja SSH.
Ustvarjanje okolja Windows oddaljenega cilja
Ustvarite okolje Windows, ki vam omogoča oddaljeno povezavo prek interneta. Ni pomembno, kje je zgrajen, dokler gre prek interneta, toda za to preverjanje bo zgrajen kot virtualni stroj v Microsoft Azure. Koraki za nadgradnjo na Azure niso pomembni za ta nasvet, zato jih bom izpustil. Ker bodo tokrat uporabljena vrata 22, se prepričajte, da komunikacija z vrati 22 poteka skozi nastavitve navideznega računalnika v storitvi Azure.
Če gradite v okolju, ki ni Azure, se prepričajte, da ste v položaju, ko lahko vzpostavite povezavo oddaljenega namizja s sistemom Windows za svoje okolje.
Poleg tega različica sistema Windows cilja na Windows 10 ali novejšo različico ali Windows Server 2019 ali novejšo različico, kar olajša ustvarjanje okolja OpenSSH. Lahko se izvaja v starejšem okolju, vendar je potrebno malo več časa in truda, ker morate OpenSSH prenesti in nastaviti ločeno.
V tem primeru je postopek enak kot za SFTP, zato si oglejte naslednje nasvete.
Nastavitev OpenSSH
Od tu bomo delali v oddaljenem okolju Windows. Najprej vzpostavite povezavo z oddaljenim ciljem prek povezave z oddaljenim namizjem. Če vaš oblak ali VPS ponuja konzolo, jo lahko uporabite. Ker tokrat delujemo v okolju Windows 11, se lahko koraki v drugih različicah nekoliko razlikujejo.
Odprite začetni meni in izberite Nastavitve.
Izberite aplikacijo.
Izberite Izbirne funkcije.
Izberite Pokaži funkcije.
Na seznamu je "OpenSSH Server" nekoliko nižje, zato ga preverite in kliknite "Naprej".
Kliknite Namesti.
Ko je namestitev končana in je na spodnji seznam dodan »OpenSSH Server«, ste končali.
Konfiguracija storitve za OpenSSH
Z desno miškino tipko kliknite meni Start in izberite Upravljanje računalnika.
Izberite Storitve na seznamu na levi.
Na srednjem seznamu poiščite »OpenSSH SSH Server«, z desno miškino tipko kliknite in izberite »Lastnosti«.
Pri povezovanju na daljavo želimo, da se strežnik OpenSSH izvaja, zato nastavite »Vrsta zagona« na »Samodejno«.
Ker trenutno ne deluje, ga bom začel tukaj, vključno z nastavitvijo.
Ko ga zaženete, kliknite gumb V redu, da ga zaprete. Moral bi se izvajati na seznamu.
Konfiguriranje OpenSSH
V začetnem stanju je preverjanje pristnosti z zasebnim ključem onemogočeno, zato ga nastavite. Odprite to mapo v Raziskovalcu.
- C:\ProgramData\ssh
Vendar pa je zgornja mapa lahko skrita mapa, zato jo naredite vidno z nastavitvijo možnosti Raziskovalca.
V mapi sshd_config
se imenuje datoteka, zato jo odprite z urejevalnikom besedila, kot je Beležnica.
Ker bomo tokrat naredili spremembe, prosimo, kopirajte in podvojite kot varnostno kopijo sshd_config_old
pred spremembo.
PubkeyAuthentication yes
Iskati:
Ta element je nastavitev, ali želite omogočiti preverjanje pristnosti s skrivnim ključem.
Privzeto je onemogočen in piše , vendar je komentiran, zato ga ne komentirajte yes
.
Pred spremembo
#PubkeyAuthentication yes
Po spremembi
PubkeyAuthentication yes
PasswordAuthentication yes
Iskati:
Ta element je nastavitev, ali želite omogočiti preverjanje pristnosti gesla.
Privzeto je omogočen in tudi če omogočite preverjanje pristnosti zasebnega ključa, je z varnostnega vidika brez pomena, če ostane omogočen, zato ga komentirajte in no
nastavite .
Pred spremembo
#PasswordAuthentication yes
Po spremembi
PasswordAuthentication no
Na koncu komentirajte naslednjo vrstico: To je ključna nastavitev za skupino skrbnikov, ki jo bomo onemogočili, ker bomo v tem primeru podpirali prijave na uporabnika.
Pred spremembo
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Po spremembi
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Ko shranite datoteko po OpenSSH SSH Server
spremembi, znova zaženite storitev, da bo odražala nastavitve.
Če želite spremeniti vrata
Če želite spremeniti vrata SSH, spremenite naslednje.
Pred spremembo
#Port 22
Po spremembi
#Port <任意の番号>
S spremembo številke vrat privzeta vrata ne bodo napadena, kar bo privedlo do večje varnosti. Po drugi strani pa povečuje kompleksnost operacije, zato morate biti previdni.
Če spremenite številko vrat, morate pri povezovanju določiti vrata, ki niso 22.
Ustvarjanje zasebnih in javnih ključev
To je opravilo na strani odjemalca. Vendar v resnici ni pomembno, kje delate. Vendar bodite previdni, da ne puščate zasebnega ključa, ki ste ga ustvarili.
Če imate Windows 10 ali novejšo različico, Windows Server 2019 ali novejšo različico, je odjemalec OpenSSH privzeto nameščen, tako da ga lahko preprosto ustvarite z ukazom. V drugih okoljih boste morali namestiti ločen odjemalec OpenSSH ali uporabiti ločeno orodje.
Naslednji nasveti so za SFTP, vendar si jih oglejte za nastavitev odjemalca OpenSSH.
V odjemalskem okolju zaženite ukazni poziv, PowerShell, terminal ali katero koli orodje, ki lahko izvaja ukaze.
Ker boste ustvarjali datoteko, se z ukazom premaknite cd
v kateri koli imenik.
Zaženite naslednji ukaz:
ssh-keygen -t rsa -f id_rsa
Za ključ lahko nastavite geslo (geslo), zato ga po potrebi vnesite. Če nastavite geslo, bo varnost izboljšana, vendar se bo povečal čas in trud pri vnosu gesla v poznejšem postopku.
Ustvarjena sta javni ključ (id_rsa.pub) in zasebni ključ (id_rsa).
Javni ključ (id_rsa.pub) bo pozneje postavljen na oddaljeni cilj. Zasebni ključ lahko najdete kjer koli v oddaljenem odjemalcu, vendar mora biti shranjen v mapi, do katere lahko dostopa samo račun, ki se uporablja iz varnostnih razlogov. V bistvu mislim, da ni problema, če ga postavite v naslednjo mapo na strani odjemalca. Če uporabljate odjemalca OpenSSH, bo privzeto brskal po tej mapi.
C:\Users\<ユーザー名>\.ssh
Če zgornje mape ne morete ustvariti v Raziskovalcu, jo lahko ustvarite z naslednjim ukazom.
cd C:\Users\<ユーザー名>
mkdir .ssh
Postavitev javnih ključev
To je daljinsko upravljanje.
Ustvarjeni javni ključ (id_rsa.pub) postavite na oddaljeni cilj.
Premaknite to datoteko v to mapo: <ユーザー名>
je ime uporabniškega računa, v katerega se boste prijavili, ko se dejansko povežete na daljavo.
C:\Users\<ユーザー名>\.ssh
Če nimate mape in ne morete ustvariti mape v Raziskovalcu, lahko ustvarite mapo z naslednjim ukazom.
cd C:\Users\<ユーザー名>
mkdir .ssh
Spremenite uvedeno datoteko authorized_keys
z javnim ključem v . To je to.
Glede na vaše okolje morda že authorized_keys
imate datoteko. To se lahko zgodi, če ste vzpostavili povezavo SSH za druge namene.
V tem primeru authorized_keys
ste datoteko registrirali tako, da odprete datoteko in datoteko z beležnico itd. in id_rsa.pub
navedete vsebino id_rsa.pub v naslednji vrstici authorized_keys.
V authorized_keys lahko registrirate več javnih ključev.
Povežite se s SSH
Pri povezovanju z ukazom OpenSSH
Obstajajo različni načini za povezavo s SSH, vendar začnimo s povezavo, ki temelji na ukazih. Pravzaprav je povezava z najmanjšim številom korakov po ukazu. Kot predpogoj morate imeti nameščen odjemalec OpenSSH.
Zaženite ukazno orodje po vaši izbiri (ukazni poziv, PowerShell, Terminal).
Vnesite naslednji ukaz:
Oblika ukaza
ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>
V nadaljevanju je razlaga parametrov. Nastavite ga glede na svoje okolje.
imenaOpis | parametra spremenljivke | |
---|---|---|
SSH | Izjava o uporabi SSH z OpenSSH. | |
-jaz | Izjava o uporabi datoteke zasebnega ključa. | |
< pot do datoteke zasebnega ključa> | ● | Opišite mesto datoteke zasebnega ključa, ki ste jo ustvarili. C:\Users\<ユーザー名>\.ssh Pot ni obvezna. V nasprotnem primeru je potrebna absolutna ali relativna pot. |
-L | Ta izjava določa vrata, ki se uporabljajo lokalno in na daljavo pri povezovanju na oddaljeni cilj. | |
< lokalno brezplačno pristanišče> | ● | Povezava z oddaljenim namizjem običajno uporablja vrata 3389, povezavo pa lahko vzpostavite s poljubnimi vrati. Ni pomembno, katera številka je, dokler je brezplačna. |
127.0.0.1 | To je naslov IP gostitelja, ki prepozna, od kod je povezan oddaljeni cilj. V bistvu je 127.0.0.1 v redu. | |
3389 | Številka vrat, ki se uporabljajo na oddaljenem cilju. Oddaljeni cilj je običajno povezan z vrati 3389 s povezavo z oddaljenim namizjem, tako da ga lahko pustite takšnega, kot je. | |
< ime uporabniškega računa, s katerim se želite povezati> | ● | Določite, s katerim računom se želite povezati na oddaljenem cilju. |
< naslov IP ali ime gostitelja strežnika, s katerim želite vzpostaviti povezavo> | ● | Določa oddaljeni ciljni strežnik. |
Primer vnosa
ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194
Prvič boste pozvani k vnosu tipke, zato yes
vnesite in pritisnite Enter.
Če imate za zasebni ključ nastavljeno geslo, ga morate vnesti.
Naslednje bo v povezanem stanju. Vidite lahko, da je prikazan uporabnik na strani strežnika in ne odjemalec. Ko je to okno prikazano, je povezano, zato ga ne zapirajte. Če ga zaprete, bo povezava prekinjena.
Pri povezovanju s PuTTY
Tukaj se bomo poskušali povezati s SSH z orodjem, imenovanim PuTTY.
Pretvarjanje zasebnega ključa
Najprej, če uporabljate PuTTY, boste morali pretvoriti zasebni ključ. Mislim, da je v priloženem orodju "kittygen .exe", zato ga zaženite.
V meniju izberite »Konverzije -> Uvozi ključ«.
Izberite zasebni ključ, ki ste ga ustvarili, v tem primeru »id_rsa«.
Če ste nastavili geslo, ga vnesite.
V meniju izberite »Datoteka -> Shrani zasebni ključ«.
「. Datoteka .ppk".
Ko ste ustvarjeni, ste končali.
Konfiguriranje PuTTY
Izstrelite kit.exe.
Vnesite naslov IP okolja, s katerim se želite povezati. Če imate domeno, se lahko povežete z imenom domene.
Izberite Povezava -> Podatki v meniju na levi. V polje Samodejno uporabniško ime za prijavo vnesite ime računa okolja, s katerim se želite povezati.
V meniju na levi izberite Povezava -> SSH -> Predori. Vnesite vsakega od njih v spodnje vnosno polje in kliknite gumb "Dodaj".
o imena parametraOpombe | vrednosti | |
---|---|---|
Izvorna vrata | 13389 | Vsako prosto pristanišče bo naredilo. Uporabil ga bom pozneje |
Cilj | 127.0.0.1:3389 |
Ko je dodan, bi moral izgledati takole:
Nato v meniju na levi izberite »Povezava -> SSH -> Auth -> Cledentioals« in kliknite gumb Prebrskaj za »Datoteka zasebnega ključa za preverjanje pristnosti«.
Izberite zasebni ključ, ki ste ga shranili.
V meniju na levi izberite »Seja«, vnesite ime po vaši izbiri za Shrani seje in kliknite gumb Shrani. Od naslednjič naprej je v redu, če naložite to nastavitev.
Po potrditvi shranjevanja kliknite gumb "Odpri".
Pri prvem povezovanju se prikaže naslednji zaslon. Kliknite gumb Sprejmi.
Videli boste zaslon, ki je videti kot ukazni poziv. Če imate geslo za zasebni ključ, ga vnesite.
Če se vsebina prikaza spremeni, kot je prikazano spodaj, bo povezana. Vidite lahko, da je prikazan uporabnik na strani strežnika in ne odjemalec. Ko je to okno prikazano, je povezano, zato ga ne zapirajte. Če ga zaprete, bo povezava prekinjena.
Vzpostavljanje povezave z oddaljenim namizjem s SSH
Zdaj vzpostavimo povezavo z oddaljenim namizjem, ko smo povezani s SSH.
Pri povezovanju del računalnika ni dejanski oddaljeni naslov, ampak "localhost:< > ime vrat, določeno v povezavi SSH". V primeru je bila določena 13389, zato se bomo tukaj povezali z "localhost:13389".
Če se prikaže zaslon za preverjanje pristnosti, lahko presodite, da je povezava končana. Za vzpostavitev povezave vnesite uporabniško ime in geslo.
Če se lahko povežete tako, vam je uspelo.
Onemogočanje običajnih povezav z oddaljenim namizjem v nastavitvah požarnega zidu
V času prejšnjega elementa se lahko zdaj povežete z oddaljenim namizjem s pomočjo SSH. Vendar pa je v tem stanju »Povezava z oddaljenim namizjem s SSH« dodana samo »Običajna povezava z oddaljenim namizjem«. Kar zadeva varnost, ne dodaja ničesar. Naslednja stvar, ki jo morate storiti, je preprečiti »običajno povezavo z oddaljenim namizjem«.
Če nastavite to nastavitev, se ne boste mogli povezati, razen za »povezavo z oddaljenim namizjem s SSH«, zato, če se zmešate z nastavitvami, morda ne boste imeli sredstev za oddaljeno povezavo. Zato vnaprej preverite, ali je možna »povezava z oddaljenim namizjem s SSH«, in lahko oddaljeno okolje upravljate na druge načine, tudi če odjemalec, s katerim se poskušate povezati, izgine.
Tukaj konfigurirajte nastavitve požarnega zidu v "Povezava z oddaljenim namizjem prek SSH". Če postopek izvedete z »običajno povezavo z oddaljenim namizjem«, bo povezava prekinjena takoj, ko nastavite požarni zid.
Oglejte si požarni zid Windows Defender z dodatno varnostjo. Glede na različico sistema Windows se lokacija zaslona razlikuje, zato jo prikažite v skladu s to različico.
Izberite Dohodna pravila v meniju na levi.
Na srednjem seznamu poiščite »Oddaljeno namizje - uporabniški način (TCP In)« in odprite njegove lastnosti.
Izberite zavihek Obseg, spremenite lokalni naslov IP na Ti naslovi IP in kliknite gumb Dodaj.
Vnesite 127.0.0.1 in kliknite OK gumb. S tem preprečite povezave z oddaljenim namizjem kjer koli drugje kot v 127.0.0.1. 127.0.0.1 je naslov IP, ki kaže na vaš računalnik. Če vnesete napačno vrednost, morda ne boste mogli vzpostaviti povezave od nikoder, zato bodite previdni.
Za potrditev kliknite gumb V redu.
Zaenkrat je to samo protiukrep, vendar nastavimo tudi »Oddaljeno namizje - uporabniški način (sprejem UDP)«.
Preverite, ali se ne morete oddaljeno povezati z ničemer drugim kot s SSH
Zdaj poskusite vzpostaviti povezavo z oddaljenim namizjem iz drugega računalnika, ki ne uporablja SSH.
Če lahko vzpostavite povezavo, se prikaže zaslon za preverjanje pristnosti. V redu je, če lahko potrdite, da povezave ni mogoče vzpostaviti, kot je prikazano spodaj.
Povzetek
Z najnovejšim operacijskim sistemom Windows je zdaj enostavno uvesti strežnik SSH. Z dodajanjem nastavitev lahko zdaj preprosto povečate varnost povezave z oddaljenim namizjem. Ker pa je odgovoren le za varnostne ukrepe v samem sistemu Windows, Če želite, da je varnejši, mislim, da je bolje nastaviti ločen strežnik SSH ali požarni zid, preden se povežete z operacijskim sistemom Windows.
Prav tako lahko varnost tesno nastavite s SSH, ko pa je pretežko, se nihče ne more povezati zaradi operativne napake. Pazite, da ne boste končali s tem.