Použití SSH k bezpečnému používání Připojení ke vzdálené ploše k Windows

Stránky aktualizovány :
Datum vytvoření stránky :

Provozní prostředí

Vzdálené připojení k Windows
  • Systém Windows 11
Vzdálené připojení z Windows
  • Windows 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Požadavky

Vzdálené připojení k Windows
  • Windows 10 nebo novější (vyžaduje se edice Pro nebo jiná). To však neplatí, pokud lze OpenSSH připravit samostatně.
  • Windows Server 2019 nebo novější. To však neplatí, pokud lze OpenSSH připravit samostatně.
Vzdálené připojení z Windows
  • Windows (většina verzí je možná)
  • Windows Server (je možné použít většinu verzí)

Nejprve

Po vybudování prostředí Windows na internetu v cloudu nebo VPS často používáte připojení ke vzdálené ploše pro ovládání vzdáleného cíle Windows.

Při připojení ke vzdálené ploše je obsah komunikace šifrován, a pokud nedojde k úniku uživatelského jména a hesla, ostatní se bez oprávnění nepřihlásí. Vždy existuje obava, že se lidé budou pokoušet přihlásit odkudkoli.

Některé hlavní cloudy mají brány firewall oddělené od virtuálních počítačů a existuje funkce pro omezení zdroje připojení. Tyto funkce nemusí být dostupné ve všech službách. Zejména v prostředích postavených s nízkým rozpočtem existuje mnoho případů, kdy takové funkce nejsou k dispozici.

Proto bych tentokrát chtěl co nejvíce omezit zdroj připojení přidáním funkce SSH . Vzhledem k tomu, že se používá privátní klíč a veřejný klíč, pokud nedojde k úniku privátního klíče, lze možnost vzdáleného přihlášení z jiného prostředí co nejvíce minimalizovat.

V tomto případě použijeme OpenSSH k sestavení SSH prostředí.

Vytvoření vzdáleného cílového prostředí Windows

Vytvořte prostředí Windows, které vám umožní vzdálené připojení přes Internet. Nezáleží na tom, kde je sestaven, pokud jde přes internet, ale pro toto ověření bude sestaven jako virtuální stroj v Microsoft Azure. Kroky pro sestavení v Azure nejsou pro tento tip relevantní, takže je vynechám. Vzhledem k tomu, že se tentokrát použije port 22, pokud používáte Azure, ujistěte se, že komunikace na portu 22 prochází nastavením virtuálního počítače v Azure.

Pokud vytváříte v jiném prostředí než Azure, ujistěte se, že jste v pozici, kdy můžete vytvořit připojení ke vzdálené ploše k Windows pro vaše prostředí.

Verze pro Windows navíc cílí na Windows 10 nebo novější nebo Windows Server 2019 nebo novější, což usnadňuje vytvoření prostředí OpenSSH. Dá se implementovat i ve starším prostředí, ale zabere to trochu více času a úsilí, protože OpenSSH je potřeba stáhnout a nastavit samostatně.

V takovém případě je postup stejný jako u SFTP, proto se řiďte následujícími tipy.

Nastavení OpenSSH

Odtud budeme pracovat ve vzdáleném prostředí Windows. Nejprve se připojte ke vzdálenému cíli pomocí připojení ke vzdálené ploše. Pokud váš cloud nebo VPS poskytuje konzoli, můžete ji použít. Vzhledem k tomu, že tentokrát pracujeme v prostředí Windows 11, mohou se kroky v jiných verzích mírně lišit.

Otevřete nabídku Start a vyberte Nastavení.

Vyberte aplikaci.

Vyberte možnost Volitelné funkce.

Vyberte Zobrazit funkce.

V seznamu je "OpenSSH Server" o něco níže, takže jej zkontrolujte a klikněte na "Další".

Klikněte na Instalovat.

Po dokončení instalace a přidání "OpenSSH Server" do níže uvedeného seznamu máte hotovo.

Konfigurace služby pro OpenSSH

Klepněte pravým tlačítkem myši na nabídku Start a vyberte Správa počítače.

Ze seznamu vlevo vyberte Služby.

V prostředním seznamu najděte "OpenSSH SSH Server", klikněte pravým tlačítkem a vyberte "Vlastnosti".

Při vzdáleném připojování chceme, aby běžel server OpenSSH, proto nastavte "Typ spouštění" na "Automaticky".

Vzhledem k tomu, že v tuto chvíli neběží, spustím jej zde, včetně nastavení.

Po spuštění jej zavřete kliknutím na tlačítko OK. Měl by být spuštěn v seznamu.

Konfigurace OpenSSH

