SSH izmantošana, lai droši izmantotu attālās darbvirsmas savienojumu ar Windows

Lapa atjaunota :
Lapas izveides datums :

Darbības vide

Attālais savienojums ar Windows
  • Operētājsistēmā Windows 11
Attālais savienojums no Windows
  • Operētājsistēmā Windows 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Priekšnoteikumi

Attālais savienojums ar Windows
  • Windows 10 vai jaunāka versija (nepieciešams Pro vai cits izdevums). Tomēr tas neattiecas uz gadījumiem, kad OpenSSH var sagatavot atsevišķi.
  • Windows Server 2019 vai jaunāka versija. Tomēr tas neattiecas uz gadījumiem, kad OpenSSH var sagatavot atsevišķi.
Attālais savienojums no Windows
  • Windows (iespējama lielākā daļa versiju)
  • Windows Server (iespējama lielākā daļa versiju)

Sākumā

Pēc Windows vides izveides internetā mākonī vai VPS, jūs bieži izmantojat attālās darbvirsmas savienojumu, lai darbinātu attālo Windows galamērķi.

Attālās darbvirsmas savienojumā sakaru saturs tiek šifrēts, un, ja lietotājvārds un parole netiek nopludināti, citi nepieteiksies bez atļaujas. Vienmēr pastāv bažas, ka cilvēki mēģinās pieteikties no jebkuras vietas.

Dažiem galvenajiem mākoņiem ir ugunsmūri, kas atdalīti no virtuālajām mašīnām, un ir funkcija, lai ierobežotu savienojuma avotu. Šie līdzekļi var nebūt pieejami visos pakalpojumos. Īpaši vidēs, kas veidotas ar mazu budžetu, ir daudz gadījumu, kad šādas funkcijas nav pieejamas.

Tāpēc šoreiz es vēlētos pēc iespējas ierobežot savienojuma avotu, pievienojot SSH funkciju. Tā kā tiek izmantota privātā atslēga un publiskā atslēga, kamēr privātā atslēga netiek nopludināta, iespēju pieteikties attālināti no citas vides var pēc iespējas samazināt.

Šajā gadījumā mēs izmantosim OpenSSH , lai izveidotu SSH vidi.

Attālā galamērķa Windows vides izveide

Izveidojiet Windows vidi, kas ļauj izveidot attālu savienojumu, izmantojot internetu. Nav svarīgi, kur tas ir uzbūvēts, kamēr tas iet internetā, bet šai pārbaudei tas tiks veidots kā virtuālā mašīna Microsoft Azure. Darbības, lai izveidotu Azure, neattiecas uz šo padomu, tāpēc es tos izlaidīšu. Tā kā šoreiz tiks izmantots ports 22, ja izmantojat Azure, pārliecinieties, vai 22. porta komunikācija iet caur virtuālās mašīnas iestatījumiem pakalpojumā Azure.

Ja veidojat vidē, kas nav Azure, pārliecinieties, vai atrodaties pozīcijā, kurā varat izveidot attālās darbvirsmas savienojumu ar Windows savai videi.

Turklāt Windows versija ir paredzēta operētājsistēmai Windows 10 vai jaunākai versijai vai Windows Server 2019 vai jaunākai versijai, kas atvieglo OpenSSH vides izveidi. To var ieviest agrākā vidē, taču tas prasa nedaudz vairāk laika un pūļu, jo OpenSSH ir nepieciešams lejupielādēt un iestatīt atsevišķi.

Tādā gadījumā procedūra ir tāda pati kā SFTP, tāpēc, lūdzu, skatiet šos padomus.

OpenSSH iestatīšana

No šejienes mēs strādāsim attālinātajā Windows vidē. Vispirms izveidojiet savienojumu ar attālo galamērķi, izmantojot attālās darbvirsmas savienojumu. Ja jūsu mākonis vai VPS nodrošina konsoli, varat to izmantot. Tā kā mēs šoreiz darbojamies Windows 11 vidē, citās versijās darbības var nedaudz atšķirties.

Atveriet izvēlni Sākt un atlasiet Iestatījumi.

Atlasiet programmu.

Atlasiet Neobligātie līdzekļi.

Atlasiet Rādīt līdzekļus.

Sarakstā ir nedaudz zemāks "OpenSSH serveris", tāpēc pārbaudiet to un noklikšķiniet uz "Tālāk".

Noklikšķiniet uz Instalēt.

