Použitie protokolu SSH na bezpečné používanie programu Pripojenie vzdialenej pracovnej plochy k systému Windows

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prevádzkové prostredie

Vzdialené pripojenie k systému Windows
  • Windows 11
Vzdialené pripojenie zo systému Windows
  • Windows 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Predpoklady

Vzdialené pripojenie k systému Windows
  • Windows 10 alebo novší (vyžaduje sa Pro alebo iné vydanie). To však neplatí, ak je možné OpenSSH pripraviť samostatne.
  • Windows Server 2019 alebo novší. To však neplatí, ak je možné OpenSSH pripraviť samostatne.
Vzdialené pripojenie zo systému Windows
  • Windows (väčšina verzií je možná)
  • Windows Server (väčšina verzií je možná)

Najskôr

Po vytvorení prostredia Windows na internete v cloude alebo VPS často používate pripojenie vzdialenej pracovnej plochy na ovládanie vzdialeného cieľa systému Windows.

Pri pripojení vzdialenej pracovnej plochy je komunikačný obsah šifrovaný a ak neunikne meno používateľa a heslo, ostatní sa bez povolenia neprihlásia. Vždy existuje obava, že sa ľudia pokúsia prihlásiť odkiaľkoľvek.

Niektoré hlavné cloudy majú brány firewall oddelené od virtuálnych počítačov a existuje funkcia na obmedzenie zdroja pripojenia. Tieto funkcie nemusia byť k dispozícii vo všetkých službách. Najmä v prostrediach postavených na nízkom rozpočte existuje veľa prípadov, keď takéto funkcie nie sú k dispozícii.

Preto by som tentokrát chcel čo najviac obmedziť zdroj pripojenia pridaním funkcie SSH . Keďže sa používa súkromný kľúč a verejný kľúč, pokiaľ nedôjde k úniku súkromného kľúča, možnosť vzdialeného prihlásenia z iného prostredia môže byť čo najviac minimalizovaná.

V tomto prípade použijeme OpenSSH na vybudovanie SSH prostredia.

Vytvorenie vzdialeného cieľového prostredia systému Windows

Vytvorte prostredie systému Windows, ktoré vám umožní vzdialené pripojenie cez internet. Nezáleží na tom, kde je postavený, pokiaľ ide cez internet, ale pre toto overenie bude postavený ako virtuálny stroj na Microsoft Azure. Kroky na stavbu na Azure nie sú pre tento tip relevantné, takže ich vynechám. Keďže tentoraz sa použije port 22, ak používate Azure, uistite sa, že komunikácia portu 22 prechádza nastaveniami virtuálneho počítača na Azure.

Ak vytvárate v inom prostredí ako Azure, uistite sa, že ste v pozícii, v ktorej môžete vytvoriť pripojenie vzdialenej pracovnej plochy k Windowsu pre svoje prostredie.

Okrem toho je verzia systému Windows zameraná na Windows 10 alebo novší, prípadne Windows Server 2019 alebo novší, čo uľahčuje vytvorenie prostredia OpenSSH. Môže byť implementovaný v staršom prostredí, ale trvá to trochu viac času a úsilia, pretože musíte stiahnuť a nastaviť OpenSSH samostatne.

V takom prípade je postup rovnaký ako v prípade SFTP, preto si pozrite nasledujúce tipy.

Nastavenie OpenSSH

Odtiaľ budeme pracovať vo vzdialenom prostredí Windows. Najprv sa pripojte k vzdialenému cieľu pomocou pripojenia vzdialenej pracovnej plochy. Ak váš cloud alebo VPS poskytuje konzolu, môžete ju použiť. Keďže tentoraz pôsobíme v prostredí Windows 11, kroky sa môžu v iných verziách mierne líšiť.

Otvorte ponuku Štart a vyberte položku Nastavenie.

Vyberte aplikáciu.

Vyberte položku Voliteľné funkcie.

Vyberte položku Zobraziť funkcie.

V zozname je "OpenSSH Server" o niečo nižšie, takže ho skontrolujte a kliknite na tlačidlo "Ďalej".