Ve výchozím stavu je ověřování privátním klíčem zakázáno, proto jej nastavte. Otevřete následující složku v Průzkumníku.

  • C:\ProgramData\ssh

Výše uvedená složka však může být skrytá, proto ji prosím zviditelněte nastavením možností Průzkumníka.

Ve složce je soubor s názvem sshd_config , takže jej otevřete v textovém editoru, jako je Poznámkový blok. Vzhledem k tomu, že tentokrát budeme provádět změny, zkopírujte a duplikujte je jako zálohu sshd_config_old před změnou.

PubkeyAuthentication yes Hledat: Tato položka je nastavení, zda se má povolit ověřování pomocí tajného klíče. Ve výchozím nastavení je zakázán a říká , ale je zakomentován, yes takže jej odkomentujte.

Před změnou

#PubkeyAuthentication yes

Po změně

PubkeyAuthentication yes

PasswordAuthentication yes Hledat: Tato položka je nastavení, zda se má povolit ověřování heslem. Ve výchozím nastavení je povoleno, a i když povolíte ověřování privátním klíčem, nemá z bezpečnostního hlediska smysl, pokud zůstane povoleno, takže jej odkomentujte a no nastavte .

Před změnou

#PasswordAuthentication yes

Po změně

PasswordAuthentication no

Zakomentujte následující řádek na konci: Toto je klíčové nastavení pro skupinu administrators a my ho zakážeme, protože v tomto případě budeme podporovat přihlášení jednotlivých uživatelů.

Před změnou

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Po změně

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Po uložení souboru po OpenSSH SSH Server změně restartujte službu, aby se nastavení projevilo.

Pokud chcete změnit port

Pokud chcete změnit port SSH, změňte následující.

Před změnou

#Port 22

Po změně

#Port <任意の番号>

Změnou čísla portu nedojde k napadení výchozího portu, což povede k silnějšímu zabezpečení. Na druhou stranu to zvyšuje složitost operace, takže musíte být opatrní.

Pokud změníte číslo portu, musíte při připojování zadat jiný port než 22.

Vytváření soukromých a veřejných klíčů

Jedná se o úlohu na straně klienta. Nezáleží však na tom, kde pracujete. Dávejte ale pozor, aby nedošlo k úniku privátního klíče, který jste vytvořili.

Pokud máte Windows 10 nebo novější, Windows Server 2019 nebo novější, je ve výchozím nastavení nainstalován klient OpenSSH, takže jej můžete snadno vytvořit pomocí příkazu. V jiných prostředích budete muset nainstalovat samostatného klienta OpenSSH nebo použít samostatný nástroj.

Následující tipy jsou pro SFTP, ale pro nastavení klienta OpenSSH se na ně podívejte.

V klientském prostředí spusťte příkazový řádek, PowerShell, terminál nebo jakýkoli nástroj, který může spouštět příkazy.

Vzhledem k tomu, že budete vytvářet soubor, přesuňte se cd do libovolného adresáře pomocí příkazu.

Spusťte následující příkaz:

ssh-keygen -t rsa -f id_rsa

Pro klíč můžete nastavit přístupovou frázi (heslo), proto ji v případě potřeby zadejte. Pokud nastavíte přístupové heslo, zvýší se zabezpečení, ale prodlouží se čas a úsilí při zadávání přístupového hesla v pozdějším procesu.

Byl vytvořen veřejný klíč (id_rsa.pub) a soukromý klíč (id_rsa).

Veřejný klíč (id_rsa.pub) bude umístěn do vzdáleného cíle později. Privátní klíč může být umístěn kdekoli ve vzdáleném klientovi, ale musí být umístěn ve složce, ke které má přístup pouze účet, který se používá pro účely zabezpečení. V zásadě si myslím, že není problém, pokud jej umístíte do následující složky na straně klienta. Pokud používáte klienta OpenSSH, ve výchozím nastavení přejde do této složky.

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

Pokud nemůžete vytvořit výše uvedenou složku v Průzkumníku, můžete ji vytvořit pomocí následujícího příkazu.

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

Umístění veřejných klíčů

Jedná se o dálkové ovládání. Umístěte vytvořený veřejný klíč (id_rsa.pub) do vzdáleného cíle. Přesuňte tento soubor do následující složky: <ユーザー名> je název uživatelského účtu, ke kterému se budete přihlašovat, když se skutečně vzdáleně připojíte.

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

Pokud nemáte složku a nemůžete vytvořit složku v Průzkumníkovi, můžete ji vytvořit pomocí následujícího příkazu.

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

Změňte nasazený soubor authorized_keys veřejného klíče na . A je to.