Kad instalēšana ir pabeigta un zemāk esošajam sarakstam ir pievienots "OpenSSH serveris", esat pabeidzis.

OpenSSH pakalpojuma konfigurācija

Ar peles labo pogu noklikšķiniet uz izvēlnes Sākt un atlasiet Datora pārvaldība.

Kreisajā pusē esošajā sarakstā atlasiet Pakalpojumi.

Vidējā sarakstā atrodiet "OpenSSH SSH Server", ar peles labo pogu noklikšķiniet un atlasiet "Properties".

Pieslēdzoties attālināti, mēs vēlamies, lai OpenSSH serveris darbotos, tāpēc iestatiet "Startup type" uz "Automatic".

Tā kā tas šobrīd nedarbojas, es to sākšu šeit, ieskaitot iestatīšanu.

Pēc palaišanas noklikšķiniet uz pogas Labi, lai to aizvērtu. Tam vajadzētu darboties sarakstā.

OpenSSH konfigurēšana

Sākotnējā stāvoklī autentifikācija, izmantojot privāto atslēgu, ir atspējota, tāpēc iestatiet to. Atveriet šo mapi pārlūkprogrammā Explorer.

  • C:\ProgramData\ssh

Tomēr iepriekš minētā mape var būt slēpta mape, tāpēc, lūdzu, padariet to redzamu, iestatot Explorer opcijas.

Mapē ir fails, ko sauc par sshd_config failu, tāpēc atveriet to ar teksta redaktoru, piemēram, Notepad. Tā kā šoreiz mēs veiksim izmaiņas, lūdzu, pirms izmaiņām nokopējiet un dublējiet kā sshd_config_old dublējumu.

PubkeyAuthentication yes Meklēt: Šis vienums nosaka, vai iespējot slepenās atslēgas autentifikāciju. Pēc noklusējuma tas ir atspējots, un tas saka , bet tas tiek komentēts, yes tāpēc atvienojiet to.

Pirms izmaiņām

#PubkeyAuthentication yes

Pēc izmaiņām

PubkeyAuthentication yes

PasswordAuthentication yes Meklēt: Šis vienums nosaka, vai iespējot paroles autentifikāciju. Tas ir iespējots pēc noklusējuma, un pat tad, ja iespējojat privātās atslēgas autentifikāciju, no drošības viedokļa tas ir bezjēdzīgi, ja tas joprojām ir iespējots, tāpēc atvienojiet to un no iestatiet .

Pirms izmaiņām

#PasswordAuthentication yes

Pēc izmaiņām

PasswordAuthentication no

Komentējiet šādu rindiņu beigās: Šis ir administratoru grupas galvenais iestatījums, un mēs to atspējosim, jo šajā gadījumā mēs atbalstīsim katra lietotāja pieteikšanos.

Pirms izmaiņām

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Pēc izmaiņām

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Pēc faila saglabāšanas pēc OpenSSH SSH Server izmaiņām restartējiet pakalpojumu, lai atspoguļotu iestatījumus.

Ja vēlaties mainīt portu

Ja vēlaties mainīt SSH portu, mainiet tālāk norādīto.

Pirms izmaiņām

#Port 22

Pēc izmaiņām

#Port <任意の番号>

Mainot porta numuru, noklusējuma ports netiks uzbrukts, kas radīs lielāku drošību. No otras puses, tas palielina operācijas sarežģītību, tāpēc jums ir jābūt uzmanīgiem.

Ja maināt porta numuru, savienojuma laikā jānorāda ports, kas nav 22.

Privāto un publisko atslēgu izveide

Tas ir klienta puses uzdevums. Tomēr nav īsti svarīgi, kur jūs strādājat. Tomēr uzmanieties, lai nenopludinātu jūsu izveidoto privāto atslēgu.

Ja jums ir Windows 10 vai jaunāka versija, Windows Server 2019 vai jaunāka versija, OpenSSH klients tiek instalēts pēc noklusējuma, lai to varētu viegli izveidot ar komandu. Citās vidēs jums būs jāinstalē atsevišķs OpenSSH klients vai jāizmanto atsevišķs rīks.

Šie padomi ir paredzēti SFTP, taču, lūdzu, skatiet tos, lai iestatītu OpenSSH klientu.

Klienta vidē palaidiet komandu uzvedni, PowerShell, termināli vai jebkuru rīku, kas var izpildīt komandas.

Tā kā jūs izveidosit failu, pārejiet cd uz jebkuru direktoriju ar komandu.

