Con Po­we­r­She­ll SSH, puedes acceder y gestionar sistemas remotos desde prá­c­ti­ca­me­n­te cualquier lugar. SSH también ofrece de­ta­lla­das funciones de registro que permiten una su­pe­r­vi­sión y un se­gui­mie­n­to exhau­s­ti­vos de las ac­ti­vi­da­des en el servidor.

Re­qui­si­tos para utilizar Po­we­r­She­ll SSH

La in­te­gra­ción de SSH en Windows Po­we­r­She­ll te brinda la capacidad de es­ta­ble­cer co­ne­xio­nes SSH a sistemas remotos y ejecutar comandos SSH en un script de Po­we­r­She­ll. Esto facilita la gestión y au­to­ma­ti­za­ción de tareas en in­frae­s­tru­c­tu­ras de TI di­s­tri­bui­das, es­pe­cia­l­me­n­te en un entorno he­te­ro­gé­neo donde coexisten sistemas tanto Windows como no Windows.

Para utilizar Po­we­r­She­ll SSH, debes cumplir los si­guie­n­tes re­qui­si­tos:

  • Instalar Po­we­r­She­ll: asegúrate de que Po­we­r­She­ll v6+ está instalado en tu ordenador local. Po­we­r­She­ll suele venir prei­n­s­ta­la­do en Windows, pero debes comprobar que estás uti­li­za­n­do una versión que ofrezca co­m­pa­ti­bi­li­dad con SSH.
  • Cliente SSH: necesitas un cliente SSH en tu entorno Po­we­r­She­ll para es­ta­ble­cer co­ne­xio­nes SSH. En Windows 10/11 y Windows Server 2019, OpenSSH está di­s­po­ni­ble de forma pre­de­te­r­mi­na­da. Si utilizas una versión anterior de Windows, es posible que debas instalar OpenSSH ma­nua­l­me­n­te.
  • Servidor SSH: el servidor SSH es el servidor de destino al que hay que co­ne­c­tar­se. Puede ser un servidor Linux, un di­s­po­si­ti­vo de red u otro host con capacidad SSH.
  • Acceso a la red: tu ordenador local debe tener acceso a la red y ser capaz de alcanzar el servidor SSH remoto. El puerto 22 debe estar abierto para SSH en las reglas del co­r­ta­fue­gos.
  • Módulos Po­we­r­She­ll: existen módulos de Po­we­r­She­ll que han sido de­sa­rro­lla­dos es­pe­cí­fi­ca­me­n­te para el uso de SSH, como el módulo “PSSession” o “Posh-SSH”. Debes comprobar que el módulo co­rre­s­po­n­die­n­te está instalado en tu sistema para poder utilizar la fu­n­cio­na­li­dad SSH en Po­we­r­She­ll.
  • Derechos: necesitas derechos de ad­mi­ni­s­tra­dor o permisos ampliados y una co­n­tra­se­ña o clave SSH para es­ta­ble­cer co­ne­xio­nes SSH desde tu ordenador local y acceder al servido remoto.

Cómo usar Po­we­r­She­ll SSH paso a paso

Antes de poder utilizar Secure Shell (SSH) en Po­we­r­She­ll, debes co­n­fi­gu­rar el servidor OpenSSH. A co­n­ti­nua­ción, podrás iniciar la sesión SSH de Po­we­r­She­ll y ejecutar comandos en el sistema remoto.

Paso 1. Instala OpenSSH

Haz clic en el menú de inicio o introduce “Po­we­r­She­ll” en la barra de búsqueda. Se­le­c­cio­na Run as ad­mi­ni­s­tra­tor. Se abrirá Windows Po­we­r­She­ll. Puedes utilizar el siguiente comando Po­we­r­She­ll para instalar la función OpenSSH en tu ordenador Windows:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
po­we­r­she­ll

Paso 2. Inicia el servicio OpenSSH

Una vez fi­na­li­za­da la in­s­ta­la­ción, podrás iniciar el servicio OpenSSH:

Start-Service sshd
po­we­r­she­ll

Puedes comprobar si el servicio OpenSSH se está eje­cu­ta­n­do:

Get-Service sshd
po­we­r­she­ll

El estado Running indica que sshd se está eje­cu­ta­n­do co­rre­c­ta­me­n­te.

Imagen: Servicio de servidor SSH PowerShell
Get-Service sshd comprueba la ejecución del servicio SSH.

Paso 3. Inicia au­to­má­ti­ca­me­n­te el servicio de servidor SSH

Para activar el servicio de servidor OpenSSH cada vez que se inicie Windows, puedes in­tro­du­cir el siguiente comando:

Set-Service -Name sshd -StartupType 'Automatic'
po­we­r­she­ll

Paso 4. Configura el co­r­ta­fue­gos

Si el co­r­ta­fue­gos de Windows está activo, debes añadir una regla para permitir el tráfico SSH en el puerto 22 (el puerto SSH por defecto).

New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
po­we­r­she­ll

Paso 5. Establece una conexión SSH

Ahora podrás iniciar sesión con tu servidor SSH desde otro di­s­po­si­ti­vo. Para ello, abre Po­we­r­She­ll en tu PC cliente e introduce el comando SSH con el nombre de usuario y la dirección del servidor.

ssh username@servername
po­we­r­she­ll

Sustituye “username” por tu nombre de usuario SSH y “se­r­ve­r­na­me” por la dirección IP o el nombre de host del servidor remoto. Cuando inicies el comando, se te pedirá que in­tro­du­z­cas tu co­n­tra­se­ña SSH, a menos que estés uti­li­za­n­do SSH key para la au­te­n­ti­ca­ción.

Imagen: Inicia sesión en PowerShell SSH
Introduce la co­n­tra­se­ña SSH

Paso 6. Trabaja en la sesión SSH

Una vez que hayas es­ta­ble­ci­do una conexión SSH, podrás ejecutar comandos en el servidor remoto como si es­tu­vie­ras conectado fí­si­ca­me­n­te al servidor. Para finalizar la sesión SSH y volver al Po­we­r­She­ll local, puedes utilizar el comando exit.

Existe una serie de comandos SSH en Po­we­r­She­ll. El comando pwd significa “print working directory” y muestra el di­re­c­to­rio de trabajo actual, por ejemplo:

Imagen: Comandos SSH PowerShell utilizando PWD como ejemplo
Ejemplo de comandos SSH en Po­we­r­She­ll

Aquí tienes una lista de comandos que puedes utilizar en Po­we­r­She­ll SSH:

  • ls/dir: muestra el contenido de un di­re­c­to­rio
  • cd: cambia el di­re­c­to­rio en el servidor remoto
  • touch/New-Item: crea un nuevo archivo
  • rm/Remove-Item: elimina archivos o di­re­c­to­rios
  • mv/Move-Item: mueve o renombra archivos y di­re­c­to­rios
  • useradd: añade un usuario
  • scp: tra­n­s­fie­re archivos entre el cliente y el servidor

En­co­n­tra­rás más comandos en nuestro artículo sobre comandos de Po­we­r­She­ll.

Ir al menú principal