Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Easy SSHNew to Visual Studio Code? Get it now.
Easy SSH

Easy SSH

Easy SSH

|
3 installs
| (0) | Free
| Sponsor
Manage SSH connections in a terminal and transfer files with the remote directory you are in. Works in VS Code and Cursor, on internal and external networks.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Easy SSH

Buy me a coffee

Easy SSH overview: saved connections, sign-in options, jump hosts, a real login shell, Ctrl+click or Cmd+click to download, and drop to upload

A terminal for SSH connections inside VS Code and Cursor.

Easy SSH talks SSH directly from your computer. It does not install anything on the server, and it does not download a remote editor when you connect. The same terminal works on an internal network and on the public internet.

Demo: pick a connection, open the remote shell, Ctrl+click a directory to cd into it, and Ctrl+click a file to download it

Quick demo: connect, Ctrl+click a directory to cd into it, then Ctrl+click a file to download it. On macOS, use Cmd+click.

What you can do

  • Save, edit, and delete SSH connections
  • Sign in with a password, a private key, or an SSH agent
  • Hop through one or more jump hosts
  • Import hosts from ~/.ssh/config
  • Open a remote Linux shell in your home directory
  • Run commands, full-screen programs, and sudo the same way you would over ssh
  • Download a file to your Desktop: Ctrl+click its name on Windows and Linux, Cmd+click on macOS
  • cd into a directory the same way: Ctrl+click on Windows and Linux, Cmd+click on macOS
  • Select and copy terminal text with the mouse, as in any VS Code terminal
  • Drag a file or folder onto the terminal to upload it into the current directory
  • Open another session from the activity-bar icon or Easy SSH: New Terminal

Open it

Click the Easy SSH icon in the activity bar. Each click opens another terminal tab with its own connection list. Close that tab, or type /quit in it, to dismiss it.

The Easy SSH connection list in the terminal panel

The connection list. Up and Down select a connection, Enter connects.

Commands

On the connection panel, type / to open the command list. Connections and system commands are listed in separate groups. Up and Down move through the list, further typing filters it, and Enter runs the highlighted row. With the list closed, Up and Down move the connection selection.

Command Action
/name Connect to the saved connection with that name
/new New connection
/edit Choose a connection, then edit it
/delete Choose a connection, then delete it
/import Import ~/.ssh/config
/folder Choose the local download folder
/quit Close the terminal
Enter Connect to the selected connection

The slash command list, with connections and system commands in separate groups

Type / to open the command list.

New, edit, and delete

/new /edit /delete
New connection form Editing a connection and choosing a jump host Delete confirmation for a saved connection
Fill in the fields for a new connection Change a connection, here adding a jump host Confirm before a connection is removed

Remote shell

A connection opens your login shell in the home directory, the same kind of shell ssh starts. The terminal is passed through: what you type goes to the server, and what the server prints is shown as-is. Aliases such as ll, functions, and the current directory stay in effect. vim, less, top, and sudo work as they do in a normal terminal. The password you type for sudo is not echoed. clear and reset clear the screen. Resizing the panel updates both the width and the height, so stty size follows the window.

A remote login shell running in the Easy SSH terminal

A remote login shell, the same as over ssh.

To download a file to the Desktop, Ctrl+click its name on Windows and Linux, or Cmd+click it on macOS. To cd into a directory, Ctrl+click its name on Windows and Linux, or Cmd+click it on macOS. Hovering a name underlines it and shows what a click does. Drag a file or folder onto the terminal to upload it into the current directory. Progress for those transfers is shown in the status bar. exit closes the shell and returns to the connection list.

Hovering a directory name shows "cd logs (ctrl + click)"; Ctrl+click runs cd into it

Ctrl+click a directory name (Cmd+click on macOS) to cd into it.

Each click of the activity-bar icon opens another terminal, and so does Easy SSH: New Terminal. Each one connects on its own. The first terminal is named Easy SSH, and the next are Easy SSH 2, Easy SSH 3, and so on.

Drag with the mouse to select text, then copy it as usual. If you set editor.multiCursorModifier to ctrlCmd, links open with Alt+click instead, the same as for other VS Code terminal links. To open names with a plain click instead, turn on Easy SSH: Plain Click (easySsh.plainClick). In that mode, hold Shift while dragging to select text. On macOS, turn on terminal.integrated.macOptionClickForcesSelection and hold Option instead.

