Remote development over SSH

Code on the cluster can be edited in several ways: directly on the login node using editors such as Vim, Emacs, or nano, or by mounting the remote file system on your local machine.

SSHFS

SSHFS enables you to mount a remote filesystem onto your local system.

$ sshfs user@login-node:/full-path-to-remote-directory/ path-to-local-mount-point

You can now access and edit files on your local mount point just as if they were local files.

Note

The trailing slash (/) on the remote directory is required; omitting it will produce a “Not a directory” error. Tilde (~) expansion is also unsupported, so use the full path (e.g., /user/uuser1/u12345).

Editors

Many code editors now provide remote‑development support over SSH, enabling you to edit files and execute tools on a remote machine directly from your local editor.

Vim

Vim can open remote files via scp.

$ vim scp://user@login-node/~/test.txt

Emacs

TRAMP is used to transparently access remote files and is included as part of Emacs (since Emacs version 22.1).

$ emacs /ssh:user@login-node/~/test.txt

Visual Studio Code

The Visual Studio Code Remote SSH extension lets you open and work with a folder located on a remote machine.

Warning

Please do not use this feature! VS Code initiates many server processes on the remote host, imposing a substantial load on the login nodes due to the inefficient way they handle filesystem access in particular. Consequently, the use of VS Code in this manner is under active review for future restriction.