Utilitzeu SSH per utilitzar de manera segura la connexió de l'escriptori remot a Windows

Pàgina actualitzada :
Data de creació de la pàgina :

Entorn operatiu

Connexió remota a Windows
  • Finestres 11
Connexió remota des de Windows
  • Windows 10
OpenSSH
  • OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2

Prerequisits

Connexió remota a Windows
  • Windows 10 o posterior (es requereix Pro o una altra edició). Tanmateix, això no s'aplica si OpenSSH es pot preparar per separat.
  • Windows Server 2019 o posterior. Tanmateix, això no s'aplica si OpenSSH es pot preparar per separat.
Connexió remota des de Windows
  • Windows (la majoria de versions són possibles)
  • Windows Server (la majoria de versions són possibles)

Al principi

Després de construir un entorn Windows a Internet al núvol o VPS, sovint utilitzeu una connexió d'escriptori remot per operar la destinació remota de Windows.

En la connexió d'escriptori remot, el contingut de la comunicació està xifrat i, si no es filtra el nom d'usuari i la contrasenya, altres no iniciaran sessió sense permís. Sempre hi ha la preocupació que la gent intenti iniciar sessió des de qualsevol lloc.

Alguns núvols importants tenen tallafocs separats de les màquines virtuals, i hi ha una funció per restringir la font de connexió. És possible que aquestes funcions no estiguin disponibles en tots els serveis. Especialment en entorns construïts amb un pressupost baix, hi ha molts casos en què aquestes funcions no estan disponibles.

Per tant, aquesta vegada, m'agradaria limitar la font de connexió tant com sigui possible afegint la funció SSH . Atès que s'utilitza la clau privada i la clau pública, sempre que la clau privada no es filtri, la possibilitat d'iniciar sessió remotament des d'un altre entorn es pot minimitzar tant com sigui possible.

En aquest cas, utilitzarem OpenSSH per construir l'entorn SSH.

Crear una destinació remota Entorn Windows

Creeu un entorn Windows que us permeti connectar-vos remotament a través d'Internet. No importa on es construeixi sempre que passi per Internet, però per a aquesta verificació, es construirà com una màquina virtual a Microsoft Azure. Els passos per construir a Azure no són rellevants per a aquest consell, així que els ometreré. Com que aquesta vegada s'utilitzarà el port 22, si utilitzeu Azure, assegureu-vos que la comunicació del port 22 passi per la configuració de la màquina virtual a Azure.

Si esteu construint en un entorn que no sigui l'Azure, assegureu-vos que esteu en una posició on pugueu establir una connexió d'escriptori remot al Windows per al vostre entorn.

A més, la versió de Windows s'orienta a Windows 10 o posterior o Windows Server 2019 o posterior, cosa que facilita la creació d'un entorn OpenSSH. Es pot implementar en un entorn anterior, però es necessita una mica més de temps i esforç perquè heu de descarregar i configurar OpenSSH per separat.

En aquest cas, el procediment és el mateix que per a SFTP, així que consulteu els consells següents.

Configuració d'OpenSSH

A partir d'aquí, treballarem en l'entorn remot de Windows. Primer, connecteu-vos a la destinació remota amb una connexió d'escriptori remot. Si el teu núvol o VPS proporciona una consola, pots utilitzar-la. Com que aquesta vegada estem operant en un entorn Windows 11, els passos poden ser lleugerament diferents en altres versions.

Obriu el menú Inici i seleccioneu Configuració.

Seleccioneu una aplicació.

Seleccioneu Funcions opcionals.

Seleccioneu Mostra les funcions.

Hi ha "OpenSSH Server" una mica més baix a la llista, així que comproveu-lo i feu clic a "Següent".

Feu clic a Instal·la.

Quan la instal·lació s'hagi completat i s'afegeixi "OpenSSH Server" a la llista següent, ja heu acabat.

Configuració del servei per a OpenSSH

Feu clic amb el botó dret al menú Inici i seleccioneu Gestió informàtica.

Seleccioneu Serveis a la llista de l'esquerra.

Cerqueu "OpenSSH SSH Server" a la llista mitjana, feu clic amb el botó dret i seleccioneu "Propietats".

Quan ens connectem de forma remota, volem que el servidor OpenSSH s'executi, de manera que configureu el "Tipus d'inici" a "Automàtic".

Com que de moment no s'està executant, l'iniciaré aquí, fins i tot configurant-lo.

Un cop llançat, feu clic al botó D'acord per tancar-lo. S'hauria d'executar a la llista.