Kliknite na tlačidlo Inštalovať.

Po dokončení inštalácie a pridaní "OpenSSH Server" do nižšie uvedeného zoznamu máte hotovo.

Konfigurácia služby pre OpenSSH

Kliknite pravým tlačidlom myši na ponuku Štart a vyberte položku Správa počítača.

V zozname vľavo vyberte položku Služby.

V strednom zozname nájdite "OpenSSH SSH Server", kliknite pravým tlačidlom myši a vyberte "Vlastnosti".

Pri vzdialenom pripájaní chceme, aby bol server OpenSSH spustený, preto nastavte "Typ spustenia" na "Automaticky".

Keďže momentálne nebeží, začnem to tu, vrátane nastavenia.

Po spustení kliknite na tlačidlo OK , aby ste ho zatvorili. Mal by byť spustený v zozname.

Konfigurácia OpenSSH

V počiatočnom stave je autentifikácia súkromným kľúčom zakázaná, preto ju nastavte. Otvorte nasledujúci priečinok v programe Prieskumník.

  • C:\ProgramData\ssh

Vyššie uvedený priečinok však môže byť skrytým priečinkom, preto ho zobrazte nastavením možností Prieskumníka.

V priečinku sa volá sshd_config súbor, takže ho otvorte pomocou textového editora, ako je napríklad Poznámkový blok. Keďže tentoraz vykonáme zmeny, pred zmenou ich skopírujte a duplikujte ako sshd_config_old zálohu.

PubkeyAuthentication yes Hľadať: Táto položka predstavuje nastavenie, či sa má povoliť overovanie tajným kľúčom. V predvolenom nastavení je zakázaný a hovorí , ale je komentovaný, yes takže ho nekomentujte.

Pred zmenou

#PubkeyAuthentication yes

Po zmene

PubkeyAuthentication yes

PasswordAuthentication yes Hľadať: Táto položka je nastavenie, či sa má povoliť overovanie heslom. Je predvolene povolený a aj keď povolíte overovanie súkromným kľúčom, z bezpečnostného hľadiska nemá zmysel, ak zostane povolený, takže ho no zrušte a nastavte .

Pred zmenou

#PasswordAuthentication yes

Po zmene

PasswordAuthentication no

Komentujte nasledujúci riadok na konci: Toto je nastavenie kľúča pre skupinu správcov a vypneme ho, pretože v tomto prípade budeme podporovať prihlásenie na používateľa.

Pred zmenou

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Po zmene

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Po uložení súboru po OpenSSH SSH Server zmene reštartujte službu, aby odrážala nastavenia.

Ak chcete zmeniť port

Ak chcete zmeniť port SSH, zmeňte nasledovné.

Pred zmenou

#Port 22

Po zmene

#Port <任意の番号>

Zmenou čísla portu nebude predvolený port napadnutý, čo povedie k silnejšej bezpečnosti. Na druhej strane zvyšuje zložitosť operácie, takže musíte byť opatrní.

Ak zmeníte číslo portu, musíte pri pripájaní zadať iný port ako 22.

Vytváranie súkromných a verejných kľúčov

Toto je úloha na strane klienta. V skutočnosti však nezáleží na tom, kde pracujete. Dávajte však pozor, aby nedošlo k úniku súkromného kľúča, ktorý ste vytvorili.

Ak máte Windows 10 alebo novší, Windows Server 2019 alebo novší, klient OpenSSH je predvolene nainštalovaný, takže ho môžete jednoducho vytvoriť pomocou príkazu. V iných prostrediach budete musieť nainštalovať samostatného klienta OpenSSH alebo použiť samostatný nástroj.

Nasledujúce tipy sú pre SFTP, ale pozrite si ich pri nastavovaní klienta OpenSSH.

V klientskom prostredí spustite príkazový riadok, PowerShell, terminál alebo akýkoľvek nástroj, ktorý dokáže vykonávať príkazy.

Keďže budete vytvárať súbor, presuňte cd sa do ľubovoľného adresára pomocou príkazu.

Spustite nasledujúci príkaz:

ssh-keygen -t rsa -f id_rsa