V závislosti na vašem prostředí už soubor možná authorized_keys máte. To může být případ, pokud jste nastavili připojení SSH pro jiné účely. V takovém případě authorized_keys jste soubor zaregistrovali tak, že jste soubor a soubor otevřeli v programu Poznámkový blok atd. a id_rsa.pub na dalším řádku authorized_keys vypsali obsah souboru id_rsa.pub. V authorized_keys můžete zaregistrovat více veřejných klíčů.

Připojení pomocí SSH

Při připojování pomocí příkazu OpenSSH

Existují různé způsoby, jak se připojit k SSH, ale začněme připojením založeným na příkazech. Ve skutečnosti je spojení s nejmenším počtem kroků příkazem. Předpokladem je, že musíte mít nainstalovaného klienta OpenSSH.

Spusťte příkazový nástroj podle vašeho výběru (příkazový řádek, PowerShell, terminál).

Zadejte následující příkaz:

Formát příkazu

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

Následuje vysvětlení parametrů. Nastavte jej podle svého prostředí.

parametru proměnné
NázevPopis
SSH Deklarace pro použití SSH s OpenSSH.
-já Deklarace pro použití souboru privátního klíče.
< cestu k souboru privátního klíče> Popište umístění souboru privátního klíče, který jste vytvořili. C:\Users\<ユーザー名>\.ssh Cesta je volitelná. V opačném případě je vyžadována absolutní nebo relativní cesta.
-L Tato deklarace určuje port, který se má použít místně a vzdáleně při připojování ke vzdálenému cíli.
< místní bezplatný port> Připojení ke vzdálené ploše obvykle používá port 3389, ale můžete se připojit pomocí libovolného portu. Nezáleží na tom, o jaké číslo se jedná, pokud je zdarma.
127.0.0.1 Jedná se o IP adresu hostitele, která rozpozná, odkud je vzdálený cíl připojen. V zásadě je 127.0.0.1 v pořádku.
3389 Číslo portu, které má být použito ve vzdáleném cíli. Vzdálený cíl je obvykle připojen portem 3389 s připojením ke vzdálené ploše, takže jej lze ponechat tak, jak je.
< název uživatelského účtu, ke kterému se chcete připojit> Určete, ke kterému účtu se chcete připojit ve vzdáleném cíli.
< IP adresu nebo název hostitele serveru, ke kterému se chcete připojit> Určuje vzdálený cílový server.

Příklad vstupu

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

Poprvé budete vyzváni k zadání klávesy, takže yes zadejte a stiskněte klávesu Enter.

Pokud máte pro svůj soukromý klíč nastavenou přístupovou frázi, musíte ji zadat.

Následující položky budou v připojeném stavu. Vidíte, že se zobrazuje uživatel na straně serveru, nikoli klient. Když je toto okno zobrazeno, je připojeno, proto jej prosím nezavírejte. Pokud jej zavřete, spojení se přeruší.

Při připojování k PuTTY

Zde se pokusíme připojit k SSH pomocí nástroje zvaného PuTTY.

Převod privátního klíče

Nejprve, pokud používáte výstup, budete muset převést privátní klíč. Myslím, že v přiloženém nástroji je "puttygen .exe", tak jej prosím spusťte.

Z nabídky vyberte "Konverze > Importovat klíč".

Vyberte privátní klíč, který jste vytvořili, v tomto případě "id_rsa".

Pokud jste nastavili přístupovou frázi, zadejte ji.

Z nabídky vyberte "Soubor -> Uložit soukromý klíč".

「. .ppk".

Po vytvoření máte hotovo.

Konfigurace výstupu

Spusťte tmel.exe.

Zadejte IP adresu prostředí, ke kterému se chcete připojit. Pokud máte doménu, můžete se připojit pomocí názvu domény.

Vyberte Připojení -> Data z nabídky vlevo. Do pole Uživatelské jméno pro automatické přihlášení zadejte název účtu prostředí, ke kterému se chcete připojit.

V nabídce na levé straně vyberte Připojení -> SSH -> tunely. Zadejte každý z nich do vstupního pole níže a klikněte na tlačítko "Přidat".

Název parametru Poznámky k hodnotě
Zdrojový port 13389 Postačí jakýkoli volný port. Použiji to později
Cíl 127.0.0.1:3389

Po přidání by měl vypadat takto:

Dále z nabídky vlevo vyberte "Connection -> SSH -> Auth -> Cledentioals" a klikněte na tlačítko Procházet pro "Soubor privátního klíče pro autentizaci".

Vyberte soukromý klíč, který jste uložili.

