Búsqueda de sitios web

Configurar conexiones SSH remotas en Visual Studio Code


Visual Studio Code es un editor de texto versátil y rico en funciones que puede beneficiar tanto a los desarrolladores como a los administradores de sistemas. Puede usar VS Code para editar sus scripts de PowerShell, archivos de configuración y ejecutar comandos de consola. La extensión SSH remota le permite conectarse a computadoras remotas a través de SSH y editar archivos, scripts, configuraciones o ejecutar comandos en hosts remotos de Windows o Linux directamente desde VS Code instalado en su computadora.

Aquí se explica cómo configurar un cliente SSH de Visual Studio Code para conectarse a hosts remotos.

Ejecute VS Code y vaya a Extensiones (

Ctrl + Shift + X 

). Ahora busque e instale la extensión SSH remota.

Esto instala automáticamente los siguientes complementos de SSH remoto: Edición de archivos de configuración y Explorador remoto (pestaña Paquete de extensión).

Seleccione Explorador remoto en el panel izquierdo de VSCode para crear una nueva conexión SSH. El asistente de conexión le pedirá que ingrese:

  • Cadena de conexión SSH:

    [email 
  • la ruta al archivo de configuración que contiene los ajustes para esta conexión (de forma predeterminada, es

    C:\Users\%username%\.ssh\config

    ).

También puede crear una nueva conexión presionando

CTRL + SHIFT + P

y seleccionando Remote-SSH: Connect to Host.

Una vez hecho esto, ahora puede conectarse al host remoto a través de SSH. Seleccione el host de la lista y haga clic en Conectar.

La primera vez que se conecta, VSCode le solicita el tipo de plataforma en el host SSH remoto (Linux/Windows/macOS) y la contraseña de conexión:

Una vez conectado al host SSH remoto, puede editar cualquier archivo de texto directamente desde el editor de VSCode y ejecutar comandos de shell como si estuviera conectado a través de un cliente SSH (haga clic en Terminal -> Nueva terminal para abrir un indicador de consola).

Si intenta guardar un archivo en VSCode que no puede ser editado por un usuario no root (sin

sudo

), obtendrá el siguiente error:

Failed to save 'sshd_config': Unable to write file 'vscode-remote://ssh-remote+192.168.79.128/etc/ssh/sshd_config' (NoPermissions (FileSystemError): Error: EACCES: permission denied, open '/etc/ssh/sshd_config').

Una solución a este problema es usar la extensión VSCode Guardar como root en remoto - SSH. Una vez instalada esta extensión, puede guardar el archivo en modo sudo usando el comando Guardar como root.

Tanto la autenticación basada en contraseña como la clave SSH son compatibles con SSH remoto.

Intentemos configurar la autenticación basada en clave SSH en un host remoto de Windows:

  1. Genere un par de claves SSH en el cliente:

    ssh-keygen -t ed25519

    En este ejemplo, se usa Windows 10 con el cliente SSH integrado.

  2. Copie el archivo de clave pública

    C:\Users\%username%\.ssh\id_ed25519

    en el archivo

    C:\Users\user1\.ssh\authorized_keys

    en su host remoto (aquí, usuario1 es el nombre de usuario con el que se conectará);

  3. Verifique que la siguiente opción esté habilitada en el archivo de configuración del servidor OpenSSH en Windows:

    PubkeyAuthentication yes
  4. Ahora abre el archivo C

    :\Users\%username%\.ssh\config

    que contiene la configuración de conexión de VSCode para hosts SSH. Busque el host y agregue el parámetro IdentityFile con la ruta a su archivo de clave privada:

Host 192.168.31.4
  HostName 192.168.31.4
  User root
  IdentityFile "C:\Users\user1\.ssh\id_ed25519"

Una forma rápida de abrir el archivo de configuración es presionar

F1

-> SSH remoto: Abrir archivo de configuración de SSH.

Ahora la conexión al host SSH se realizará con autenticación basada en clave (no se requiere contraseña).

Puede usar la directiva LocalForward para configurar túneles SSH y reenvío de puertos. O es posible que desee utilizar el

ForwardAgent

y

ProxyJump

directivas en su lugar:

Host PublicJumpServer1
  HostName public.a-d.site
  User user1
  ForwardAgent yes

Host PrivateServer1
  HostName private.contoso.com
  User user1
  ProxyJump PublicJumpServer1

También puede conectarse y desarrollar en MS SQL Server con VS Code.

Artículos relacionados