GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo agregar una clave SSH a VS Code y conectarse a un host

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.

¿No eres un lector? ¡Mira este video tutorial relacionado! ¿No ve el video? Asegúrate de que tu bloqueador de anuncios esté deshabilitado.

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.

  1. Abra PowerShell en su computadora local y ejecute ssh-keygen . La ruta predeterminada para sus claves es C:\users\\.ssh.
  2. Proporcione la ruta de la carpeta para guardar la clave pública y privada. El valor predeterminado es C:\Users\\.ssh\id_rsa .
  3. 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\\.ssh carpeta.

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

  1. 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.
  2. Cree el .ssh carpeta en su directorio de inicio y cargue el id_rsa.pub archivo.
  3. 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 requiere sudo 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

  1. 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//id_rsa.pub subido en su servidor Linux, si lo desea.

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\\.ssh\id_rsa ) y lo utilizó automáticamente para autenticarse.

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.

  1. 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 de 172.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 y abierto simultáneamente en dos sesiones separadas. ¡No confundas cuál es cuál!


Linux
  1. Cómo configurar claves SSH

  2. Cómo conectarse al servidor ssh con plink y cmd y clave pública

  3. ¿Cómo permitir SFTP y no permitir SSH?

  4. Cómo configurar claves SSH en Ubuntu 18.04

  5. Cómo reparar la clave infractora en el archivo ~/.ssh/known_hosts

Cómo agregar una clave SSH para acceder a cPanel SSH

Cómo generar y usar una clave SSH usando PuTTY

¿Cómo me conecto a Linux VPS a través de SSH desde Linux y Windows OS?

¿Cómo agregar mi clave SSH a Github/Bitbucket?

¿Cómo generar y usar la clave SSH en el sistema Linux?

Cómo deshabilitar la verificación de clave de host SSH en Linux