Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>SSH File ExplorerNew to Visual Studio Code? Get it now.
SSH File Explorer

SSH File Explorer

El Houssine DARRAZI

|
44 installs
| (0) | Free
Extension VS Code for managing SSH connections and browsing remote files in a WebView
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SSH File Explorer

Version License

A powerful VS Code extension for managing SSH connections and browsing remote files through an intuitive WebView interface.

Features

Connection Management

  • Add SSH Connections: Easily create and save SSH connection configurations
  • Edit Connections: Modify existing connection settings
  • Delete Connections: Remove unwanted saved connections
  • Import/Export Connections: Backup and transfer your connection configurations (encrypted credentials)
  • Connect/Disconnect: Quick connection toggling with visual status indicators
  • Multiple Simultaneous Connections: Keep several servers connected and switch the active connection
  • SSH Key Passphrase Support: Encrypted private keys with retry logic and clear error messages

File Browsing & Management (WebView)

  • Browse remote directories and files through a WebView interface
  • Open and edit remote files directly in VS Code
  • Create files and folders, rename, delete, copy / cut / paste
  • File properties panel (size, permissions, dates, copy path)
  • Details, list and mosaic views with sorting, search bar, tree navigation
  • Improved details view: sticky sortable header, permission dots (read/write/execute), permissions, size and date columns with ellipsis handling
  • View indicator badge next to the view toggle showing the current view (Liste / Détails / Mosaïque)
  • Icon themes: Windows 11 (Fluent-like yellow folders + files with coloured label footer) and macOS (rounded blue folders + files with folded corner), switchable from the toolbar (🎨) and live-synced with the sshFileExplorer.iconTheme setting
  • Themed toolbar and context-menu icons adapting to the selected icon theme
  • Responsive toolbar: controls wrap onto multiple rows on narrow panels, grouped into logical sections with adaptive spacing
  • System stats bar (CPU / RAM / disk) with periodic refresh
  • Supports files up to 10MB (configurable)
  • Option to display hidden files (files starting with .)
  • Permission-aware operations (read/write checks with clear errors)

SFTP Transfer

  • Download remote files via SFTP
  • Upload local files to the remote server via SFTP

ZIP Compression & Extraction

  • Compress any file or folder to a .zip archive created alongside the source
  • Extract a .zip file into a new folder alongside the archive
  • Safe extraction (Zip-Slip protection, rejects absolute paths, symlinks, password-protected archives)
  • Requirements on the remote host: zip for compression, python3 for extraction

Terminal Integration

  • Native SSH Terminal: opens ssh in a VS Code terminal
  • SSH2 Terminal: reuses the existing SSH connection (works without the system ssh binary)
  • Open terminal from the tree view or from the file explorer

Connection Health Monitoring

  • Periodic health checks (echo ping by default, configurable)
  • States: healthy / degraded / suspect / unhealthy / reconnecting
  • Commands: Show Health Status, Check Health Now, Show Health History
  • Optional auto-reconnect with configurable attempts, delay and notifications
  • Live health badge in the file explorer WebView

User Interface

  • Dedicated activity bar icon for easy access
  • Tree view showing saved and connected connections
  • Visual status indicators for connection state
  • Context menus for quick actions
  • Refresh functionality to update connection list

Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "SSH File Explorer"
  4. Click Install
  5. Reload VS Code if prompted

From VSIX File

  1. Download the .vsix file from the releases page
  2. Open VS Code
  3. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  4. Click the "..." menu and select "Install from VSIX..."
  5. Select the downloaded .vsix file
  6. Reload VS Code

Usage

Getting Started

  1. Open the SSH File Explorer panel

    • Click the SSH File Explorer icon in the activity bar, or
    • Use the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run SSH: Focus on SSH Explorer
  2. Create a new connection

    • Click the "+" button in the SSH File Explorer panel, or
    • Right-click in the panel and select "New Connection", or
    • Use the Command Palette and run SSH: New Connection
  3. Fill in connection details

    • Connection Name: A friendly name to identify this connection
    • Host: The SSH server hostname or IP address
    • Port: SSH port (default: 22)
    • Username: Your SSH username
    • Password (optional): Your SSH password (if using password authentication)
    • Private Key (optional): Path to your SSH private key file (if using key-based authentication)
    • Passphrase (optional): Passphrase for encrypted private keys (prompted on connect if needed)
  4. Connect to the server

    • Click on a saved connection and click the plug icon, or
    • Right-click on a connection and select "Connect"