Palaidiet šādu komandu:

ssh-keygen -t rsa -f id_rsa

Atslēgai varat iestatīt ieejas frāzi (paroli), tāpēc, ja nepieciešams, lūdzu, ievadiet to. Ja iestatīsit ieejas frāzi, tiks uzlabota drošība, taču tas palielinās laiku un pūles, ievadot ieejas frāzi vēlākā procesā.

Ir izveidota publiskā atslēga (id_rsa.pub) un privātā atslēga (id_rsa).

Publiskā atslēga (id_rsa.pub) tiks novietota attālajā galamērķī vēlāk. Privātā atslēga var atrasties jebkurā attālā klienta vietā, taču tai jāatrodas mapē, kurai var piekļūt tikai ar kontu, kas tiek izmantots drošības nolūkos. Būtībā es domāju, ka nav problēmu, ja to ievietojat nākamajā mapē klienta pusē. Ja izmantojat OpenSSH klientu, tas pēc noklusējuma pārlūkos šo mapi.

  • C:\Users\<ユーザー名>\.ssh

Ja pārlūkprogrammā Explorer nevarat izveidot iepriekš minēto mapi, varat to izveidot, izmantojot tālāk norādīto komandu.

cd C:\Users\<ユーザー名>
mkdir .ssh

Publisko atslēgu izvietošana

Tā ir tālvadības darbība. Novietojiet izveidoto publisko atslēgu (id_rsa.pub) attālajā mērķī. Pārvietojiet šo failu uz šo mapi: <ユーザー名> ir tā lietotāja konta nosaukums, kurā jūs pieteiksities, kad faktiski izveidosit attālu savienojumu.

  • C:\Users\<ユーザー名>\.ssh

Ja jums nav mapes un nevarat izveidot mapi pārlūkprogrammā Explorer, varat izveidot mapi ar šādu komandu.

cd C:\Users\<ユーザー名>
mkdir .ssh

Mainiet izvietoto publiskās atslēgas failu authorized_keys uz . Tieši tā.

Atkarībā no jūsu vides, iespējams, jums jau authorized_keys ir fails. Tas var būt gadījumā, ja esat iestatījis SSH savienojumu citiem mērķiem. Tādā gadījumā authorized_keys jūs esat reģistrējis failu, atverot failu un failu ar Notepad utt., Un id_rsa.pub uzskaitot id_rsa.pub saturu nākamajā authorized_keys rindā. Pakalpojumā authorized_keys varat reģistrēt vairākas publiskās atslēgas.

Savienojuma izveide ar SSH

Pieslēdzoties ar komandu OpenSSH

Ir dažādi veidi, kā izveidot savienojumu ar SSH, bet sāksim ar komandu savienojumu. Faktiski savienojums ar vismazāko soļu skaitu ir ar komandu. Kā priekšnosacījums ir jābūt instalētam OpenSSH klientam.

Palaidiet izvēlēto komandu rīku (komandu uzvedne, PowerShell, termināls).

Ievadiet šādu komandu:

Komandu formāts

ssh -i <秘密鍵ファイルパス> -L <ローカルの空いているポート>:127.0.0.1:3389 <接続先のユーザーアカウント名>@<接続先サーバーIPアドレス、またはホスト名>

Tālāk ir sniegts parametru skaidrojums. Iestatiet to atbilstoši savai videi.

Mainīgā parametra nosaukuma apraksts
SSH Deklarācija par SSH lietošanu ar OpenSSH.
-es Deklarācija par privātās atslēgas faila izmantošanu.
< privātās atslēgas faila ceļu> Aprakstiet izveidotā privātās atslēgas faila atrašanās vietu. C:\Users\<ユーザー名>\.ssh Ceļš nav obligāts. Pretējā gadījumā ir nepieciešams absolūts vai relatīvs ceļš.
-L Šajā deklarācijā ir norādīts ports, kas tiks izmantots lokāli un attālināti, veidojot savienojumu ar attālu galamērķi.
< vietējā brīvostā> Attālās darbvirsmas savienojums parasti izmanto portu 3389, bet var izveidot savienojumu, izmantojot jebkuru portu. Nav svarīgi, kāds numurs tas ir, ja vien tas ir bezmaksas.
127.0.0.1 Šī ir resursdatora IP adrese, kas atpazīst, no kurienes ir savienots attālais galamērķis. Būtībā 127.0.0.1 ir labi.
3389 Porta numurs, kas jāizmanto attālajā galamērķī. Attālais galamērķis parasti ir savienots ar portu 3389 ar attālās darbvirsmas savienojumu, tāpēc to var atstāt tādu, kāds tas ir.
< tā lietotāja konta nosaukumu, ar kuru vēlaties izveidot savienojumu> Norādiet, ar kuru kontu vēlaties izveidot savienojumu attālajā galamērķī.
< tā servera IP adresi vai resursdatora nosaukumu, ar kuru izveidot savienojumu> Norāda attālā mērķa serveri.

