Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set a remote connection to a Vagrant container using "Visual Studio Code Remote - SSH"?

I'm exploring the new set extensions called VSCode Remote Pack and I want to connect to a Vagrant container using the Remote Container extension. Using a Windows 10 OS, how could I do that?

I tried the extension but it requests me to have Docker installed, what I suppose from that is that it only works for Docker containers. But I wonder if somebody have already managed to connect to a Vagrant box.

This are the docs from the extension: https://code.visualstudio.com/docs/remote/containers

like image 885
carlosabcs Avatar asked May 03 '19 16:05

carlosabcs


2 Answers

Sorry for updating this so late.

The solution was pretty simple, as @MnZrk commented, what it needs to be done for setting up the connection is the following:

  • Run vagrant ssh-config > some-file.txt. This will generate a file with the configuration to run using SSH. Here an example of that file:
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/User/project/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes
  ForwardX11 yes

Notice that the host name is default, you could rename it to whatever you want so you could identify it more easily.

  • Copy the content of some-file.txt inside your SSH configuration file. This file could be edit directly from vscode by pressing F1 and writing Remote-SSH: Open Configuration File..., then you select the file you use for ssh configuration. After that file opens, just copy the content of some-file.txt there.

  • Finally, just press again F1 and type Remote-SSH: Connect to Host..., choose the connection with the host name default or the want you wrote in the first step, and that's all.

like image 101
carlosabcs Avatar answered Sep 24 '22 11:09

carlosabcs


VS Code Remote containers currently only support Docker (its implementation executes docker commands). Please open a feature request if you would like to see other tools supported.

As an alternative, you could try using Remote SSH to connect to vagrant containers. That should work but will require some extra container setup

like image 43
Matt Bierner Avatar answered Sep 22 '22 11:09

Matt Bierner