V nabídce vlevo vyberte "Relace", zadejte požadovaný název pro Uložit relace a klikněte na tlačítko Uložit. Od příště je v pořádku, pokud toto nastavení načtete.

Po potvrzení uložení klikněte na tlačítko "Otevřít".

Při prvním připojení se zobrazí následující obrazovka. Klikněte na tlačítko Přijmout.

Zobrazí se obrazovka, která vypadá jako příkazový řádek. Pokud máte přístupové heslo k privátnímu klíči, zadejte ho.

Pokud se obsah displeje změní, jak je znázorněno níže, bude připojen. Vidíte, že se zobrazuje uživatel na straně serveru, nikoli klient. Když je toto okno zobrazeno, je připojeno, proto jej prosím nezavírejte. Pokud jej zavřete, spojení se přeruší.

Vytvoření připojení ke vzdálené ploše pomocí SSH

Nyní navážeme připojení ke vzdálené ploše, když jste připojeni k SSH.

Při připojování není počítačová část skutečnou vzdálenou adresou, ale "localhost:< > název portu zadaný v SSH připojení". V příkladu bylo zadáno 13389, takže zde se připojíme k "localhost:13389".

Pokud se zobrazí obrazovka ověření, můžete posoudit, zda je připojení dokončeno. Chcete-li se připojit, zadejte své uživatelské jméno a heslo.

Pokud se dokážete takto připojit, uspěli jste.

Zakažte běžná připojení ke vzdálené ploše v nastavení brány firewall

V době předchozí položky se nyní můžete připojit ke vzdálené ploše pomocí SSH. V tomto stavu však bylo "Připojení ke vzdálené ploše pomocí SSH" přidáno pouze do "Normálního připojení ke vzdálené ploše". Z hlediska bezpečnosti to nic nepřidává. Další věcí, kterou musíte udělat, je zabránit "normálnímu připojení ke vzdálené ploše".

Pokud provedete toto nastavení, nebudete se moci připojit s výjimkou "připojení ke vzdálené ploše pomocí SSH", takže pokud si s nastavením pohrajete, možná nebudete mít prostředky pro vzdálené připojení. Proto si předem ověřte, zda je možné "připojení ke vzdálené ploše přes SSH", a buďte schopni ovládat vzdálené prostředí jinými prostředky, i když klient, ke kterému se pokoušíte připojit, zmizí.

Zde nakonfigurujte nastavení brány firewall v části "Připojení ke vzdálené ploše přes SSH". Je to proto, že pokud provedete operaci s "normálním připojením ke vzdálené ploše", bude odpojena v okamžiku, kdy nastavíte bránu firewall.

Zobrazte bránu Windows Defender Firewall s pokročilým zabezpečením. V závislosti na verzi systému Windows se umístění displeje bude lišit, proto jej prosím zobrazte podle této verze.

V nabídce vlevo vyberte Příchozí pravidla.

V prostředním seznamu najděte "Vzdálená plocha – uživatelský režim (TCP In)" a otevřete její vlastnosti.

Vyberte kartu Obor, změňte místní IP adresu na Tyto IP adresy a klikněte na tlačítko Přidat.

Zadejte 127.0.0.1 a klikněte na OK knoflík. Tím zabráníte připojení ke vzdálené ploše odkudkoli jinde než 127.0.0.1. 127.0.0.1 je IP adresa, která ukazuje na váš počítač. Pokud zadáte špatnou hodnotu, možná se nebudete moci odkudkoli připojit, takže buďte opatrní.

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

Prozatím je to samo o sobě protiopatření, ale nastavíme také "Vzdálená plocha - uživatelský režim (UDP Receive)".

Ověřte, že se nemůžete vzdáleně připojit k ničemu jinému než SSH.

Nyní zkuste vytvořit připojení ke vzdálené ploše z jiného počítače, který nepoužívá SSH.

Pokud se můžete připojit, zobrazí se obrazovka ověření. Je v pořádku, pokud můžete potvrdit, že připojení nelze provést, jak je uvedeno níže.

Shrnutí

S nejnovějšími Windows je nyní snadné zavést server SSH. Přidáním nastavení můžete nyní snadno zvýšit zabezpečení připojení ke vzdálené ploše. Protože je však zodpovědný pouze za bezpečnostní opatření v samotném systému Windows, Pokud to chcete zabezpečit, myslím, že je lepší před připojením k Windows nastavit samostatný SSH server nebo firewall.

Zabezpečení můžete také pevně nastavit pomocí SSH, ale když je příliš tvrdé, nikdo se nemůže připojit kvůli provozní chybě. Dávejte pozor, abyste s tím neskončili.