SSH Config
SSH Config language and completions
Details
Installs
- Total 17K
- Win 5K
- Mac 8K
- Linux 4K
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 | Sep 15 | Sep 14 | Sep 13 | Sep 12 | Sep 11 | Sep 10 | Sep 9 | Sep 8 | Sep 7 | Sep 6 | Sep 5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 3 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 |
Mac | 0 | 2 | 1 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 3 | 1 | 1 | 0 | 2 | 10 | 3 | 2 | 3 | 0 | 0 | 6 | 2 | 5 | 1 | 3 | 1 | 1 | 5 | 4 | 4 | 1 | 5 | 2 | 2 | 3 | 1 | 8 | 1 | 5 | 0 | 1 | 2 |
Linux | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
Readme
- Source
- raw.githubusercontent.com
SSH Config Language
Provides highlighting and snippets in Sublime Text for ~/.ssh/config, /etc/ssh/sshd_config, and some other SSH-related files.
Installation
This package is available via Package Control. You can install it by searching for SSH in the Package Control: Install Package interface or by cloning this repository into your Sublime Text Packages directory.
Features
Commands
- Edit package settings
- Quick open files:
- SSH Config
- SSHD Config
- Authorized Keys
- Known Hosts
If the file-open 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",
},
}
SSH Config files
- Syntax highlighting
host
snippet creates a new Host entrymatch
snippet creates a new Match entry- Snippets and Keyword completion for most parameters
- Symbol Index for hosts and aliases (Ctrl+R or Cmd+R)
- Automatic indentation
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 (notably .git/config) and we don't want to set the wrong highlighting for those. Several solutions are available on the wiki.
For file format information,
consult man
pages on the web
(Linux,
BSD,
or Mac),
or locally on your machine with
man 5 ssh_config
SSHD Config files
- Syntax highlighting
match
snippet creates a new Match entry- Snippets and Keyword completion for most parameters
- Symbol Index for active and commented-out config options (Ctrl+R or Cmd+R)
- Automatic indentation
For file format information,
consult man
pages on the web
(Linux,
BSD,
or Mac),
or locally on your machine with
man 5 sshd_config
Authorized Keys files
- Syntax highlighting
- Keyword completion for access restrictions
- Symbol Index for annotations,
which are typically the
user@host
(Ctrl+R or Cmd+R)
Public keys are also associated with this syntax, since the authorized_keys format is basically a strict superset of them.
For file format information,
consult man
pages on the web
(Linux,
BSD,
or Mac),
or locally on your machine with
PAGER='less -p ^"AUTHORIZED_KEYS"' man 8 sshd
Known Hosts files
- Syntax highlighting
- Symbol Index for hosts and IPs (Ctrl+R or Cmd+R)
For file format information,
consult man
pages on the web
(Linux,
BSD,
or Mac),
or locally on your machine with
PAGER='less -p ^"SSH_KNOWN_HOSTS"' man 8 sshd
Extras
- PEM, PKCS1, PKCS8, and SSH keys have
- Syntax highlighting
- Symbol index for cert bundles
- Completion and highlighting for crypto stuff
- Key types (
ssh -Q key
) - KEX algorithms (
ssh -Q kex
) - Encryption ciphers (
ssh -Q ciphers
) - MACs (
ssh -Q mac
)
- Key types (
Building
- Snippets, completions, and crypto names
are built from the src directory
in a simple Python script.
Its only requirement is
pyyaml
. - Changes to any of the above should be modified in YAML and rebuilt.
- Changes to syntaxes do not need rebuilding, but do need regression testing.
Syntax testing
- Install this repository under Sublime Text Packages
and name it SSH Config.
- You can clone it there directly, move it there, or symlink it.
- Open the project from under Packages/SSH Config.
- Open a syntax test file located in the test directory.
- Run the Build With: Syntax Tests command.
- This is supplied by the Default Package, which is shipped with Sublime Text.
- The command is available on the Command Palette when any test file is open.
The PackageDev package is helpful for writing tests but not required.