Cargando

Ir a contenido

X

 


Cómo ejecutar SSH en PowerShell Windows 10

Manual que muestra cómo poder usar y ejecutar SSH en sistemas Windows 7, 8 10 a través de consola PowerShell.


Escrito por el dic 06 2016 14:19 powershell


SSH-windows.png

 

El protocolo SSH (Secure Shell – Interprete de ordenes seguro) es indiscutiblemente uno de los protocolos más usados cuando hemos de acceder remotamente a otro equipo a través de la red.

 

Para usar SSH en entornos Windows debíamos usar un cliente como OpenSSH o Putty para acceder a los equipos cliente de forma segura pero ahora Microsoft ha anunciado que incorporará módulos de SSH en su ya conocida y potente consola de Windows PowerShell.

 

En este análisis veremos cómo instalar y usar SSH desde la consola de PowerShell en Windows 10.

 

Requisitos previos
Antes de instalar los módulos correspondientes a SSH en Windows 10 debemos tener en cuenta lo siguiente para que todo funcione de manera correcta:
  • Contar con Windows Management Framework 5 el cual podemos descargar e instalar desde el siguiente enlace:

 


  • Instalar el modulo PoSH-SSH desde Windows PowerShell

 

 


1. Buscar modulo PoSH-SSH


En primer lugar usaremos el siguiente cmdlet para ubicar el paquete base de SSH:
Find-Module PoSH-SSH
El resultado obtenido será el siguiente:

 

 

Una vez tengamos la ubicación del módulo PoSH-SSH procedemos a su instalación.

 

 


2. Instalar modulo PoSH-SSH


Para realizar el proceso de instalación de PoSH-SSH usaremos inicialmente el siguiente cmdlet:
Fin-Module PoSH-SSH | Install-Module

 

A continuación usaremos el siguiente cmdlet para la respectiva validación:

Get-Module PoSH-SSH
Ahora con el cmdlet Install-Module Posh-SSH para iniciar el proceso de instalación de PoSH-SSH:

 

 

 


3. Validación del módulo PoSH-SSH


Una vez hayamos instalado el módulo PoSH-SSH podemos usar el siguiente cmdlet para comprobar las diferentes opciones que tenemos para la conexión por SSH:
get-command -Module Posh-SSH

 

 


4. Iniciar sesión SSH en Windows PowerShell


Para acceder a través del protocolo SSH usando PowerShell debemos ingresar el siguiente cmdlet:
New-SSHSession -ComputerName "Ip o nombre del equipo" -Credential (Get-Credential)
Veremos que se despliega la siguiente ventana donde debemos ingresar las credenciales de acceso:

 

 

credenciales-windows-7.png

 

Pulsamos Aceptar para iniciar el proceso de conexión.

 

 

En este punto definimos si confiar en la clave de seguridad, pulsamos Y (yes) y estaremos conectados con SSH a la IP 192.168.0.37 la cual es un equipo con Ubuntu 16.

 

 

Como vemos el estado es conectado de forma correcta (True) a la dirección 192.168.0.37 y a partir de este punto podemos hace todas las gestiones necesarias sobre el equipo remoto.

 

 


5. Opciones de diversos módulos usando SSH en PowerShell


Los principales módulos que podemos usar en PowerShell asociados a SSH son los siguientes:

 

New-SshSession

Este módulo nos permite crear una nueva conexión SSH a sistemas operativos compatibles, la sintaxis a usar es:
New-SshSession -ComputerName (Ip o nombre del equipo)
Así crearemos nuevas conexiones.

 

Invoke-SshCommand

Este módulo nos permite correr diversos comandos en las sesiones que tenemos abiertas. Podemos usar la siguiente sintaxis para desplegar información acerca de la sesión abierta:
Invoke-SshCommand -InvokeOnAll -Command 'uname -a'

 

Podemos ver información sobre el nombre del host al cual estamos conectados vía SSH, el estado de salida, etc.

 

Get-SshSession

Con este módulo podemos ver todas las variables de las sesiones SSH abiertas.

 

 

Podemos ver el ID de las sesiones abiertas, el nombre del host y el estado actual de la conexión.

 

Remove-SshSession

Con este parámetro podemos cerrar la sesión actual de SSH, podemos adicionar el parámetro-RemoveAll para cerrar todas las conexiones activas.

 

Correr un comando en el equipo remoto

Para correr un comando en el equipo al cual estamos conectados vía SSH debemos usar la siguiente sintaxis:
$SshResults = Invoke-SshCommand -InvokeOnAll -Command 'Comando a ejecutar'
Veremos que podemos ejecutar comandos en el equipo remoto vía SSH.

 

Como vemos contamos con esta gran herramienta de SSH a través de PowerShell para conectarnos a distintos equipos y de esta manera brindar ayuda y soporte en los casos que sea requerido sin requerir aplicaciones de terceros. Si quieres avanzar en el uso y configuraciones de SSH no pierdas su manual completo para entenderlo más a fondo.

 


Tutoriales Relacionados


1 Comentarios


Marcos Riera
dic 07 2016 01:01
Muy bueno este tutorial tambien. Saludos
No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado dic 06 2016 14:19
  •   Actualizado dic 06 2016 20:45
  •   Visitas 13.8K
  •   Nivel
    Avanzado