Ievades piemērs

ssh -i id_rsa -L 13389:127.0.0.1:3389 TestUser@52.140.221.194

Pirmo reizi jums tiks piedāvāts ievadīt taustiņu, tāpēc yes ierakstiet un nospiediet taustiņu Enter.

Ja privātajai atslēgai ir iestatīta ieejas frāze, tā ir jāievada.

Tālāk norādītais būs savienotā stāvoklī. Jūs varat redzēt, ka tiek parādīts lietotājs servera pusē, nevis klients. Kamēr šis logs tiek parādīts, tas ir savienots, tāpēc, lūdzu, neaizveriet to. Ja to aizverat, savienojums tiks pārtraukts.

Pieslēdzoties ar PuTTY

Šeit mēs centīsimies izveidot savienojumu ar SSH ar rīku, ko sauc par PuTTY.

Privātās atslēgas konvertēšana

Pirmkārt, ja izmantojat PuTTY, jums būs jāpārvērš privātā atslēga. Es domāju, ka pievienotajā rīkā ir "špakteles .exe", tāpēc, lūdzu, sāciet to.

Izvēlnē atlasiet "Reklāmguvumi > Importēt atslēgu".

Atlasiet izveidoto privāto atslēgu, šajā gadījumā "id_rsa".

Ja esat iestatījis ieejas frāzi, ievadiet to.

Izvēlnē atlasiet "File -> Save private key".

「. .ppk" failu.

Kad esat izveidojis, esat pabeidzis.

PuTTY konfigurēšana

Palaidiet špakteli.exe.

Ievadiet tās vides IP adresi, ar kuru vēlaties izveidot savienojumu. Ja jums ir domēns, varat izveidot savienojumu ar domēna nosaukumu.

Kreisās puses izvēlnē atlasiet Savienojums > Dati. Laukā Automātiskās pieteikšanās lietotājvārds ievadiet tās vides konta nosaukumu, ar kuru vēlaties izveidot savienojumu.

Kreisās puses izvēlnē atlasiet Savienojums -> SSH -> Tuneļi. Ievadiet katru no tiem zemāk esošajā ievades laukā un noklikšķiniet uz pogas "Pievienot".

Parametra nosaukums Vērtības piezīmes
Avota ports 13389 Derēs jebkura brīvosta. Es to izmantošu vēlāk
Galamērķi 127.0.0.1:3389

Pievienojot, tam vajadzētu izskatīties šādi:

Pēc tam kreisās puses izvēlnē atlasiet "Connection -> SSH -> Auth -> Cledentioals" un noklikšķiniet uz pogas Pārlūkot, lai iegūtu "Privātās atslēgas failu autentifikācijai".

Atlasiet saglabāto privāto atslēgu.

Kreisās puses izvēlnē atlasiet "Sesija", ievadiet izvēlēto nosaukumu saglabāšanas sesijām un noklikšķiniet uz pogas Saglabāt. Sākot ar nākamo reizi, tas ir labi, ja ielādējat šo iestatījumu.

Pēc saglabāšanas apstiprināšanas noklikšķiniet uz pogas "Atvērt".

Veidojot savienojumu pirmo reizi, tiks parādīts šāds ekrāns. Noklikšķiniet uz pogas Akceptēt.

Jūs redzēsiet ekrānu, kas izskatās kā komandu uzvedne. Ja jums ir ieejas frāze privātajai atslēgai, ievadiet to.

Ja displeja saturs mainās, kā parādīts tālāk, tas tiks savienots. Jūs varat redzēt, ka tiek parādīts lietotājs servera pusē, nevis klients. Kamēr šis logs tiek parādīts, tas ir savienots, tāpēc, lūdzu, neaizveriet to. Ja to aizverat, savienojums tiks pārtraukts.

Attālās darbvirsmas savienojuma izveide ar SSH

Tagad izveidosim attālās darbvirsmas savienojumu, kamēr ir izveidots savienojums ar SSH.

