Instalación de cliente y servidor SSH Windows - Atlantidajas/entornos-desarrollo GitHub Wiki
-
Vamos a configuración de Windows.**
-
Abrir el panel de configuración -> Aplicaciones.**
-
Clicar sobre la opción Administrar funciones opcionales.
-
Se verán todas las características adicionales de Windows que tienen instaladas.
-
Agregamos características:
- Servidor OpenSSH. ( **Instalamos **).
- cliente OpenSSH. ( Instalamos ). ( para que terceras personas puedan acceder a nuestro ordenador ).
- 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.
- 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
- 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"
- Comprobar por el puerto que escucha SSH:
- netstat -bano | more
- 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
- 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.
- Añadir agente SSH
eval $(ssh-agent -s)
Si todo fuen bien saldrá un mensaje en nuestra consola parecido a Agent pid 0000
- 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