Configuració d'OpenSSH

En l'estat inicial, l'autenticació per clau privada està desactivada, així que configureu-la. Obriu la carpeta següent a l'Explorador.

  • C:\ProgramData\ssh

Tanmateix, la carpeta anterior pot ser una carpeta oculta, de manera que feu-la visible configurant les opcions de l'explorador.

Hi ha un fitxer anomenat a la carpeta, així que obriu-lo amb un editor de text com ara el Bloc de sshd_config notes. Com que aquesta vegada farem canvis, copieu-los i dupliqueu-los com a sshd_config_old còpia de seguretat abans del canvi.

PubkeyAuthentication yes Buscar: Aquest element és una configuració sobre si s'ha d'habilitar l'autenticació de clau secreta. Per defecte, està desactivat i diu , però està comentat, yes així que descomenta'l.

Abans del canvi

#PubkeyAuthentication yes

Després del canvi

PubkeyAuthentication yes

PasswordAuthentication yes Buscar: Aquest element és una configuració per saber si voleu habilitar l'autenticació amb contrasenya. Està habilitat per defecte, i fins i tot si habiliteu l'autenticació de clau privada, no té sentit des d'un punt de vista de seguretat si roman habilitada, així que descomenteu-la i no configureu-la.

Abans del canvi

#PasswordAuthentication yes

Després del canvi

PasswordAuthentication no

Comenteu la següent línia prop del final: Aquesta és la configuració clau per al grup d'administradors, i la desactivarem perquè en aquest cas admetrem els inicis de sessió per usuari.

Abans del canvi

Match Group administrators
       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Després del canvi

#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

Després de desar el fitxer després OpenSSH SSH Server del canvi, reinicieu el servei per reflectir la configuració.

Si vols canviar de port

Si voleu canviar el port SSH, canvieu el següent.

Abans del canvi

#Port 22

Després del canvi

#Port <任意の番号>

En canviar el número de port, no s'atacarà el port predeterminat, cosa que comportarà una seguretat més forta. D'altra banda, augmenta la complexitat de l'operació, per la qual cosa cal anar amb compte.

Si canvieu el número de port, heu d'especificar un port diferent del 22 en connectar-vos.

Creació de claus privades i públiques

Aquesta és una tasca del client. Tot i això, realment no importa on treballeu. Tanmateix, aneu amb compte de no filtrar la clau privada que heu creat.

Si teniu Windows 10 o posterior, Windows Server 2019 o posterior, el client OpenSSH està instal·lat per defecte, de manera que podeu crear-lo fàcilment amb una ordre. En altres entorns, haureu d'instal·lar un client OpenSSH independent o utilitzar una eina independent.

Els següents consells són per a SFTP, però consulteu-los per configurar un client OpenSSH.

A l'entorn client, inicieu un indicador d'ordres, PowerShell, terminal o qualsevol eina que pugui executar ordres.

Com que creareu un fitxer, aneu cd a qualsevol directori amb una ordre.

Executeu l'ordre següent:

ssh-keygen -t rsa -f id_rsa

Podeu establir una contrasenya (contrasenya) per a la clau, així que introduïu-la si cal. Si definiu una frase de contrasenya, es millorarà la seguretat, però augmentarà el temps i l'esforç d'introduir la frase de contrasenya en el procés posterior.

S'han creat una clau pública (id_rsa.pub) i una clau privada (id_rsa).

La clau pública (id_rsa.pub) es col·locarà a la destinació remota més endavant. La clau privada es pot localitzar en qualsevol lloc del client remot, però ha d'estar ubicada en una carpeta a la qual només pot accedir el compte que s'utilitza per motius de seguretat. Bàsicament, crec que no hi ha cap problema si el col·loqueu a la carpeta següent del costat del client. Si utilitzeu el client OpenSSH, navegarà a aquesta carpeta per defecte.

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

Si no podeu crear la carpeta anterior a l'Explorador, podeu crear-la amb l'ordre següent.

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

Col·locació de claus públiques

Es tracta d'una operació remota. Col·loca la clau pública creada (id_rsa.pub) a la destinació remota. Moveu aquest fitxer a la carpeta següent: <ユーザー名> és el nom del compte d'usuari al qual iniciareu la sessió quan realment us connecteu de forma remota.

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

Si no teniu cap carpeta i no podeu crear una carpeta a l'Explorador, podeu crear una carpeta amb l'ordre següent.

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

Canvieu el fitxer authorized_keys de clau pública desplegat a . Això és tot.

