Utilizați SSH pentru a utiliza în siguranță Conexiune desktop la distanță la Windows

Pagina actualizată :
Data creării paginii :

Mediu de operare

Conexiune la distanță la Windows
  • Ferestre 11
Conexiune la distanță de la Windows
  • Ferestre 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Cerințe preliminare

Conexiune la distanță la Windows
  • Windows 10 sau o versiune ulterioară (este necesară o ediție Pro sau altă ediție). Cu toate acestea, acest lucru nu se aplică dacă OpenSSH poate fi preparat separat.
  • Windows Server 2019 sau o versiune ulterioară. Cu toate acestea, acest lucru nu se aplică dacă OpenSSH poate fi preparat separat.
Conexiune la distanță de la Windows
  • Windows (majoritatea versiunilor sunt posibile)
  • Windows Server (majoritatea versiunilor sunt posibile)

La început

După construirea unui mediu Windows pe Internet în cloud sau VPS, utilizați adesea o conexiune desktop la distanță pentru a opera destinația Windows la distanță.

În conexiunea desktop la distanță, conținutul comunicării este criptat și, dacă numele de utilizator și parola nu sunt scurse, alte persoane nu se vor conecta fără permisiune. Există întotdeauna îngrijorarea că oamenii vor încerca să se conecteze de oriunde.

Unii nori majori au firewall-uri separate de mașinile virtuale și există o funcție de restricționare a sursei de conexiune. Este posibil ca aceste caracteristici să nu fie disponibile în toate serviciile. În special în mediile construite cu un buget redus, există multe cazuri în care astfel de funcții nu sunt disponibile.

Prin urmare, de data aceasta, aș dori să limitez sursa de conectare cât mai mult posibil adăugând funcția SSH . Deoarece cheia privată și cheia publică sunt utilizate, atâta timp cât cheia privată nu este scursă, posibilitatea conectării de la distanță dintr-un alt mediu poate fi minimizată cât mai mult posibil.

În acest caz, vom folosi OpenSSH pentru a construi mediul SSH.

Construiți un mediu Windows de destinație la distanță

Construiți un mediu Windows care vă permite să vă conectați de la distanță prin Internet. Nu contează unde este construit, atâta timp cât trece pe Internet, dar pentru această verificare, va fi construit ca o mașină virtuală pe Microsoft Azure. Pașii pentru a construi pe Azure nu sunt relevanți pentru acest sfat, așa că îi voi omite. Deoarece portul 22 va fi utilizat de data aceasta, dacă utilizați Azure, asigurați-vă că comunicarea portului 22 trece prin setările mașinii virtuale din Azure.

Dacă construiți într-un alt mediu decât Azure, asigurați-vă că vă aflați într-o poziție în care puteți face o conexiune desktop la distanță la Windows pentru mediul dvs.

În plus, versiunea Windows vizează Windows 10 sau o versiune ulterioară sau Windows Server 2019 sau o versiune ulterioară, ceea ce facilitează construirea unui mediu OpenSSH. Poate fi implementat într-un mediu anterior, dar este nevoie de puțin mai mult timp și efort, deoarece trebuie să descărcați și să configurați OpenSSH separat.

În acest caz, procedura este aceeași ca și pentru SFTP, așa că vă rugăm să consultați următoarele sfaturi.

Configurarea OpenSSH

De aici, vom lucra în mediul Windows la distanță. Mai întâi, conectați-vă la destinația la distanță cu o conexiune desktop la distanță. Dacă cloud-ul sau VPS-ul oferă o consolă, o puteți utiliza. Deoarece operăm într-un mediu Windows 11 de data aceasta, pașii pot fi ușor diferiți în alte versiuni.

Deschideți meniul Start și selectați Setări.

Selectați o aplicație.

Selectați Caracteristici opționale.

Selectați Afișare caracteristici.

Există "OpenSSH Server" puțin mai jos în listă, așa că verificați-l și faceți clic pe "Următorul".

Faceți clic pe Instalare.

Când instalarea este finalizată și "OpenSSH Server" este adăugat la lista de mai jos, ați terminat.

Configurarea serviciului pentru OpenSSH

Faceți clic dreapta pe meniul Start și selectați Computer Management.

Selectați Servicii din lista din stânga.

Găsiți "OpenSSH SSH Server" în lista din mijloc, faceți clic dreapta și selectați "Proprietăți".

Când ne conectăm de la distanță, dorim ca serverul OpenSSH să ruleze, deci setați "Tipul de pornire" la "Automat".

Deoarece nu rulează în acest moment, îl voi începe aici, inclusiv setându-l.

