/sublimetext-sshconfig

SSH Config language and completions

Primary LanguagePython

SSH Config Language

Provides highlighting and snippets for ~/.ssh/config and /etc/ssh/sshd_config files.

Installation

This package is available via Package Control. You can install it by searching for SSH in the "Install Package" interface or by cloning this repository in your Sublime Text "Packages" directory.

SSH Config

  • host: create a new Host entry
  • match: create a new Match entry
  • Keyword completion for many *Nix and *BSD options
  • Symbol Index for hosts and aliases (Ctrl+R or Cmd+R)

Note that ~/.ssh/config is not linked to the SSH Config syntax highlighting out of the box. This is because the filename is shared by other formats (e.g. .git/config) and we don't want to set the wrong highlighting for those.

Here are three ways to change that:

  1. Use the "Open SSH Config" command to open your config, which proactively sets the right highlighting unless you disable it.
  2. Choose "Open all with current extension as..." from the syntax highlighting selection menu.
  3. Install and configure ApplySyntax to examine the whole path of the file and set the syntax highlighting after load. Sample configuration shown here

SSHD Config

  • Keyword completion for many *Nix and *BSD options
  • Symbol Index for active and commented-out config options (Ctrl+R or Cmd+R)

Commands

  • Open SSH Config File
  • Open SSHD Config File

If these commands open the wrong file for you, open the Command Palette (Ctrl+Shift+P or Cmd+Shift+P), search for "SSH Config: Settings", and put in content like this:

{
    "file_locations": {
        "ssh_config": "~/.ssh/config",
        "sshd_config": "/etc/ssh/sshd_config",
        "known_hosts": "~/.ssh/known_hosts",
        "authorized_keys": "~/.ssh/authorized_keys",
    },
}

Extras

  • authorized_keys and known_hosts also have
    • Syntax highlighting
    • Symbol index
    • (unmapped) "Open file" commands
  • Completion and highlighting for crypto stuff
    • Key types
    • KEX algorithms
    • Encryption ciphers
    • MACs

To-Do

  • Better highlighting for paths