En funció del vostre entorn, és possible que ja authorized_keys tingueu el fitxer. Aquest pot ser el cas si heu configurat una connexió SSH per a altres finalitats. En aquest cas authorized_keys , heu registrat el fitxer obrint el fitxer i el fitxer amb el Bloc de notes, etc., i id_rsa.pub enumerant el contingut del id_rsa.pub a la línia següent del authorized_keys. Podeu registrar diverses claus públiques a authorized_keys.

Connecteu-vos amb SSH

Quan es connecta amb l'ordre OpenSSH

Hi ha diverses maneres de connectar-se amb SSH, però comencem amb una connexió basada en ordres. De fet, la connexió amb el menor nombre de passos és per ordre. Com a requisit previ, heu de tenir instal·lat el client OpenSSH.

Inicieu l'eina d'ordres que vulgueu (símbol del sistema, PowerShell, terminal).

Introduïu l'ordre següent:

Format d'ordre

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

A continuació s'explica els paràmetres. Configureu-lo segons el vostre entorn.

del nom del
Descripció paràmetre variable
SSH Una declaració per utilitzar SSH amb OpenSSH.
-jo Una declaració per utilitzar un fitxer de clau privada.
< camí del fitxer de clau privada> Descriviu la ubicació del fitxer de clau privada que heu creat. C:\Users\<ユーザー名>\.ssh El camí és opcional. En cas contrari, es requereix un camí absolut o relatiu.
-L Aquesta declaració especifica el port que s'utilitzarà localment i remotament quan es connecti a una destinació remota.
< port franc local> La Remote Desktop Connection normalment utilitza el port 3389, però podeu connectar-vos mitjançant qualsevol port. No importa quin número sigui, sempre que sigui gratuït.
127.0.0.1 Aquesta és l'adreça IP de l'amfitrió que reconeix des d'on es connecta la destinació remota. Bàsicament, 127.0.0.1 està bé.
3389 El número de port que s'utilitzarà a la destinació remota. La destinació remota normalment es connecta pel port 3389 amb una connexió d'escriptori remot, de manera que es pot deixar tal com està.
< nom del compte d'usuari al qual us voleu connectar> Especifiqueu a quin compte us voleu connectar a la destinació remota.
< adreça IP o nom d'amfitrió del servidor al qual connectar-se> Especifica el servidor de destinació remot.

Exemple d'entrada

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

La primera vegada, se us demanarà una clau, així que yes escriviu i premeu Retorn.

Si teniu una frase de contrasenya definida per a la vostra clau privada, heu d'introduir-la.

Els següents estaran en un estat connectat. Podeu veure que es mostra l'usuari del costat del servidor, no el client. Mentre es mostra aquesta finestra, està connectada, així que no la tanqueu. Si el tanqueu, la connexió es trencarà.

En connectar amb PuTTY

Aquí, intentarem connectar-nos a SSH amb una eina anomenada PuTTY.

Conversió de la clau privada

En primer lloc, si utilitzeu PuTTY, haureu de convertir la clau privada. Crec que hi ha "puttygen .exe" a l'eina adjunta, així que si us plau inicieu-la.

Seleccioneu "Conversions -> tecla d'importació" al menú.

Seleccioneu la clau privada que heu creat, en aquest cas, "id_rsa".

Si heu definit una frase de contrasenya, introduïu-la.

Seleccioneu "Fitxer -> Desa la clau privada" al menú.

「. Fitxer .ppk".

Un cop creat, ja heu acabat.

Configuració de PuTTY

Llanceu massilla.exe.

Introduïu l'adreça IP de l'entorn al qual us voleu connectar. Si teniu un domini, podeu connectar-vos amb un nom de domini.

Seleccioneu Connexió -> Dades al menú de l'esquerra. Al camp Nom d'usuari d'inici de sessió automàtic, introduïu el nom del compte de l'entorn al qual us voleu connectar.

Al menú de l'esquerra, seleccioneu Connexió -> SSH -> Túnels. Introduïu cadascun d'ells al camp d'entrada següent i feu clic al botó "Afegeix".

Nom del paràmetre Observacions del valor
Port d'origen 13389 Qualsevol port franc ho farà. L'utilitzaré més endavant
Destinació 127.0.0.1:3389

Quan s'afegeixi, hauria de quedar així:

A continuació, seleccioneu "Connexió -> SSH -> Auth -> Cledentioals" al menú de l'esquerra i feu clic al botó Examinar per "Fitxer de clau privada per a l'autenticació".

Seleccioneu la clau privada que heu desat.

