A Sublime Text 4+ plugin for your SSH connections
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.
- Sublime Text 4081+
- OpenSSH client
- sshfs (FUSE) client
- pexpect (Python package)
- Terminus (Sublime Text package, for remote terminal feature)
On Debian : apt-get install -y sshfs
- Open your command palette and type in :
Package Control: Install Package
- Browse the list or search for
SSHubl
- Press
Enter
and you're done !
Package Control dedicated page here.
- 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
- Satisfy
pexpect
andptyprocess
third-party dependencies in Sublime TextLib/python38/
folder (see here for further information) - Restart Sublime Text and... 🎉
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.
{
"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 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,
}
pexpect
package is known to always accept remotes' public key, and it isn't configurable.
[ʃʌbəl]
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.
As it uses OpenSSH connections multiplexing feature, no.
It's very unlikely as SSHubl requires Python 3.8 runtime and depends on several Sublime Text 4081+ API.