# Conectar PowerShell mediante SSH

Con PowerShell SSH, puedes acceder y gestionar sistemas remotos desde prácticamente cualquier lugar. SSH también ofrece detalladas **funciones de registro** que permiten una supervisión y un seguimiento exhaustivos de las actividades en el servidor.

## Requisitos para utilizar PowerShell SSH

La integración de SSH en [Windows PowerShell](https://www.ionos.es/digitalguide/servidores/know-how/windows-powershell/) te brinda la capacidad de establecer conexiones SSH a sistemas remotos y ejecutar **comandos SSH** en un [script de PowerShell](https://www.ionos.es/digitalguide/servidores/configuracion/crear-powershell-script/). Esto facilita la gestión y automatización de tareas en infraestructuras de TI distribuidas, especialmente en un entorno heterogéneo donde coexisten sistemas tanto Windows como no Windows.

Para utilizar PowerShell SSH, debes cumplir los siguientes requisitos:

- **Instalar PowerShell**: asegúrate de que PowerShell v6+ está instalado en tu ordenador local. PowerShell suele venir preinstalado en Windows, pero debes comprobar que estás utilizando una versión que ofrezca compatibilidad con SSH.
- **Cliente SSH**: necesitas un cliente SSH en tu entorno PowerShell para establecer conexiones SSH. En Windows 10/11 y Windows Server 2019, OpenSSH está disponible de forma predeterminada. Si utilizas una versión anterior de Windows, es posible que debas instalar OpenSSH manualmente.
- **Servidor SSH**: el servidor SSH es el servidor de destino al que hay que conectarse. Puede ser un servidor Linux, un dispositivo 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 cortafuegos.
- **Módulos PowerShell**: existen módulos de PowerShell que han sido desarrollados específicamente para el uso de SSH, como el módulo “PSSession” o “Posh-SSH”. Debes comprobar que el módulo correspondiente está instalado en tu sistema para poder utilizar la funcionalidad SSH en PowerShell.
- **Derechos**: necesitas derechos de administrador o permisos ampliados y una contraseña o clave SSH para establecer conexiones SSH desde tu ordenador local y acceder al servido remoto.

## Cómo usar PowerShell SSH paso a paso

Antes de poder utilizar [Secure Shell (SSH)](https://www.ionos.es/digitalguide/servidores/herramientas/protocolo-ssh/) en PowerShell, debes configurar el servidor **OpenSSH**. A continuación, podrás iniciar la sesión SSH de PowerShell y ejecutar comandos en el sistema remoto.

### Paso 1. Instala OpenSSH

Haz clic en el menú de inicio o introduce “PowerShell” en la barra de búsqueda. Selecciona **Run as administrator**. Se abrirá Windows PowerShell. Puedes utilizar el siguiente comando PowerShell para instalar la función OpenSSH en tu ordenador Windows:

```powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
```

### Paso 2. Inicia el servicio OpenSSH

Una vez finalizada la instalación, podrás iniciar el servicio OpenSSH:

```powershell
Start-Service sshd
```

Puedes comprobar si el servicio OpenSSH se está ejecutando:

```powershell
Get-Service sshd
```

El estado **Running** indica que sshd se está ejecutando correctamente.

[![Imagen: Servicio de servidor SSH PowerShell](https://www.ionos.es/digitalguide/fileadmin/_processed_/8/c/csm_powershell-get-service-ssh_a9063b610b.webp "Servicio de servidor SSH PowerShell")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-get-service-ssh.png) Get-Service sshd comprueba la ejecución del servicio SSH. ### Paso 3. Inicia automáticamente el servicio de servidor SSH

Para activar el servicio de servidor OpenSSH **cada vez que se inicie Windows**, puedes introducir el siguiente comando:

```powershell
Set-Service -Name sshd -StartupType 'Automatic'
```

### Paso 4. Configura el cortafuegos

Si el cortafuegos de Windows está activo, debes añadir una regla para permitir el tráfico SSH en el **puerto 22 (el puerto SSH por defecto)**.

```powershell
New-NetFirewallRule -Name 'OpenSSH-Server' -DisplayName 'OpenSSH Server' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
```

### Paso 5. Establece una conexión SSH

Ahora podrás iniciar sesión con tu servidor SSH desde otro dispositivo. Para ello, abre PowerShell en tu PC cliente e introduce el comando SSH con el **nombre de usuario y la dirección del servidor**.

```powershell
ssh username@servername
```

Sustituye “username” por tu nombre de usuario SSH y “servername” por la dirección IP o el nombre de host del servidor remoto. Cuando inicies el comando, se te pedirá que introduzcas tu contraseña SSH, a menos que estés utilizando **SSH key** para la autenticación.

[![Imagen: Inicia sesión en PowerShell SSH](https://www.ionos.es/digitalguide/fileadmin/_processed_/a/5/csm_powershell-ssh-login_05553cb132.webp "Inicia sesión en PowerShell SSH")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-login.png) Introduce la contraseña SSH ### Paso 6. Trabaja en la sesión SSH

Una vez que hayas establecido una conexión SSH, podrás ejecutar comandos en el servidor remoto como si estuvieras conectado físicamente al servidor. Para finalizar la sesión SSH y volver al PowerShell local, puedes utilizar el comando `exit`.

Existe una serie de comandos SSH en PowerShell. El comando `pwd` significa “print working directory” y muestra el directorio de trabajo actual, por ejemplo:

[![Imagen: Comandos SSH PowerShell utilizando PWD como ejemplo](https://www.ionos.es/digitalguide/fileadmin/_processed_/f/e/csm_powershell-ssh-commands-example_4f8b6f0a09.webp "Comandos SSH PowerShell utilizando PWD como ejemplo")](https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/powershell-ssh-commands-example.png) Ejemplo de comandos SSH en PowerShell Aquí tienes una lista de comandos que puedes utilizar en PowerShell SSH:

- `ls/dir`: muestra el contenido de un directorio
- `cd`: cambia el directorio en el servidor remoto
- `touch/New-Item`: crea un nuevo archivo
- `rm/Remove-Item`: elimina archivos o directorios
- `mv/Move-Item`: mueve o renombra archivos y directorios
- `useradd`: añade un usuario
- `scp`: transfiere archivos entre el cliente y el servidor

Encontrarás más comandos en nuestro artículo sobre [comandos de PowerShell](https://www.ionos.es/digitalguide/servidores/configuracion/comandos-de-powershell/).


This is a markdown version of: [https://www.ionos.es/digitalguide/servidores/configuracion/powershell-ssh/](https://www.ionos.es/digitalguide/servidores/configuracion/powershell-ssh/) for AI/LLM consumption.