Môžete nastaviť prístupovú frázu (heslo) pre kľúč, preto ho v prípade potreby zadajte. Ak nastavíte prístupovú frázu, zvýši sa zabezpečenie, ale zvýši sa čas a úsilie potrebné na zadanie prístupovej frázy v neskoršom procese.

Bol vytvorený verejný kľúč (id_rsa.pub) a súkromný kľúč (id_rsa).

Verejný kľúč (id_rsa.pub) bude umiestnený na vzdialený cieľ neskôr. Súkromný kľúč môže byť umiestnený kdekoľvek na vzdialenom klientovi, ale musí byť umiestnený v priečinku, ku ktorému má prístup iba účet, ktorý sa používa na bezpečnostné účely. V podstate si myslím, že nie je problém, ak ho umiestnite do nasledujúceho priečinka na strane klienta. Ak používate klienta OpenSSH, predvolene prejde do tohto priečinka.

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

Ak nemôžete vytvoriť priečinok uvedený vyššie v programe Prieskumník, môžete ho vytvoriť pomocou nasledujúceho príkazu.

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

Umiestnenie verejných kľúčov

Toto je diaľkové ovládanie. Umiestnite vytvorený verejný kľúč (id_rsa.pub) na vzdialený cieľ. Presuňte tento súbor do nasledujúceho priečinka: <ユーザー名> je názov používateľského účtu, do ktorého sa prihlásite, keď sa skutočne pripojíte na diaľku.

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

Ak priečinok nemáte a nemôžete ho vytvoriť v programe Prieskumník, môžete ho vytvoriť pomocou nasledujúceho príkazu.

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

Zmeňte nasadený súbor authorized_keys verejného kľúča na . To je všetko.

V závislosti od prostredia už súbor možno authorized_keys máte. Môže to byť prípad, ak ste nastavili pripojenie SSH na iné účely. V takom prípade authorized_keys ste súbor zaregistrovali otvorením súboru a súboru pomocou programu Poznámkový blok atď. A id_rsa.pub uvedením obsahu id_rsa.pub na nasledujúcom riadku authorized_keys. V authorized_keys môžete zaregistrovať viacero verejných kľúčov.

Spojte sa so SSH

Pri pripájaní pomocou príkazu OpenSSH

Existujú rôzne spôsoby, ako sa pripojiť k SSH, ale začnime pripojením založeným na príkazoch. V skutočnosti je spojenie s najmenším počtom krokov príkazom. Predpokladom je, že musíte mať nainštalovaného klienta OpenSSH.

Spustite príkazový nástroj podľa vášho výberu (príkazový riadok, PowerShell, Terminál).

Zadajte nasledujúci príkaz:

Formát príkazov

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

Nasleduje vysvetlenie parametrov. Nastavte ho podľa svojho prostredia.

názvu
Popis parametra premennej
SSH Vyhlásenie o použití SSH s OpenSSH.
-ja Vyhlásenie o použití súboru so súkromným kľúčom.
< cesta k súboru súkromného kľúča> Popíšte umiestnenie súboru súkromného kľúča, ktorý ste vytvorili. C:\Users\<ユーザー名>\.ssh Cesta je voliteľná. V opačnom prípade sa vyžaduje absolútna alebo relatívna cesta.
-L Toto vyhlásenie špecifikuje port, ktorý sa má použiť lokálne a vzdialene pri pripájaní k vzdialenému cieľu.
< miestny bezplatný prístav> Program Pripojenie vzdialenej pracovnej plochy zvyčajne používa port 3389, môžete sa však pripojiť pomocou ľubovoľného portu. Nezáleží na tom, aké číslo to je, pokiaľ je zadarmo.
127.0.0.1 Toto je adresa IP hostiteľa, ktorá rozpoznáva, odkiaľ je vzdialený cieľ pripojený. V podstate je 127.0.0.1 v poriadku.
3389 Číslo portu, ktoré sa má použiť vo vzdialenom cieli. Vzdialený cieľ je zvyčajne spojený portom 3389 s pripojením vzdialenej pracovnej plochy, takže ho možno ponechať tak, ako je.
< názov používateľského konta, ku ktorému sa chcete pripojiť> Zadajte, ku ktorému kontu sa chcete pripojiť vo vzdialenom cieli.
< IP adresu alebo názov hostiteľa servera, ku ktorému sa chcete pripojiť> Určuje vzdialený cieľový server.