Seleccioneu "Sessió" al menú de l'esquerra, introduïu un nom que vulgueu per Desa les sessions i feu clic al botó Desa. A partir de la propera vegada, està bé si carregueu aquesta configuració.

Després de confirmar l'estalvi, feu clic al botó "Obre".

La pantalla següent es mostrarà quan es connecti per primera vegada. Feu clic al botó Accepta.

Veureu una pantalla que sembla un indicador d'ordres. Si teniu una frase de contrasenya per a la clau privada, introduïu-la.

Si el contingut de la pantalla canvia com es mostra a continuació, es connectarà. Podeu veure que es mostra l'usuari del costat del servidor, no el client. Mentre es mostra aquesta finestra, està connectada, així que no la tanqueu. Si el tanqueu, la connexió es trencarà.

Establir una connexió d'escriptori remot amb SSH

Ara, fem una connexió d'escriptori remot mentre estem connectats amb SSH.

Quan es connecta, la part de l'ordinador no és l'adreça remota real, sinó "localhost:< > el nom del port especificat a la connexió SSH". En l'exemple, es va especificar 13389, de manera que aquí ens connectarem a "localhost:13389".

Si es mostra la pantalla d'autenticació, podeu jutjar que la connexió s'ha completat. Introduïu el nom d'usuari i la contrasenya per connectar-vos.

Si pots connectar així, ho has aconseguit.

Desactiveu les connexions normals de l'escriptori remot a la configuració del tallafoc

En el moment de l'element anterior, ara podeu connectar-vos amb un escriptori remot mitjançant SSH. Tanmateix, en aquest estat, "Remote Desktop Connection by SSH" només s'ha afegit a "Normal Remote Desktop Connection". En termes de seguretat, no afegeix res. Per tant, el següent que cal fer és evitar una "connexió normal d'escriptori remot".

Si feu aquesta configuració, no podreu connectar-vos excepte "connexió d'escriptori remot per SSH", de manera que si us emboliqueu amb la configuració, és possible que no tingueu els mitjans per connectar-vos de forma remota. Per tant, assegureu-vos de comprovar amb antelació que és possible "connexió d'escriptori remot per SSH" i poder operar l'entorn remot per altres mitjans, fins i tot si el client al qual intenteu connectar-vos desapareix.

Aquí, configureu la configuració del tallafoc a "Remote Desktop Connection via SSH". Això es deu al fet que si realitzeu l'operació amb "connexió normal d'escriptori remot", es desconnectarà en el moment en què configureu el tallafoc.

Visualitzeu el tallafoc del Windows Defender amb seguretat avançada. Depenent de la versió de Windows, la ubicació de la pantalla variarà, així que mostreu-la segons aquesta versió.

Seleccioneu Regles d'entrada al menú de l'esquerra.

A la llista mitjana, cerqueu "Escriptori remot - Mode d'usuari (TCP In)" i obriu les seves propietats.

Seleccioneu la pestanya Abast, canvieu l'adreça IP local a Aquestes adreces IP i feu clic al botó Afegeix.

Introduïu 127.0.0.1 i feu clic al botó OK. Això evitarà connexions d'escriptori remot des de qualsevol lloc que no sigui 127.0.0.1. 127.0.0.1 és l'adreça IP que apunta a la vostra màquina. Si introduïu un valor incorrecte, és possible que no pugueu connectar-vos des de cap lloc, així que aneu amb compte.

Feu clic al botó D'acord per confirmar.

De moment, només això és una contramesura, però també establim "Escriptori remot - Mode d'usuari (UDP Receive)".

Verifiqueu que no us pugueu connectar remotament amb res que no sigui SSH

Ara, proveu de crear una connexió d'escriptori remot des d'un altre ordinador que no utilitzi SSH.

Si us podeu connectar, es mostrarà la pantalla d'autenticació. Està bé si podeu confirmar que la connexió no es pot fer com es mostra a continuació.

Resum

Amb l'últim Windows, ara és fàcil introduir un servidor SSH. Si afegiu configuració, ara podeu augmentar fàcilment la seguretat de la vostra connexió d'escriptori remot. No obstant això, atès que només és responsable de les mesures de seguretat en el propi Windows, Si voleu fer-lo més segur, crec que és preferible configurar un servidor SSH o tallafoc separat abans de connectar-vos a Windows.

A més, podeu configurar la seguretat estretament mitjançant SSH, però quan és massa difícil, ningú no es pot connectar a causa d'un error operatiu. Aneu amb compte de no acabar amb això.