ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

SSHubl

by HorlogeSkynet ST4

:technologist: A Sublime Text 4+ plugin for your SSH connections

Details

Installs

  • Total 62
  • Win 29
  • Mac 16
  • Linux 17
Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15 Sep 14 Sep 13 Sep 12 Sep 11 Sep 10 Sep 9 Sep 8 Sep 7 Sep 6 Sep 5 Sep 4 Sep 3 Sep 2 Sep 1 Aug 31 Aug 30 Aug 29 Aug 28 Aug 27 Aug 26 Aug 25 Aug 24 Aug 23 Aug 22 Aug 21 Aug 20 Aug 19 Aug 18 Aug 17 Aug 16 Aug 15 Aug 14 Aug 13 Aug 12 Aug 11 Aug 10 Aug 9 Aug 8 Aug 7
Windows 0 0 1 0 2 0 0 0 0 1 0 3 2 0 3 1 0 1 2 2 1 0 0 0 0 0 0 0 1 1 0 2 0 1 1 1 1 0 0 3 0 1 1 0 0 1
Mac 0 0 1 0 0 1 1 0 1 0 0 2 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 2 0 0 1 1 1 1
Linux 0 2 1 0 1 1 0 0 0 0 0 3 0 2 0 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 0 2 0 0 0 0 0 0 0 0 0 0 0 2

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)
  • Terminus (Sublime Text package, for remote terminal feature)

On Debian : apt-get install -y sshfs

Installation

With Package Control (recommended)

  1. Open your command palette and type in : Package Control: Install Package
  2. Browse the list or search for SSHubl
  3. Press Enter and you're done !

Package Control dedicated page here.

Manually

  1. Go to the Sublime Text packages folder (usually $HOME/.config/sublime-text/Packages/ or %AppData%\Sublime Text\Packages\)
  2. Clone this repository there : git clone https://github.com/HorlogeSkynet/SSHubl.git
  3. Satisfy pexpect and ptyprocess third-party dependencies in Sublime Text Lib/python38/ folder (see here for further information)
  4. 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 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,
}

Frequently Asked Questions

Why can I connect to new hosts without accepting their fingerprint ?

pexpect package 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.