Como generar una nueva clave SSH en Windows y añadirla a nuestro perfil de Gitlab
OpenSSH
Para generar una nueva clave SSH en Windows, utilizaremos la herramienta OpenSSH.
OpenSSH es una herramienta de conectividad para el inicio de sesión remoto que usa el protocolo SSH. Cifra todo el tráfico entre el cliente y el servidor para eliminar la interceptación, el secuestro de conexiones y otros ataques.
OpenSSH se puede usar para conectar dispositivos con Windows 10 (compilación 1809 y versiones posteriores) o Windows Server 2019 con el cliente OpenSSH instalado en esos dispositivos con el servidor OpenSSH instalado.
Instalación de OpenSSH mediante Configuración de Windows
Ambos componentes de OpenSSH se pueden instalar mediante Configuración de Windows en dispositivos Windows Server 2019 y Windows 10.
Para instalar los componentes de OpenSSH:
- Abra Configuración, seleccione Aplicaciones > Aplicaciones y características y, a continuación, seleccione Características opcionales.
- Examine la lista para ver si OpenSSH ya está instalado. Si no es así, en la parte superior de la página, seleccione Agregar una característica y, a continuación:
- Busque OpenSSH Client (Cliente OpenSSH) y, a continuación, haga clic en Instalar
Una vez completada la instalación, vuelva a Aplicaciones > Aplicaciones y características y Características opcionales y debería ver OpenSSH en la lista.
Instalación de OpenSSH mediante PowerShell
Para instalar OpenSSH mediante PowerShell, ejecute PowerShell como administrador. Para asegurarse de que OpenSSH esté disponible, ejecute el siguiente cmdlet:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Esto debería devolver la siguiente salida si ninguno de los dos está instalado todavía:
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
A continuación, instale el componente de cliente:
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Debería devolver la siguiente salida:
Path :
Online : True
RestartNeeded : False
Puttygen
** EN LAS VERSIONES ACTUALES DE WINDOWS DA PROBLEMAS, RECOMENTAMOS OPENSSH**
Para generar una nueva clave SSH en Windows, utilizaremos el software Puttygen.
-
Descargamos la utilidad desde http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe
-
Ejecutamos PUTTYgen
-
Clickamos sobre Generate y movemos el cursor del ratón sobre el área Key para que se vaya generando la clave
-
Especificamos una contraseña en 'Key passphrase' y la confirmamos en 'Confirm passphrase'
-
Clickamos en 'Save public key' para guardar nuestra clave pública. Especificamos un nombre para el archivo (id_rsa.pub) Se recomienda guardar los ficheros en una carpeta del disco local. Ej: %USERPROFILE%\.ssh para poder utilizarlos fuera de la red de Tecnalia**
-
Clickamos en 'Save private key' para guardar nuestra clave privada. Especificamos un nombre para el archivo y lo guardamos en el mismo directorio que nuestra clave pública Se recomienda guardar los ficheros en una carpeta del disco local. Ej: %USERPROFILE%\.ssh para poder utilizarlos fuera de la red de Tecnalia
-
Copiamos la clave publica que aparece en el apartado 'Public key for pasting...'. La clave pública es la que comienza por ssh-rsa.
-
Nos conectamos a nuestra cuenta de Gitlab y nos vamos a nuestro perfil (profile). Para ello pinchamos sobre el avatar de nuestro usuario arriba a la derecha y despues pinchamos sobre 'Profile'.
-
Entramos en el apartado SSH Keys
-
Añadimos una nueva clave, especificamos un nombre y pegamos nuestra clave pública obtenida desde puttygen.
A partir de dicho momento, podremos operar contra los repositorios a los que tengamos acceso especificando para ello la clave privada que acabamos de generar en nuestro cliente Git favorito.
Desde sistemas recomendamos Atlassian Sourcetree como cliente Git para Windows ya que incorpora un montón de funcionalidades útiles y es compatible con el formato de clave privada (*.ppk) de Puttygen. https://www.atlassian.com/software/sourcetree
Si por el contrario, preferimos utilizar el formato Openssh para almacenar nuestra clave privada, basta con seleccionar la opción Export OpenSSH key del menú Conversions en la aplicación Puttygen.