Odată lansat, faceți clic pe OK pentru a-l închide. Ar trebui să ruleze în listă.

Configurarea OpenSSH

În starea inițială, autentificarea prin cheie privată este dezactivată, deci setați-o. Deschideți următorul folder în Explorer.

  • C:\ProgramData\ssh

Cu toate acestea, folderul de mai sus poate fi un folder ascuns, așa că vă rugăm să îl faceți vizibil setând opțiunile Explorer.

Există un fișier numit în dosar, deci deschideți-l cu un editor de sshd_config text, cum ar fi Notepad. Deoarece vom face modificări de data aceasta, vă rugăm să copiați și să duplicați ca o sshd_config_old copie de rezervă înainte de modificare.

PubkeyAuthentication yes Căuta: Acest element este o setare pentru activarea autentificării cu cheie secretă. În mod implicit, este dezactivat și spune , dar este comentat, yes așa că decomentați-l.

Înainte de modificare

#PubkeyAuthentication yes

După schimbare

PubkeyAuthentication yes

PasswordAuthentication yes Căuta: Acest element este o setare pentru activarea autentificării prin parolă. Este activat în mod implicit și chiar dacă activați autentificarea cu cheie privată, este lipsit de sens din punct de vedere al securității dacă rămâne activat, așa că decomentați-l și no setați .

Înainte de modificare

#PasswordAuthentication yes

După schimbare

PasswordAuthentication no

Comentați următoarea linie aproape de sfârșit: Aceasta este setarea cheie pentru grupul de administratori și o vom dezactiva, deoarece vom accepta conectări per utilizator în acest caz.

Înainte de modificare

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

După schimbare

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

După salvarea fișierului după OpenSSH SSH Server modificare, reporniți serviciul pentru a reflecta setările.

Dacă doriți să schimbați portul

Dacă doriți să modificați portul SSH, modificați următoarele.

Înainte de modificare

#Port 22

După schimbare

#Port <任意の番号>

Prin schimbarea numărului portului, portul implicit nu va fi atacat, ceea ce va duce la o securitate mai puternică. Pe de altă parte, crește complexitatea operației, deci trebuie să fii atent.

Dacă modificați numărul portului, trebuie să specificați un alt port decât 22 la conectare.

Crearea cheilor private și publice

Aceasta este o sarcină din partea clientului. Cu toate acestea, nu contează cu adevărat unde lucrați. Cu toate acestea, aveți grijă să nu scurgeți cheia privată pe care ați creat-o.

Dacă aveți Windows 10 sau o versiune ulterioară, Windows Server 2019 sau o versiune ulterioară, clientul OpenSSH este instalat implicit, astfel încât să îl puteți crea cu ușurință cu o comandă. În alte medii, va trebui să instalați un client OpenSSH separat sau să utilizați un instrument separat.

Următoarele sfaturi sunt pentru SFTP, dar vă rugăm să le consultați pentru configurarea unui client OpenSSH.

În mediul client, lansați un prompt de comandă, PowerShell, terminal sau orice instrument care poate executa comenzi.

Deoarece veți crea un fișier, treceți cd la orice director cu o comandă.

Executați următoarea comandă:

ssh-keygen -t rsa -f id_rsa

Puteți seta o frază de acces (parolă) pentru cheie, așa că vă rugăm să o introduceți dacă este necesar. Dacă setați o frază de acces, securitatea va fi îmbunătățită, dar va crește timpul și efortul de introducere a frazei de acces în procesul ulterior.

Au fost create o cheie publică (id_rsa.pub) și o cheie privată (id_rsa).

Cheia publică (id_rsa.pub) va fi plasată ulterior pe destinația îndepărtată. Cheia privată poate fi localizată oriunde pe clientul la distanță, dar trebuie să fie localizată într-un folder care poate fi accesat numai de contul utilizat în scopuri de securitate. Practic, cred că nu există nicio problemă dacă îl plasați în următorul folder din partea clientului. Dacă utilizați clientul OpenSSH, acesta va naviga în mod implicit la acest folder.

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

Dacă nu puteți crea folderul de mai sus în Explorer, îl puteți crea cu următoarea comandă.

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

Plasarea cheilor publice

Aceasta este o operație la distanță. Plasați cheia publică creată (id_rsa.pub) pe destinația la distanță. Mutați acest fișier în următorul folder: <ユーザー名> este numele contului de utilizator la care vă veți conecta atunci când vă conectați efectiv de la distanță.

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

Dacă nu aveți un folder și nu puteți crea un folder în Explorer, puteți crea un folder cu următoarea comandă.

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

Modificați fișierul authorized_keys cheie publică implementat la . Asta e tot.