Príklad vstupu

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

Pri prvom zobrazení sa zobrazí výzva na zadanie kľúča, zadajte yes text a stlačte kláves Enter.

Ak máte pre svoj súkromný kľúč nastavenú prístupovú frázu, musíte ju zadať.

Nasledujúce položky budú v pripojenom stave. Môžete vidieť, že sa zobrazuje používateľ na strane servera, nie klient. Keď je toto okno zobrazené, je pripojené, preto ho nezatvárajte. Ak ho zavriete, spojenie sa preruší.

Pri pripájaní k PuTTY

Tu sa pokúsime pripojiť k SSH pomocou nástroja s názvom PuTTY.

Konverzia súkromného kľúča

Po prvé, ak používate PuTTY, budete musieť previesť súkromný kľúč. Myslím si, že v priloženom nástroji je "tmel .exe", takže ho prosím spustite.

V ponuke vyberte "Konverzie -> Importovať kľúč".

Vyberte súkromný kľúč, ktorý ste vytvorili, v tomto prípade "id_rsa".

Ak ste nastavili prístupovú frázu, zadajte ju.

Z ponuky vyberte "Súbor -> Uložiť súkromný kľúč".

「. .ppk" súbor.

Po vytvorení máte hotovo.

Konfigurácia PuTTY

Spustite tmel.exe.

Zadajte adresu IP prostredia, ku ktorému sa chcete pripojiť. Ak máte doménu, môžete sa pripojiť pomocou názvu domény.

V ponuke vľavo vyberte položku Pripojenie -> Údaje. Do poľa Používateľské meno s automatickým prihlásením zadajte názov účtu prostredia, ku ktorému sa chcete pripojiť.

V ponuke vľavo vyberte položku Pripojenie -> Tunele SSH ->. Zadajte každú z nich do vstupného poľa nižšie a kliknite na tlačidlo "Pridať".

názvu parametra
Poznámky k hodnote
Zdrojový port 13389 Každý voľný port bude robiť. Použijem ho neskôr
Cieľ 127.0.0.1:3389

Po pridaní by mal vyzerať takto:

Potom z ponuky vľavo vyberte "Pripojenie -> SSH -> Auth -> Cledentioals" a kliknite na tlačidlo Prehľadávať pre "Súbor súkromného kľúča na autentifikáciu".

Vyberte súkromný kľúč, ktorý ste uložili.

V ponuke vľavo vyberte možnosť "Relácia", zadajte názov podľa vlastného výberu pre položku Uložiť relácie a kliknite na tlačidlo Uložiť. Od ďalšieho načítania je v poriadku, ak načítate toto nastavenie.

Po potvrdení uloženia kliknite na tlačidlo "Otvoriť".

Pri prvom pripájaní sa zobrazí nasledujúca obrazovka. Kliknite na tlačidlo Prijať.

Zobrazí sa obrazovka, ktorá vyzerá ako príkazový riadok. Ak máte prístupovú frázu pre súkromný kľúč, zadajte ju.

Ak sa zobrazený obsah zmení tak, ako je znázornené nižšie, bude pripojený. Môžete vidieť, že sa zobrazuje používateľ na strane servera, nie klient. Keď je toto okno zobrazené, je pripojené, preto ho nezatvárajte. Ak ho zavriete, spojenie sa preruší.

Vytvorte pripojenie vzdialenej pracovnej plochy pomocou SSH

Teraz urobme pripojenie vzdialenej pracovnej plochy pri pripojení k SSH.

Pri pripájaní nie je počítačovou časťou skutočná vzdialená adresa, ale "localhost:< > názov portu zadaný v pripojení SSH". V príklade bol zadaný 13389, takže tu sa pripojíme k "localhost:13389".