Veidojot savienojumu, datora daļa nav faktiskā attālā adrese, bet "localhost:< > SSH savienojumā norādītais porta nosaukums". Piemērā tika norādīts 13389, tāpēc šeit mēs izveidosim savienojumu ar "localhost:13389".

Ja tiek parādīts autentifikācijas ekrāns, varat spriest, vai savienojums ir pabeigts. Ievadiet savu lietotājvārdu un paroli, lai izveidotu savienojumu.

Ja jūs varat izveidot šādu savienojumu, jums tas ir izdevies.

Atspējojiet parastos attālos darbvirsmas savienojumus ugunsmūra iestatījumos

Iepriekšējā vienuma laikā tagad varat izveidot savienojumu ar attālo darbvirsmu, izmantojot SSH. Tomēr šajā stāvoklī "Attālās darbvirsmas savienojums ar SSH" ir pievienots tikai "Parastais attālās darbvirsmas savienojums". Runājot par drošību, tas neko nepievieno. Tātad nākamā lieta, kas jādara, ir novērst "normālu attālās darbvirsmas savienojumu".

Ja veicat šo iestatījumu, jūs nevarēsit izveidot savienojumu, izņemot "attālās darbvirsmas savienojumu ar SSH", tādēļ, ja sajaucaties ar iestatījumiem, iespējams, jums nav līdzekļu, lai izveidotu attālu savienojumu. Tāpēc noteikti iepriekš pārbaudiet, vai ir iespējams "attālās darbvirsmas savienojums ar SSH", un varēsiet darbināt attālo vidi ar citiem līdzekļiem, pat ja klients, ar kuru mēģināt izveidot savienojumu, pazūd.

Šeit konfigurējiet ugunsmūra iestatījumus sadaļā "Attālās darbvirsmas savienojums, izmantojot SSH". Tas ir tāpēc, ka, veicot darbību ar "parasto attālās darbvirsmas savienojumu", tas tiks atvienots ugunsmūra iestatīšanas brīdī.

Skatiet Windows Defender ugunsmūri ar papildu drošību. Atkarībā no Windows versijas displeja atrašanās vieta ir atšķirīga, tāpēc, lūdzu, parādiet to atbilstoši šai versijai.

Kreisās puses izvēlnē atlasiet Ienākošās kārtulas.

Vidējā sarakstā atrodiet "Remote Desktop - User Mode (TCP In)" un atveriet tā rekvizītus.

Atlasiet cilni Tvērums, mainiet vietējo IP adresi uz Šīs IP adreses un noklikšķiniet uz pogas Pievienot.

Ievadiet 127.0.0.1 un noklikšķiniet uz pogas Labi. Tas novērsīs attālās darbvirsmas savienojumus no jebkuras vietas, izņemot 127.0.0.1. 127.0.0.1 ir IP adrese, kas norāda uz jūsu ierīci. Ja ievadāt nepareizu vērtību, iespējams, nevarēsit izveidot savienojumu no jebkuras vietas, tāpēc esiet piesardzīgs.

Noklikšķiniet uz pogas Labi, lai apstiprinātu.

Pagaidām tas vien ir pretpasākums, bet iestatīsim arī "Remote Desktop - User Mode (UDP Receive)".

Pārbaudiet, vai nevarat attāli izveidot savienojumu, izmantojot neko citu kā tikai SSH

Tagad mēģiniet izveidot attālās darbvirsmas savienojumu no cita datora, kurā netiek izmantota SSH.

Ja varat izveidot savienojumu, tiks parādīts autentifikācijas ekrāns. Tas ir labi, ja varat apstiprināt, ka savienojumu nevar izveidot, kā parādīts zemāk.

Kopsavilkuma

Izmantojot jaunāko Windows, tagad ir viegli ieviest SSH serveri. Pievienojot iestatījumus, tagad varat viegli palielināt attālās darbvirsmas savienojuma drošību. Tomēr, tā kā tā ir atbildīga tikai par drošības pasākumiem pašā Windows, Ja vēlaties to padarīt drošāku, es domāju, ka pirms savienojuma izveides ar Windows ir vēlams iestatīt atsevišķu SSH serveri vai ugunsmūri.

Varat arī cieši iestatīt drošību, izmantojot SSH, bet, ja tas ir pārāk grūti, neviens nevar izveidot savienojumu darbības kļūdas dēļ. Esiet uzmanīgi, lai ar to nenonāktu.