În funcție de mediul dvs., este posibil să aveți deja authorized_keys fișierul. Acesta poate fi cazul dacă ați configurat o conexiune SSH în alte scopuri. În acest caz authorized_keys , ați înregistrat fișierul deschizând fișierul și fișierul cu Notepad etc. și id_rsa.pub listând conținutul id_rsa.pub pe următoarea linie a authorized_keys. Puteți înregistra mai multe chei publice în authorized_keys.

Conectați-vă cu SSH

Când vă conectați cu comanda OpenSSH

Există mai multe moduri de a vă conecta cu SSH, dar să începem cu o conexiune bazată pe comenzi. De fapt, conexiunea cu cel mai mic număr de pași este prin comandă. Ca o cerință preliminară, trebuie să aveți clientul OpenSSH instalat.

Lansați instrumentul de comandă la alegere (Command Prompt, PowerShell, Terminal).

Introduceți următoarea comandă:

Formatul comenzii

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

Următoarea este o explicație a parametrilor. Setați-l în funcție de mediul dvs.

numelui
Descrierea parametrului variabil
SSH O declarație de utilizare a SSH cu OpenSSH.
-eu O declarație de utilizare a unui fișier cu cheie privată.
< cale de fișier cheie privată> Descrieți locația fișierului cheie privată pe care l-ați creat. C:\Users\<ユーザー名>\.ssh Calea este opțională. În caz contrar, este necesară o cale absolută sau relativă.
-L Această declarație specifică portul care va fi utilizat local și de la distanță atunci când vă conectați la o destinație îndepărtată.
< port liber local> Conexiunea desktop la distanță utilizează de obicei portul 3389, dar vă puteți conecta utilizând orice port. Nu contează ce număr este, atâta timp cât este gratuit.
127.0.0.1 Aceasta este adresa IP gazdă care recunoaște de unde este conectată destinația la distanță. Practic, 127.0.0.1 este bine.
3389 Numărul portului care urmează să fie utilizat la destinația îndepărtată. Destinația la distanță este de obicei conectată prin portul 3389 cu o conexiune desktop la distanță, astfel încât să poată fi lăsată așa cum este.
< numele contului de utilizator la care doriți să vă conectați> Specificați contul la care doriți să vă conectați la destinația la distanță.
< adresa IP sau numele de gazdă al serverului la care să vă conectați> Specifică serverul destinație la distanță.

Exemplu de intrare

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

Prima dată, vi se va solicita o tastă, deci yes tastați și apăsați Enter.

Dacă aveți o expresie de acces setată pentru cheia privată, trebuie să o introduceți.

Următoarele vor fi într-o stare conectată. Puteți vedea că utilizatorul de pe partea serverului este afișat, nu clientul. În timp ce această fereastră este afișată, este conectată, așa că vă rugăm să nu o închideți. Dacă îl închideți, conexiunea va fi întreruptă.

La conectarea cu PuTTY

Aici, vom încerca să ne conectăm la SSH cu un instrument numit PuTTY.

Conversia cheii private

În primul rând, dacă utilizați PuTTY, va trebui să convertiți cheia privată. Cred că există "puttygen .exe" în instrumentul atașat, așa că vă rugăm să îl porniți.

Selectați "Conversii -> cheie import" din meniu.

Selectați cheia privată pe care ați creat-o, în acest caz, "id_rsa".

Dacă ați setat o frază de acces, introduceți-o.

Selectați "File -> Save private key" din meniu.

「. .ppk".

Odată creat, ați terminat.

Configurarea PuTTY

Lansați chit.exe.

Introduceți adresa IP a mediului la care doriți să vă conectați. Dacă aveți un domeniu, vă puteți conecta cu un nume de domeniu.

Selectați Conexiune -> Date din meniul din stânga. În câmpul Nume utilizator conectare automată, introduceți numele contului mediului la care doriți să vă conectați.

Din meniul din stânga, selectați Conexiune -> SSH -> Tuneluri. Introduceți fiecare dintre ele în câmpul de introducere de mai jos și faceți clic pe butonul "Adăugați".

Nume parametru Observații valoare
Port sursă 13389 Orice port liber va face. Îl voi folosi mai târziu
Destinație 127.0.0.1:3389

Când este adăugat, ar trebui să arate astfel:

Apoi, selectați "Conexiune -> SSH -> Auth -> Cledentioals" din meniul din stânga și faceți clic pe butonul Răsfoire pentru "Fișier cheie privată pentru autentificare".

Selectați cheia privată pe care ați salvat-o.