Ak sa zobrazí obrazovka overenia, môžete posúdiť, či je pripojenie dokončené. Ak sa chcete pripojiť, zadajte svoje používateľské meno a heslo.

Ak sa dokážete takto spojiť, uspeli ste.

Zakážte bežné pripojenia vzdialenej pracovnej plochy v nastaveniach brány firewall

V čase predchádzajúcej položky sa teraz môžete pripojiť k vzdialenej pracovnej ploche pomocou SSH. V tomto stave však "Pripojenie vzdialenej pracovnej plochy pomocou SSH" bolo pridané iba do "Normálne pripojenie vzdialenej pracovnej plochy". Pokiaľ ide o bezpečnosť, nič to nepridáva. Takže ďalšia vec, ktorú musíte urobiť, je zabrániť "normálnemu pripojeniu vzdialenej pracovnej plochy".

Ak vykonáte toto nastavenie, nebudete sa môcť pripojiť okrem "pripojenia vzdialenej pracovnej plochy pomocou SSH", takže ak sa pokazíte s nastaveniami, možno nebudete mať prostriedky na vzdialené pripojenie. Preto nezabudnite vopred skontrolovať, či je možné "pripojenie vzdialenej pracovnej plochy pomocou SSH", a byť schopný ovládať vzdialené prostredie inými prostriedkami, aj keď klient, ku ktorému sa pokúšate pripojiť, zmizne.

Tu nakonfigurujte nastavenia brány firewall v časti "Pripojenie vzdialenej pracovnej plochy cez SSH". Je to preto, že ak operáciu vykonáte s "normálnym pripojením vzdialenej pracovnej plochy", odpojí sa v okamihu, keď nastavíte bránu firewall.

Zobrazte bránu Windows Defender Firewall s rozšíreným zabezpečením. V závislosti od verzie systému Windows sa umiestnenie displeja bude líšiť, preto ho zobrazte podľa danej verzie.

V ponuke vľavo vyberte položku Pravidlá prichádzajúcej komunikácie.

V strednom zozname nájdite "Vzdialená pracovná plocha - používateľský režim (TCP In)" a otvorte jeho vlastnosti.

Vyberte kartu Rozsah, zmeňte lokálnu adresu IP na Tieto adresy IP a kliknite na tlačidlo Pridať.

Zadajte 127.0.0.1 a kliknite na tlačidlo OK tlačidlo. Tým sa zabráni pripojeniam vzdialenej pracovnej plochy odkiaľkoľvek inde ako z 127.0.0.1. 127.0.0.1 je adresa IP, ktorá odkazuje na vaše zariadenie. Ak zadáte nesprávnu hodnotu, možno sa nebudete môcť pripojiť odkiaľkoľvek, takže buďte opatrní.

Potvrďte kliknutím na tlačidlo OK.

Zatiaľ je to samo o sebe protiopatrenie, ale nastavme aj "Vzdialená pracovná plocha - používateľský režim (príjem UDP)".

Overte, či sa nemôžete vzdialene pripojiť k ničomu inému ako SSH

Teraz skúste vytvoriť pripojenie vzdialenej pracovnej plochy z iného počítača, ktorý nepoužíva protokol SSH.

Ak sa môžete pripojiť, zobrazí sa obrazovka overenia. Je v poriadku, ak môžete potvrdiť, že pripojenie nie je možné vytvoriť, ako je uvedené nižšie.

Súhrn

S najnovším systémom Windows je teraz ľahké zaviesť server SSH. Pridaním nastavení môžete teraz jednoducho zvýšiť zabezpečenie pripojenia vzdialenej pracovnej plochy. Keďže je však zodpovedný iba za bezpečnostné opatrenia v samotnom systéme Windows, Ak chcete, aby to bolo bezpečnejšie, myslím si, že je vhodnejšie nastaviť samostatný server SSH alebo bránu firewall pred pripojením k systému Windows.

Môžete tiež pevne nastaviť zabezpečenie pomocou SSH, ale keď je príliš ťažké, nikto sa nemôže pripojiť kvôli prevádzkovej chybe. Dávajte pozor, aby ste s tým neskončili.