SSHubl
:technologist: A Sublime Text 4+ plugin for your SSH connections
Details
Installs
- Total 562
- Win 258
- Mac 172
- Linux 132
| Oct 31 | Oct 30 | Oct 29 | Oct 28 | Oct 27 | Oct 26 | Oct 25 | Oct 24 | Oct 23 | Oct 22 | Oct 21 | Oct 20 | Oct 19 | Oct 18 | Oct 17 | Oct 16 | Oct 15 | Oct 14 | Oct 13 | Oct 12 | Oct 11 | Oct 10 | Oct 9 | Oct 8 | Oct 7 | Oct 6 | Oct 5 | Oct 4 | Oct 3 | Oct 2 | Oct 1 | Sep 30 | Sep 29 | Sep 28 | Sep 27 | Sep 26 | Sep 25 | Sep 24 | Sep 23 | Sep 22 | Sep 21 | Sep 20 | Sep 19 | Sep 18 | Sep 17 | Sep 16 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 1 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 2 | 0 | 0 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 
| Mac | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 
| Linux | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 1 | 0 | 2 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 
Readme
- Source
- raw.githubusercontent.com
SSHubl
A Sublime Text 4+ plugin for your SSH connections
Introduction
This plugin aims to grant the power of (Open)SSH to Sublime Text. Included features are :
- Open a remote terminal
- Open a remote folder over sshfs
- Open forward and reverse ports (or UNIX domain sockets)
- Automatic environment re-setup on project opening
It has been inspired by Visual Studio Code Remote - SSH plugin, without the drawback of depending on a remote agent running on the SSH server.
Dependencies
- Sublime Text 4081+
- OpenSSH client
- sshfs (FUSE) client
- pexpect Python package (used for non-interactive SSH connection on Linux/macOS)
- Terminus Sublime Text package (used for remote terminal feature on Linux/macOS, required on Windows)
On Debian : apt-get install -y sshfs
Installation
With Package Control (recommended)
- Open your command palette and type in : Package Control: Install Package
- Browse the list or search for SSHubl
- Press Enterand you're done !
Package Control dedicated page here.
Manually
- Go to the Sublime Text packages folder (usually $HOME/.config/sublime-text/Packages/or%AppData%\Sublime Text\Packages\)
- Clone this repository there : git clone https://github.com/HorlogeSkynet/SSHubl.git
- [Linux/macOS] Satisfy either pexpectandptyprocessthird-party dependencies in Sublime TextLib/python38/folder (see here for further information) or Terminus Sublime Text package dependency
- [Windows] Satisfy Terminus Sublime Text package dependency
- Restart Sublime Text and… :tada:
Usage
Open your command palette and type in SSHubl to select Connect to server. Once connected, you will be able to select Forward port/socket, Open/Select directory (mount sshfs) or even Open a terminal commands.
Settings
{
    "debug": false,
    // Custom path to OpenSSH client program
    // /!\ This setting requires plugin reload (or Sublime restart)
    "ssh_path": null,
    // Custom path to `sshfs` FUSE client program
    // /!\ This setting requires plugin reload (or Sublime restart)
    "sshfs_path": null,
    // Custom path to `umount` program (`fusermount` on Linux)
    // /!\ This setting requires plugin reload (or Sublime restart)
    "umount_path": null,
    // Custom path to OpenSSH control sockets directory
    // /!\ This setting requires plugin reload (or Sublime restart)
    // If you hit "path [...] too long for Unix domain socket" error, you may set this to e.g. "/tmp/sshubl"
    "sockets_path": null,
    // Custom options to pass to OpenSSH **master** (e.g. useful for bastion traversal)
    "ssh_options": {
        //"ConnectTimeout": 30,
    },
    // Custom login timeout (for pexpect)
    "ssh_login_timeout": 10,
    // Set to `false` to disable host authentication for loopback addresses (cf. NoHostAuthenticationForLocalhost)
    "ssh_host_authentication_for_localhost": true,
    // Server keepalive interval (as recommended in sshfs documentation)
    "ssh_server_alive_interval": 15,
    // Custom arguments to pass to `sshfs` command.
    // Default to `["-ojail_symlinks", "-onoappledouble", "-onoapplexattr"]` on macOS
    "sshfs_arguments": [],
    // Whether sshfs mount should follow symlinks.
    // Set to `false` to avoid symlink loop issues (e.g. Sublime keeps refreshing folders).
    "sshfs_follow_symlinks": true,
}
Frequently Asked Questions
Why can I non-interactively connect to new hosts without accepting their fingerprint ?
pexpectpackage is known to always accept remotes' public key, and it isn't configurable.
How is “SSHubl” pronounced ?
[ʃʌbəl]
Why haven't you opted for a pure Python approach ?
Paramiko doesn't support FUSE. There is also
fs.sshfs, but it relies on PyFilesystem 2 which doesn't support “re-exposing” FUSE as local mount point.
Is SSHubl compatible with other SSH clients ?
As it uses OpenSSH connections multiplexing feature, no.
Do you plan to support Sublime Text 3 ?
It's very unlikely as SSHubl requires Python 3.8 runtime and depends on several Sublime Text 4081+ API.