Managing Connections

Edit a Connection

  • Click the pencil icon in the connection's context menu, or
  • Right-click on a connection and select "Edit"

Delete a Connection

  • Click the trash icon in the connection's context menu, or
  • Right-click on a connection and select "Delete"

Disconnect

  • Click the disconnect icon next to a connected server, or
  • Right-click on a connected server and select "Disconnect"

Switch Active Connection

  • Use the Command Palette and run SSH: Switch Active Connection
  • Useful when several servers are connected at the same time

Export Connections

  • Click the upload icon in the panel header, or
  • Use the Command Palette and run SSH: Export Connections
  • Select a location to save the connection configuration file

Import Connections

  • Click the download icon in the panel header, or
  • Use the Command Palette and run SSH: Import Connections
  • Select a previously exported connection configuration file

Browsing Files

Once connected:

  1. Click on a connected server to open the file browser
  2. Navigate through directories by double-clicking folders
  3. View file details including size and modification date
  4. Open files by double-clicking them
  5. Use the toolbar / context menu to create, rename, delete, copy, cut, paste
  6. Right-click a file for download, properties, or ZIP actions
  7. Switch views with the view toggle button — the badge next to it shows the current view (Liste / Détails / Mosaïque)
  8. Switch icon theme with the 🎨 selector in the toolbar (Windows 11 / macOS)

Note: Files larger than 10MB cannot be opened in the editor by default. You can adjust this limit in the extension settings.

SFTP Upload / Download

  • Download: right-click a remote file (or SSH: Download File (SFTP))
  • Upload: use the upload button in the explorer (or SSH: Upload Files (SFTP)) and pick local files

ZIP Compress / Extract

  • Compress: right-click a file or folder → Compress to ZIP → enter an archive name ending with .zip
  • Extract: right-click a .zip file → Extract → enter a new folder name
  • The archive / folder is created alongside the source
  • Remote requirements: zip installed (compress), python3 installed (extract)

Terminals

  • Native terminal: right-click a connected server → Open Native SSH Terminal
  • SSH2 terminal: right-click a connected server → Open SSH2 Terminal (reuses connection)
  • From the file explorer toolbar: open a terminal or open the current folder in a terminal

Health Monitoring

  • SSH: Show Connection Health Status — overview of all monitored connections
  • SSH: Check Health Now (all connections) — force an immediate check
  • SSH: Show Health History — history for one connection (from its context menu)
  • Configure interval, thresholds, auto-reconnect and notifications in settings (see below)

Configuration

The extension provides the following configurable settings:

Setting Type Default Description
sshFileExplorer.defaultPort number 22 Default SSH port for new connections
sshFileExplorer.showHiddenFiles boolean false Show hidden files (starting with .)
sshFileExplorer.maxFileSize number 10485760 Maximum file size in bytes for opening in editor (default: 10MB)
sshFileExplorer.healthCheckInterval number 15000 Interval between connection health checks in milliseconds
sshFileExplorer.healthPingTimeout number 5000 Timeout for health check ping command in milliseconds
sshFileExplorer.healthSuspectThreshold number 2 Consecutive failures before marking connection as suspect
sshFileExplorer.healthFailureThreshold number 3 Consecutive failures before marking connection as unhealthy
sshFileExplorer.healthAutoReconnect boolean false Enable automatic reconnection when connection is lost
sshFileExplorer.healthMaxReconnectAttempts number 3 Maximum number of auto-reconnect attempts
sshFileExplorer.healthReconnectDelay number 5000 Delay between reconnect attempts in milliseconds
sshFileExplorer.healthShowNotifications boolean true Show notifications on connection health state changes
sshFileExplorer.healthPingCommand string "echo ping" Command to execute for health check pings
sshFileExplorer.iconTheme string (windows11 | macos) "windows11" Icon theme used in the SSH File Explorer webview (switchable from the toolbar 🎨, live-synced)

Changing Settings

  1. Open VS Code Settings (Ctrl+, / Cmd+,)
  2. Search for "SSH File Explorer"
  3. Modify the desired settings

Or edit your settings.json directly:

{
  "sshFileExplorer.defaultPort": 22,
  "sshFileExplorer.showHiddenFiles": true,
  "sshFileExplorer.maxFileSize": 20971520,
  "sshFileExplorer.healthCheckInterval": 15000,
  "sshFileExplorer.healthPingTimeout": 5000,
  "sshFileExplorer.healthSuspectThreshold": 2,
  "sshFileExplorer.healthFailureThreshold": 3,
  "sshFileExplorer.healthAutoReconnect": false,
  "sshFileExplorer.healthMaxReconnectAttempts": 3,
  "sshFileExplorer.healthReconnectDelay": 5000,
  "sshFileExplorer.healthShowNotifications": true,
  "sshFileExplorer.healthPingCommand": "echo ping",
  "sshFileExplorer.iconTheme": "windows11"
}

Commands

Command Title
sshFileExplorer.addConnection New Connection
sshFileExplorer.connect Connect to Server
sshFileExplorer.disconnect Disconnect
sshFileExplorer.editConnection Edit Connection
sshFileExplorer.deleteConnection Delete Connection
sshFileExplorer.refresh Refresh Connections
sshFileExplorer.focus Focus on SSH Explorer
sshFileExplorer.exportConnections Export Connections
sshFileExplorer.importConnections Import Connections
sshFileExplorer.switchActiveConnection Switch Active Connection
sshFileExplorer.downloadFile Download File (SFTP)
sshFileExplorer.uploadFile Upload Files (SFTP)
sshFileExplorer.openNativeTerminal Open Native SSH Terminal
sshFileExplorer.openSSH2Terminal Open SSH2 Terminal (reuses connection)
sshFileExplorer.showHealthStatus Show Connection Health Status
sshFileExplorer.checkHealthNow Check Health Now (all connections)
sshFileExplorer.showHealthHistory Show Health History

Keyboard Shortcuts

Command Shortcut (Windows/Linux) Shortcut (Mac)
Open SSH Explorer - -
New Connection - -
Connect to Server - -

Note: Default shortcuts are not provided but you can add custom keybindings through VS Code's Keyboard Shortcuts settings.

Requirements

  • VS Code: Version 1.85.0 or higher
  • SSH Server: A running SSH server accessible from your network
  • SSH Credentials: Valid username/password or SSH key pair for authentication
  • Remote tools (optional): zip for compression, python3 for safe ZIP extraction

Troubleshooting

Connection Failed

  • Verify the host and port are correct
  • Check your network connection
  • Ensure the SSH server is running and accessible
  • Verify your username and password/key are correct

Cannot Open Large Files

  • Increase the sshFileExplorer.maxFileSize setting
  • Or edit the file using a terminal-based editor

Authentication Issues

  • Ensure your SSH key has the correct permissions (readable only by you)
  • If the key is encrypted, enter the passphrase when prompted
  • Try using password authentication instead
  • Check that your SSH server allows the authentication method you're using

ZIP Compression Fails

  • Ensure zip is installed on the remote server (command -v zip)
  • Ensure the archive name ends with .zip and does not already exist
  • Check write permission in the parent directory

ZIP Extraction Fails

  • Ensure python3 is installed on the remote server (command -v python3)
  • Only regular .zip files are supported (no password-protected archives, no symlinks)
  • Extract into a new folder alongside the ZIP file
  • Check write permission in the parent directory

Health Shows Suspect / Unhealthy

  • Run SSH: Check Health Now to force a fresh check
  • Check network latency and server load
  • Adjust healthPingTimeout, thresholds, or enable healthAutoReconnect
  • View history with SSH: Show Health History

Reporting Issues

If you encounter any bugs or have feature requests, please open an issue on GitHub with:

  • A clear description of the problem
  • Steps to reproduce the issue
  • Your operating system and VS Code version
  • Any relevant error messages

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Roadmap

  • [X] Support for SSH key passphrases
  • [X] SFTP file upload/download functionality
  • [X] Multiple simultaneous connections
  • [X] Terminal integration
  • [X] Connection health monitoring
  • [X] ZIP compression and extraction
  • [X] Icon themes (Windows 11 / macOS) with toolbar switcher
  • [X] Improved details view (sticky header, permission indicators, view badge)
  • [ ] Search functionality across remote files

Changelog

See CHANGELOG.md for details on recent updates.

License

This project is licensed under the MIT License - see the LICENSE file for details.


Copyright

© 2026 El Houssine DARRAZI. All rights reserved.

SSH File Explorer is developed and maintained by El Houssine DARRAZI.

For more information, visit the GitHub repository or contact the author.

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