Action Result
Type, arrows, Tab, Ctrl+R, Ctrl+L The remote shell handles the keys. Tab finishes a path such as cd /tm
Ctrl+click a file name (Cmd+click on macOS) Download it to the Desktop
Ctrl+click a directory name (Cmd+click on macOS) cd into it
Drag with the mouse Select text
Drag a file or folder here Upload it into the current directory
Ctrl+C Stop the running command
Ctrl+Z Suspend the running command (fg continues it)
Paste Keep line breaks, including a heredoc
exit Disconnect

Passwords and key passphrases are hidden while you type. Press Enter on a saved secret to keep it. Authentication and the jump host are choices: move with Up and Down, then press Enter. A custom jump host is the only extra text. Type user@host:port. Separate extra hops with commas.

Downloads and uploads

Downloaded files go to your Desktop. On Windows this is the Desktop folder Windows actually uses, including a Desktop redirected to OneDrive or to another drive. The folder in use is written to Output → Easy SSH when the extension starts. Type /folder on the connection panel, or run Easy SSH: Set Download Folder, to choose another folder. If the file name already exists, Easy SSH adds a number, such as notes (1).txt.

Hovering a file name shows "Download access.log to the Desktop (ctrl + click)"; the status bar shows where the file was saved

Ctrl+click a file name (Cmd+click on macOS) to download it. The status bar shows where it was saved.

To upload, drag a file or a folder from your desktop onto the Easy SSH terminal. It is written into the current Linux directory of the terminal you drop it on. Each terminal has its own connection and directory, so in a split view a drop goes to the pane under the mouse. A folder is uploaded with its contents. Symbolic links inside a folder are skipped. A single drop is limited to 5000 files.

Drag onto the terminal Upload finished
Dragging files from the desktop onto the Easy SSH terminal The uploaded file in the current remote directory

Internal and external networks

A connection is a normal SSH session from the editor to the host you enter. Use a hostname, an IP address, or a jump host when the server is only reachable through a bastion. Jump hosts entered in the terminal use the same password, key, or agent as the connection.

A shell on staging-db, reached through a jump host

A session on staging-db, reached through bastion.example.com.

Hosts imported from ~/.ssh/config keep their user, port, identity file, and ProxyJump chain. Host * wildcard blocks are skipped. Include files under ~/.ssh are read.

Importing hosts from ~/.ssh/config

/import reads the hosts from ~/.ssh/config, including the ProxyJump chain. Host * is skipped.

The first time you connect, the server's host key is saved. If that key changes later, the terminal asks before trusting the new one. Easy SSH: Reset Trusted Host Keys forgets the saved keys.

Passwords and passphrases are stored in the editor's secret storage. Private keys stay in the files you point at.

Troubleshooting

I can't select text with the mouse. Easy SSH does not turn on mouse reporting in the default mode, so a normal drag selects text. A remote program can still ask for mouse input: vim with set mouse=a, tmux with set -g mouse on, htop, mc, and similar full-screen programs. While such a program is running, or when easySsh.plainClick is on, hold Shift and drag to select on Windows and Linux. On macOS, turn on terminal.integrated.macOptionClickForcesSelection, then hold Option and drag. Easy SSH turns mouse reporting off again when a full-screen program exits and when the shell prompt comes back.

An upload after sudo su, su, or ssh asks where to put the file. The prompt of the switched shell does not tell Easy SSH its directory, so Easy SSH cannot know where you are. Instead of guessing, it asks: upload to the last known directory, to your home directory, or to a directory you type. Uploads always go over SFTP as the user you signed in as, not as root. To put a file into a directory only root can write, upload it to your home directory, then move it in the terminal, for example sudo mv ~/file.txt /etc/app/. Easy SSH shows that command after the upload.

Upload fails with "Permission denied". The server refused the write for the signed-in user. The message names the path. Check the directory in the terminal with ls -ld <directory> and touch <directory>/test. If an existing file with the same name belongs to another user, remove or rename it first. Some servers also make SFTP read-only.

Where did my download go? The status bar and Output → Easy SSH show the full path. Type /folder, or run Easy SSH: Set Download Folder, to pick another folder.

Develop

npm install
npm test
npm run compile

Press F5 in VS Code or Cursor. Both hosts use the same extension API, so there is no separate Cursor build.

Compared with SSH FS

SSH FS mounts a remote system as a workspace folder and also provides tasks and remote shells. Easy SSH is the connection list and a login shell: type commands the way you would over ssh, Ctrl+click (Cmd+click on macOS) a file name to download it, and drop a file or folder to upload it.

Support

If Easy SSH saves you time, you can support its development:

  • Buy Me a Coffee
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft