Instalación de cliente y servidor SSH Windows - Atlantidajas/entornos-desarrollo GitHub Wiki

  1. Vamos a configuración de Windows.**

  2. Abrir el panel de configuración -> Aplicaciones.**

  3. Clicar sobre la opción Administrar funciones opcionales.

  4. Se verán todas las características adicionales de Windows que tienen instaladas.

  5. Agregamos características:

  • Servidor OpenSSH. ( **Instalamos **).
  • cliente OpenSSH. ( Instalamos ). ( para que terceras personas puedan acceder a nuestro ordenador ).
  1. Configurar el servidor SSH para que arranque al iniciar Windows: 7-1. Vamos a ejecutador y escribimos: services.msc 7-2. Localizaremos los servicios OpenSSH SSH Server lo marcamos en azul y le damos botón derecho -> propiedades -> Tipo de inicio -> Automático. 7-3. Localizaremos los servicios OpenSSH Authentication Agent lo marcamos en azul y le damos botón derecho -> propiedades -> Tipo de inicio -> Automático.
  1. Comprobar si cliente y servidor están activos:
  • Get-Service -Name *ssh*

Aparecerá algo como esto:

Status Name DisplayName Running ssh-agent OpenSSH Authentication Agent Running sshd OpenSSH SSH Server

  1. Configuración estandar de SSH Windows:

Se encuentra en la ruta:

  • C:\ProgramData\ssh\sshd_config Aquí se puede descomentar la linea referente al puerto y asignarle el puerto deseado.

10.Configuración del Firewall de Windows:

Para tener acceso a nuestro equipo a través de SSH hay que configurar el Firewall. 10-1. Abrimos una powershell como administrador:

  • netsh advfirewall firewall add rule name="SSHD Port" dir=in action=allow protocol=TCP localport=númeroPuertoQueConfiguremos
  • Borrar la regla del firewall que permitía el tráfico en el puerto 22. Para ello ejecutamos el siguiente comando en la powershell: netsh advfirewall firewall delete rule name="SSHD Port"
  1. Comprobar por el puerto que escucha SSH:
  • netstat -bano | more
  1. Generar par de claves públicas y privadas SSH

Para utilizar el protocolo SSH y así poder descargar repositorios a través del mismo, transferencia de archivos y muchas otras funcionalidades. Debemos crear y añadir a nuestra configuración tanto clave pública como privada. Con esto puedo enviar un mensaje cifrado y firmado con clave privado, así una persona que recibe este y conoce nuestra clave pública podrá descifrarlo y leerlo. Así mismo SSH utiliza este sistema para autentificarnos en el sistema. ( Lo que hace es que firma la autentificación con clave privada y el servidor al que nos queremos conectar dispone de nuestra clave pública los autentificará sin necesidad de solicitar la contraseña.

  • Nos fijamos en nuestro directorio .ssh cd .ssh (Si no existe creamos el directorio)
  • Creamos las claves ssh-keygen
  • Pulsamos intro y luego nos solicita contraseña muy recomendable
  • Nos pide que confirmemos nuevamente contraseña (La volvemos a escribir)
 Ahora se ha generado dos ficheros en el directorio .ssh. Uno con nuestra clave pública y el otro con la clave privada, esta última salvaguardaré.
   id_rsa = Clave privada
   id_rsa.pub = Clave pública
  • Ahora con cat ( editor )abro contenido de la clave id_rsa.pub de la clave pública que utilizaremos para Git Hub. cat id_rsa.pub
  1. Configurar clave pública en GitHub
  • Dentro del panel de configuración de mi cuenta GitHub ( Configuración → SSH and GPGKeys → New SSH key )
  • Asignamos un nombre y pegamos el contenido de la misma (SSH KEY / Add new ) -> Title

    Aquí asigno el nombre de mi clave pública (Ejemplo pcEscritorioJorge)

  • En el imput key será donde pegue el contenido de la clave pública

Obtenido en el punto 4 último paso. Copio el contenido y lo pego.

  1. Añadir agente SSH
  • eval $(ssh-agent -s)

Si todo fuen bien saldrá un mensaje en nuestra consola parecido a Agent pid 0000

  1. Agregamos la clave privada
  • ssh-add ~/.ssh/id_rsa
  • Pedirá contraseña.

Saldrá un mensaje Indentify added (Se añadió identificación).

Ahora podemos trabajar con SSH tanto para la transferencia de datos con este protocolo en redes como en Git Hub