Si necesita agregar una clave SSH a VS Code para configurar una conexión SSH mediante el intercambio de claves, este tutorial es para usted. En este tutorial, aprenderá, paso a paso, cómo configurar el código VS para conectarse a través de SSH a través del intercambio de claves para un usuario con sudo
derechos (homelab
en esta guía) y el root
integrado usuario.
Requisitos
- Código de Visual Studio para Windows. Este tutorial usará la versión 1.5.1.1.
- Windows 10 (se necesita SSH y viene preinstalado)
- Un host SSH remoto:este tutorial usará un host OpenSUSE con SSH habilitado.
- Ya configuró un host SSH en VS Code (consulte este artículo).
Creación de la clave SSH
Para comenzar, primero deberá generar una clave SSH privada y pública en su máquina con Windows.
- Abra PowerShell en su computadora local y ejecute ssh-keygen . La ruta predeterminada para sus claves es C:\users\
\.ssh. - Proporcione la ruta de la carpeta para guardar la clave pública y privada. El valor predeterminado es C:\Users\
\.ssh\id_rsa . - Proporcione una frase de contraseña opcional. Si proporciona una frase de contraseña, esta se utilizará para cifrar la clave privada.
Cuando termine, ahora tendrá dos archivos (claves) en la carpeta en la que guardó las claves llamada id_rsa.pub (clave pública) y id_rsa (llave privada). De forma predeterminada, estas claves estarán en C:\Users\
Subir la clave pública al host SSH y asociar su usuario SSH
A continuación, deberá transferir la clave pública (id_rsa.pub) a la ubicación de claves autorizadas del usuario SSH remoto. Al usar VSCode, puede usar su explorador incorporado para cargar la clave.
Relacionado:Configuración de una conexión de intercambio de claves SSH con VS Code y SSH
- Si ya configuró un host SSH en VS Code, abra la carpeta de inicio del usuario. En este caso, el tutorial usa el
homelab
usuario. - Cree el .ssh carpeta en su directorio de inicio y cargue el id_rsa.pub archivo.
- Cambie el nombre del archivo a authorized_keys (minúscula). Puede ver este ejemplo a continuación.
Ahora ha asociado con éxito su clave pública con su usuario de SSH. Debería poder volver a conectarse sin solicitar una contraseña.
Asociación de la clave pública con el usuario root
Asociando la misma clave con el root
usuario le da la capacidad de SSH ya sea como su usuario habitual o como el root
incorporado usuario.
Para el root
usuario esto estará copiando ~/.ssh/authorized_keys a /root/.ssh/authorized_keys . Puede hacerlo ejecutando el siguiente comando:
sudo mkdir -p /root/.ssh && sudo cp ~/.ssh/authorized_keys /root/.ssh/authorized_keys
Asociando su clave con el
root
el usuario requieresudo
derechos administrativos. Puedes leer más sobre sudo aquí.
Ahora debería poder iniciar sesión en el usuario raíz a través de SSH sin necesidad de una contraseña en Windows.
Agregar gráficamente su clave pública al usuario raíz usando YaST
Si eres más un aprendiz visual, puedes realizar la misma tarea usando la utilidad de configuración YaST de OpenSUSE. Esto será funcionalmente lo mismo que copiar las authorized_keys archivo al usuario root, de una manera más amigable.
YaST es una herramienta de configuración específica de la distribución OpenSUSE.
Publicación relacionada:Un tipo de Windows en un mundo Linux:YaST y el escritorio
- Navegue a la terminal de VS Code y cargue su id_rsa.pub archivo al directorio de inicio:
2. Ejecute sudo yast
en la Terminal VSCode.
3. Una vez en YaST, vaya a Seguridad y usuarios —> Gestión de usuarios y grupos utilizando las teclas de flecha. Pulsa Intro para entrar en la Gestión de Usuarios y Grupos sección. Este paso lo lleva a la pantalla de administración de usuarios de YaST.
4. Presiona Alt+S en YaST para cambiar el filtro de usuarios normales a usuarios del sistema.
5. Navega hacia abajo hasta root
. Presiona alt+i para editar y luego alt+s de nuevo para pasar a la sección de teclas. Puede verlo en la siguiente animación:
6. Presione alt+a y navegue a id_rsa.pub archivo que cargó anteriormente y presione alt+o para Aceptar . Debería ver la huella digital añadida al usuario root.
7. Sigue pulsando alt+o para salir de los menús y finalmente alt+q abandonar. Puedes verlo en la siguiente animación:
¡En esta etapa, ha realizado con éxito un intercambio de claves para root! Ahora elimine el /home/
Autenticar con la clave
Finalmente, debe probar la conexión utilizando la clave recién creada. Para hacer eso:
Abra una consola de PowerShell e intente ejecutar ssh
para probar el inicio de sesión como su usuario y el usuario raíz. Esta guía utiliza el homelab
usuario como el usuario normal. Si todo va bien, debe iniciar sesión inmediatamente en cualquiera de las cuentas. Puedes ver esto a continuación:
Ahora puede SSH como root y el terminal ni siquiera solicitó una contraseña. SSH para Windows sabía dónde buscar su clave privada (C:\users\
Configuración de VS Code para usar cualquiera de los usuarios
¿Qué sucede si necesita conectarse a su host SSH remoto usando tanto el root
cuenta de usuario y un usuario administrador estándar? Puede configurar este escenario usando dos configuraciones diferentes en VS Code.
- En VS Code, haga clic en el Explorador remoto en la barra lateral y haga clic en la rueda dentada debajo de Objetivos SSH Como se muestra abajo.
2. VS Code le pedirá un archivo para elegir. Presione Entrar para elegir el archivo predeterminado que generó anteriormente en este artículo. VS Code abrirá un archivo de configuración para editar como se muestra a continuación.
3. Copie las tres primeras líneas de la configuración y péguelas a continuación separadas por una línea en blanco.
4. Cambie el segundo usuario de homelab
en la siguiente captura de pantalla) a root
. Además, dales nombres más descriptivos (El Host
parámetro) para que pueda diferenciar las dos configuraciones. Presiona Ccontrol+s para guardar:
El
Host
El parámetro es sensible a espacios y caracteres especiales. Asigne un nombre a su host solo con guiones y letras alfanuméricas.Hostname
es equivalente a IP o nombre DNS. El ejemplo anterior usa una IP de172.25.179.190
Ahora puede ver (en la siguiente captura de pantalla) que tiene dos objetivos SSH:test-machine y prueba-máquina-raíz .
5. Ahora conéctese a cualquiera de los hosts haciendo clic con el botón derecho en el destino SSH y haciendo clic en Conectar al host en la ventana actual Como se muestra abajo.
Si se conecta como root, tiene derechos de acceso total a su máquina, incluidos los archivos protegidos.
Si se conecta al host en una ventana nueva , VSCode lanzará una instancia separada con la nueva conexión. Esto te permite tener ambos
root
yabierto simultáneamente en dos sesiones separadas. ¡No confundas cuál es cuál!