Remote SSH Text Editor through Visual Studio Code

Luc Shelton
3 min readSep 22, 2019

--

Article first posted on www.lucshelton.com

Overview

The following blog post will outline what is required in order to be able to remotely modify text files from a Visual Studio Code instance running from your workstation.

Requirements

Setup

The following sections will cover what is required in order to setup both your Visual Studio Code instance, as well as your running Linux instance. Ensure that you have root or administrative privileges to your running Linux instance.

Setting up Visual Studio Code

You are going to require the Remote VSCode extension for Visual Studio Code, which will enable for text file editing over a listening SSH tunnel.

Configuring Remote VSCode Extension

Modify your user or workspace settings (whichever you prefer), and specify the following properties.

settings.json — workspace configuration file for Visual Studio Code
settings.json — workspace configuration file for Visual Studio Code

This property will ensure that the required runtime for opening a connection with rmate will be running and listening when Visual Studio Code. This local runtime will enable for you to open remote files over a SSH connection, that will be configured and setup in the next section.

Setting up your Linux instance over SSH

Connect to your running Linux instance over SSH, and ensure that the user account user has sudo or elevated privileges. Next, you are going to want to download the latest version of the rmate script from the GitHub repository that it resides in.

The following set of commands will download the script at head revision from the GitHub repository to the correct location on your running Linux instance, and will modify it’s file permission properties so that it can be executed anywhere by any account or group on your running instance of Linux.

sudo wget -O /usr/local/bin/rmate https://raw.github.com/aurora/rmate/master/rmate
sudo chmod a+x /usr/local/bin/rmate

Rmate should now be available to you anywhere you navigate to through the terminal, as the script has been stored under the /usr/local/bin/ directory.

Setting up PuTTY (Windows)

Ensure that you have PuTTY installed on your machine, and that you can successfully establish a SSH connection to your running Linux instance through the tool.

Testing connectivity

Once you have successfully configured your PuTTY instance, connect to your running Linux instance and navigate to the file that you wish to have opened in Visual Studio Code. Run a separate Visual Studio Code instance, and ensure that the SSH listener is running in the background.

Usage

To open a remote file from your terminal into a running Visual Studio Code instance on your machine, simply run the following command.

In this example, I am opening a configuration file for NGINX.

root@arcanenet-2:/etc/nginx# rmate nginx.conf

--

--

Luc Shelton

Senior Software Engineer working in games. Experienced in C++, C#, and TypeScript.