Selectați "Sesiune" din meniul din stânga, introduceți un nume la alegere pentru Salvați sesiunile și faceți clic pe butonul Salvare. Începând cu data viitoare, este OK dacă încărcați această setare.

După confirmarea salvării, faceți clic pe butonul "Deschidere".

Următorul ecran va fi afișat la conectarea pentru prima dată. Faceți clic pe butonul Accept.

Veți vedea un ecran care arată ca un prompt de comandă. Dacă aveți o frază de acces pentru cheia privată, introduceți-o.

Dacă conținutul afișat se modifică așa cum se arată mai jos, acesta va fi conectat. Puteți vedea că utilizatorul de pe partea serverului este afișat, nu clientul. În timp ce această fereastră este afișată, este conectată, așa că vă rugăm să nu o închideți. Dacă îl închideți, conexiunea va fi întreruptă.

Faceți o conexiune desktop la distanță cu SSH

Acum, să facem o conexiune desktop la distanță în timp ce suntem conectați cu SSH.

La conectare, porțiunea computerului nu este adresa reală la distanță, ci "localhost: < > numele portului specificat în conexiunea SSH". În exemplu, a fost specificat 13389, deci aici ne vom conecta la "localhost:13389".

Dacă este afișat ecranul de autentificare, puteți aprecia că conexiunea este finalizată. Introduceți numele de utilizator și parola pentru a vă conecta.

Dacă vă puteți conecta așa, ați reușit.

Dezactivați conexiunile desktop la distanță obișnuite în setările paravanului de protecție

La momentul elementului anterior, acum vă puteți conecta cu un desktop la distanță utilizând SSH. Cu toate acestea, în această stare, "Conexiune desktop la distanță prin SSH" a fost adăugat numai la "Conexiune normală desktop la distanță". În ceea ce privește securitatea, nu adaugă nimic. Deci, următorul lucru de făcut este să preveniți o "conexiune normală desktop la distanță".

Dacă faceți această setare, nu vă veți putea conecta, cu excepția "conexiunii desktop la distanță prin SSH", deci dacă vă încurcați cu setările, este posibil să nu aveți mijloacele de conectare de la distanță. Prin urmare, asigurați-vă că verificați în prealabil că este posibilă "conexiunea desktop la distanță prin SSH" și că puteți opera mediul la distanță prin alte mijloace, chiar dacă clientul la care încercați să vă conectați dispare.

Aici, configurați setările firewall-ului în "Conexiune desktop la distanță prin SSH". Acest lucru se datorează faptului că, dacă efectuați operația cu "conexiune desktop la distanță normală", aceasta va fi deconectată în momentul în care setați paravanul de protecție.

Vizualizați Paravanul de protecție Windows Defender cu securitate avansată. În funcție de versiunea de Windows, locația afișajului va varia, așa că vă rugăm să îl afișați în conformitate cu versiunea respectivă.

Selectați Reguli de intrare din meniul din stânga.

În lista din mijloc, găsiți "Desktop la distanță - Modul utilizator (TCP In)" și deschideți proprietățile.

Selectați fila Domeniu, schimbați adresa IP locală la Aceste adrese IP și faceți clic pe butonul Adăugare.

Introduceți 127.0.0.1 și faceți clic pe OK butonul. Acest lucru va împiedica conexiunile desktop la distanță din altă parte decât 127.0.0.1. 127.0.0.1 este adresa IP care indică mașina dvs. Dacă introduceți o valoare greșită, este posibil să nu vă puteți conecta de nicăieri, deci aveți grijă.

Apasă pe OK pentru a confirma.

Pentru moment, doar aceasta este o contramăsură, dar să setăm și "Desktop la distanță - Modul utilizator (UDP Receive)".

Verificați dacă nu vă puteți conecta de la distanță cu altceva decât SSH

Acum, încercați să faceți o conexiune desktop la distanță de pe un alt PC care nu utilizează SSH.

Dacă vă puteți conecta, va fi afișat ecranul de autentificare. Este OK dacă puteți confirma că conexiunea nu poate fi făcută așa cum se arată mai jos.

Rezumat

Cu cel mai recent Windows, acum este ușor să introduceți un server SSH. Prin adăugarea setărilor, acum puteți crește cu ușurință securitatea conexiunii desktop la distanță. Cu toate acestea, deoarece este responsabil doar pentru măsurile de securitate din Windows în sine, Dacă doriți să îl faceți mai sigur, cred că este preferabil să configurați un server SSH separat sau un firewall înainte de a vă conecta la Windows.

De asemenea, puteți seta securitatea strâns folosind SSH, dar când este prea greu, nimeni nu se poate conecta din cauza unei erori operaționale. Aveți grijă să nu ajungeți la asta.