├── .python-version
├── Authorized Keys.sublime-syntax
├── Commands.sublime-commands
├── Comment.tmPreferences
├── Embedded Bash.sublime-syntax
├── Embeddings
├── Shell (for SSH Config KnownHostsCommand).sublime-syntax
├── Shell (for SSH Config LocalCommand).sublime-syntax
├── Shell (for SSH Config ProxyCommand).sublime-syntax
├── Shell (for SSH Config).sublime-syntax
├── Shell (for SSHD Config AuthorizedKeysCommand).sublime-syntax
└── Shell (for SSHD Config AuthorizedPrincipalsCommand).sublime-syntax
├── Known Hosts.sublime-syntax
├── PEM.sublime-syntax
├── PEM.tmPreferences
├── SSH Common.sublime-syntax
├── SSH Config.sublime-settings
├── SSH Config.sublime-syntax
├── SSH Crypto.sublime-syntax
├── SSHD Config.sublime-syntax
├── Snippets
├── host.sublime-snippet
└── match.sublime-snippet
├── Support
├── Authorized Keys.sublime-completions
├── Authorized Keys.sublime-settings
├── Config Values.sublime-completions
├── Indentation Rules SSH Config.tmPreferences
├── Indentation Rules SSHD Config.tmPreferences
├── Known Hosts.sublime-settings
├── SSH Config - Match Conditions.sublime-completions
├── SSH Config.sublime-completions
├── SSHD Config - Match Conditions.sublime-completions
├── SSHD Config.sublime-completions
├── Symbol List Key Annotation.tmPreferences
├── Symbol List SSH Aliases.tmPreferences
├── Symbol List SSH Hosts.tmPreferences
├── Symbol List SSHD Keyword.tmPreferences
├── Symbol List known_hosts Hostnames.tmPreferences
├── Symbol List known_hosts IPs.tmPreferences
├── ciphers.sublime-completions
├── kex-algorithms.sublime-completions
├── key-types.sublime-completions
└── mac-algorithms.sublime-completions
├── main.py
├── messages
├── 2.0.0.md
├── 2.1.0.md
├── 2.2.0.md
├── 2.3.0.md
├── 3.0.0.md
├── 3.6.0.md
├── 4.0.0.md
├── 4.1.0.md
├── 4.1.1.md
├── 5.0.0.md
└── 6.0.0.md
└── messaging.json
/.python-version:
--------------------------------------------------------------------------------
1 | 3.8
2 |
--------------------------------------------------------------------------------
/Authorized Keys.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # https://www.sublimetext.com/docs/syntax.html
4 | # https://man7.org/linux/man-pages/man8/sshd.8.html#AUTHORIZED_KEYS_FILE_FORMAT
5 | # https://man.openbsd.org/sshd.8#AUTHORIZED_KEYS_FILE_FORMAT
6 | name: Authorized Keys
7 | scope: text.authorized_keys
8 | version: 2
9 | extends: SSH Crypto.sublime-syntax
10 |
11 | file_extensions:
12 | - authorized_keys
13 | - pub
14 |
15 | hidden_file_extensions:
16 | - authorized_keys2
17 |
18 | contexts:
19 | main:
20 | - include: comments-number-sign
21 | - match: ^
22 | push:
23 | - meta_scope: meta.line.authorized-key.authorized_keys
24 | - include: pop-before-nl
25 | - include: pop-nl
26 | - include: ssh-key-types
27 | - include: ssh-fingerprint-with-label
28 | - include: flag-options
29 | - include: value-options
30 | - include: strings
31 | - match: =
32 | scope: keyword.operator.assignment.authorized_keys
33 | - include: punctuation-comma-sequence
34 |
35 | flag-options:
36 | - match: (?:no-)?(?:pty|user-rc|(?:agent|port|X11)-forwarding)
37 | scope: keyword.other.authorized_keys
38 | - match: (?:no-touch-required|verify-required|cert-authority|restrict)
39 | scope: keyword.other.authorized_keys
40 |
41 | value-options:
42 | - match: (principals)(=)
43 | captures:
44 | 1: keyword.other.authorized_keys
45 | 2: keyword.operator.assignment.authorized_keys
46 | with_prototype:
47 | - include: punctuation-comma-sequence
48 | push: value-option-body
49 |
50 | - match: (tunnel)(=)
51 | captures:
52 | 1: keyword.other.authorized_keys
53 | 2: keyword.operator.assignment.authorized_keys
54 | with_prototype:
55 | - match: \d{1,3}
56 | scope: meta.number.integer.decimal.authorized_keys
57 | constant.numeric.value.authorized_keys
58 | push: value-option-body
59 |
60 | - match: (?:(expiry-time)|(valid-before))(=)
61 | captures:
62 | 1: keyword.other.authorized_keys
63 | 2: invalid.deprecated.authorized_keys
64 | 3: keyword.operator.assignment.authorized_keys
65 | with_prototype:
66 | - match: |-
67 | (?x:
68 | \d{4} # Year
69 | (?:0\d|1[12]) # Month
70 | (?:[0-2]\d|3[01]) # Day
71 | (?: # Optionally:
72 | (?:[01]\d|2[0-3]) # HH
73 | (?:[0-5]\d){1,2} # MM and maybe SS
74 | )?
75 | Z? # Optional UTC
76 | )
77 | scope: meta.constant.date.authorized_keys
78 | constant.numeric.integer.date.authorized_keys
79 | push: value-option-body
80 |
81 | # Technically, permitopen requires a host, but let's be lenient
82 | - match: (permitlisten|permitopen)(=)
83 | captures:
84 | 1: keyword.other.authorized_keys
85 | 2: keyword.operator.assignment.authorized_keys
86 | with_prototype:
87 | - include: ipv4
88 | - include: ipv6-square-bracket
89 | - match: (?:([^"]*)(:))?(?:({{zero_to_65535}})|(\*))
90 | captures:
91 | 1: meta.string.host.authorized_keys
92 | 2: punctuation.separator.sequence.authorized_keys
93 | 3: meta.number.integer.decimal.authorized_keys
94 | constant.numeric.port-number.authorized_keys
95 | 4: constant.other.wildcard.asterisk.authorized_keys
96 | push: value-option-body
97 |
98 | - match: (from)(=)
99 | captures:
100 | 1: keyword.other.authorized_keys
101 | 2: keyword.operator.assignment.authorized_keys
102 | with_prototype:
103 | - include: operator-exclamation
104 | - include: punctuation-comma-sequence
105 | - include: punctuation-dot-sequence
106 | - include: wildcards
107 | push: value-option-body
108 |
109 | - match: (environment)(=)
110 | captures:
111 | 1: keyword.other.authorized_keys
112 | 2: keyword.operator.assignment.authorized_keys
113 | with_prototype:
114 | - match: (\w+)(=)
115 | captures:
116 | 1: variable.other.readwrite.authorized_keys
117 | 2: keyword.operator.assignment.authorized_keys
118 | push: value-option-body
119 |
120 | - match: (command)(=)(")
121 | captures:
122 | 1: keyword.other.authorized_keys
123 | 2: keyword.operator.assignment.authorized_keys
124 | 3: string.quoted.double.authorized_keys
125 | punctuation.definition.string.begin.authorized_keys
126 | # TODO: Allow escaped double-quote
127 | embed: scope:source.shell.bash
128 | embed_scope: source.shell.embedded
129 | escape: '"|(?=$)'
130 | escape_captures:
131 | 0: string.quoted.double.authorized_keys
132 | punctuation.definition.string.end.authorized_keys
133 |
134 | value-option-body:
135 | - include: strings
136 | - match: (?=,|\s)
137 | pop: 1
138 | - match: .
139 | scope: invalid.illegal.authorized_keys
140 | pop: 1
141 |
142 | strings:
143 | - match: '"'
144 | scope: punctuation.definition.string.begin.authorized_keys
145 | push:
146 | - meta_scope: string.quoted.double.authorized_keys
147 | - match: \\"
148 | scope: constant.character.escape.authorized_keys
149 | - match: '"'
150 | scope: punctuation.definition.string.end.authorized_keys
151 | pop: 1
152 |
--------------------------------------------------------------------------------
/Commands.sublime-commands:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "SSH Config: Open SSH Config File",
4 | "command": "open_ssh_config_file",
5 | },
6 | {
7 | "caption": "SSH Config: Open SSHD Config File",
8 | "command": "open_sshd_config_file",
9 | },
10 | {
11 | "caption": "SSH Config: Open Authorized Keys File",
12 | "command": "open_authorized_keys_file",
13 | },
14 | {
15 | "caption": "SSH Config: Open Known Hosts File",
16 | "command": "open_known_hosts_file",
17 | },
18 | {
19 | "caption": "SSH Config: Settings",
20 | "command": "edit_settings",
21 | "args": {
22 | "base_file": "${packages}/SSH Config/SSH Config.sublime-settings",
23 | "default": "{\n\t$0\n}\n",
24 | }
25 | },
26 | ]
27 |
--------------------------------------------------------------------------------
/Comment.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 |
9 | source.pem,
10 | source.ssh_config,
11 | source.sshd_config,
12 | text.authorized_keys,
13 | text.known_hosts
14 |
15 | settings
16 |
17 | shellVariables
18 |
19 |
20 | name
21 | TM_COMMENT_START
22 | value
23 | #
24 |
25 |
26 | name
27 | TM_COMMENT_START_2
28 | value
29 | ;
30 |
31 |
32 |
33 | uuid
34 | 4a9bc95a-75b5-4d4f-920e-41a4583ca30b
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Embedded Bash.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # See http://www.sublimetext.com/docs/3/syntax.html
4 | scope: source.shell.bash.ssh_config
5 | version: 2
6 | hidden: true
7 |
8 | extends: Packages/ShellScript/Bash.sublime-syntax
9 |
10 | contexts:
11 | main:
12 | - meta_prepend: true
13 | - include: ssh-config-none
14 |
15 | parameter-expansions:
16 | - meta_prepend: true
17 | - include: ssh-config-char-escapes
18 |
19 | string-prototype:
20 | - meta_prepend: true
21 | - include: ssh-config-char-escapes
22 |
23 | ssh-config-char-escapes:
24 | - match: '{{ssh_config_character_escapes}}'
25 | scope: constant.character.escape.ssh_config
26 |
27 | ssh-config-none:
28 | - match: none
29 | scope: constant.language.set.ssh_config
30 | pop: true
31 | #- include: scope:source.ssh_config#pop-nl-as-value
32 |
33 | variables:
34 | # requires Packages PR #4024
35 | # lazy escaping from heredoc as shell maybe indented
36 | no_indent: ^\s*
37 | tab_indent: ^\s*
38 | ssh_config_character_escapes: '%[%hpr]'
39 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSH Config KnownHostsCommand).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh.knownhostscommand
4 | version: 2
5 | hidden: true
6 |
7 | extends: Shell (for SSH Config).sublime-syntax
8 |
9 | variables:
10 | ssh_config_character_escapes: (?:%[%CdfHhIiKkLlnprtu])
11 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSH Config LocalCommand).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh.localcommand
4 | version: 2
5 | hidden: true
6 |
7 | extends: Shell (for SSH Config).sublime-syntax
8 |
9 | variables:
10 | ssh_config_character_escapes: (?:%[%CdhikLlnpruT])
11 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSH Config ProxyCommand).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh.proxycommand
4 | version: 2
5 | hidden: true
6 |
7 | extends: Shell (for SSH Config).sublime-syntax
8 |
9 | variables:
10 | ssh_config_character_escapes: (?:%[%hnpr])
11 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSH Config).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh
4 | version: 2
5 | hidden: true
6 |
7 | extends: Packages/ShellScript/Shell-Unix-Generic.sublime-syntax
8 |
9 | contexts:
10 |
11 | parameter-expansions:
12 | - meta_prepend: true
13 | - include: ssh-config-char-escapes
14 |
15 | string-prototype:
16 | - meta_prepend: true
17 | - include: ssh-config-char-escapes
18 |
19 | ssh-config-char-escapes:
20 | - match: '%%'
21 | scope: constant.character.escape.ssh
22 | - match: '{{ssh_config_character_escapes}}'
23 | scope: constant.other.placeholder.ssh
24 |
25 | variables:
26 | # lazy escaping from heredoc as shell maybe indented
27 | no_indent: ^\s*
28 | tab_indent: ^\s*
29 | ssh_config_character_escapes: (?:%[%CdhikLlnpru])
30 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSHD Config AuthorizedKeysCommand).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh.authorizedkeyscommand
4 | version: 2
5 | hidden: true
6 |
7 | extends: Shell (for SSH Config).sublime-syntax
8 |
9 | variables:
10 | ssh_config_character_escapes: (?:%[%CDfhkstUu])
11 |
--------------------------------------------------------------------------------
/Embeddings/Shell (for SSHD Config AuthorizedPrincipalsCommand).sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | scope: source.shell.embedded.ssh.authorizedprincipalscommand
4 | version: 2
5 | hidden: true
6 |
7 | extends: Shell (for SSH Config).sublime-syntax
8 |
9 | variables:
10 | ssh_config_character_escapes: (?:%[%CDFfhiKksTtUu])
11 |
--------------------------------------------------------------------------------
/Known Hosts.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # https://www.sublimetext.com/docs/syntax.html
4 | # https://man7.org/linux/man-pages/man8/sshd.8.html#SSH_KNOWN_HOSTS_FILE_FORMAT
5 | # https://man.openbsd.org/sshd.8#SSH_KNOWN_HOSTS_FILE_FORMAT
6 | name: Known Hosts
7 | scope: text.known_hosts
8 | version: 2
9 | extends: SSH Crypto.sublime-syntax
10 |
11 | file_extensions:
12 | - known_hosts
13 |
14 | hidden_file_extensions:
15 | - known_hosts.old
16 |
17 | contexts:
18 | main:
19 | - include: comments-number-sign
20 | - match: ^((@)(?:revoked|cert-authority))?
21 | captures:
22 | 1: meta.annotation.known_hosts
23 | variable.annotation.known_hosts
24 | 2: punctuation.definition.annotation.known_hosts
25 | push:
26 | - meta_scope: meta.line.known-host.known_hosts
27 | - include: pop-before-nl
28 | - include: pop-nl
29 | - include: punctuation-comma-sequence
30 | - include: ssh-fingerprint-with-label
31 | - include: ssh-key-types
32 | - include: hostname-or-ip-value
33 |
34 | hostname-or-ip-value:
35 | # Negation
36 | - include: operator-exclamation
37 |
38 | # Bracketed host
39 | - match: \[
40 | scope: punctuation.definition.string.begin.known_hosts
41 | push:
42 | - meta_scope: meta.brackets.host.known_hosts
43 | - match: (\])(?:(:)({{zero_to_65535}}))?
44 | captures:
45 | 1: punctuation.definition.string.end.known_hosts
46 | 2: punctuation.separator.sequence.known_hosts
47 | 3: meta.number.integer.decimal.known_hosts
48 | constant.numeric.port-number.known_hosts
49 | pop: 1
50 | - include: operator-exclamation
51 | - include: ip-addresses
52 | - match: ''
53 | push:
54 | - meta_scope: meta.string.host.known_hosts
55 | string.quoted.other.known_hosts
56 | - match: (?=,|\])
57 | pop: 1
58 | - include: wildcards
59 | - include: punctuation-dot-sequence
60 |
61 | # IP
62 | - include: ip-addresses
63 |
64 | # Hashed host
65 | - match: (\|)(\d+)(\|)({{base64_char}}{27}=)(\|)({{base64_char}}{27}=)
66 | scope: meta.string.host.obfuscated.known_hosts
67 | captures:
68 | 1: punctuation.definition.known_hosts
69 | 2: constant.numeric.integer.algorithm.known_hosts
70 | 3: punctuation.definition.known_hosts
71 | 4: string.unquoted.salt.known_hosts
72 | 5: punctuation.definition.known_hosts
73 | 6: string.unquoted.hash.known_hosts
74 |
75 | # Normal host
76 | - match: (?=\S)
77 | push: hostname
78 |
79 | hostname:
80 | - meta_content_scope: meta.string.host.known_hosts
81 | string.unquoted.known_hosts
82 | - match: (?=[,\[\s])
83 | pop: 1
84 | - include: wildcards
85 | - include: punctuation-dot-sequence
86 |
--------------------------------------------------------------------------------
/PEM.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # Not strictly just PEM. Includes some other stuff, just to be helpful.
4 |
5 | # https://www.sublimetext.com/docs/syntax.html
6 | # https://datatracker.ietf.org/doc/html/rfc7468 (PEM)
7 | # https://datatracker.ietf.org/doc/html/rfc4716 (OpenSSH)
8 | # https://datatracker.ietf.org/doc/html/rfc4880 (OpenPGP)
9 |
10 | name: Private Encrypted Mail (PEM) Key
11 | scope: source.pem
12 | version: 2
13 | extends: SSH Common.sublime-syntax
14 |
15 | file_extensions:
16 | - pem
17 |
18 | hidden_file_extensions:
19 | - cer
20 | - cert
21 | - crt
22 | - id_dsa
23 | - id_ed25519
24 | - id_ed448
25 | - id_eddsa
26 | - id_rsa
27 |
28 | first_line_match: |-
29 | ^(?x:
30 | (-{4}[ -])
31 | BEGIN [ ]
32 | ( (?:[0-9A-Z -]+[ ])? (?: PUBLIC | PRIVATE ) [ ] KEY
33 | | (?:[0-9A-Z -]+[ ])? CERTIFICATE (?:[ ] REQUEST )?
34 | | (?:[0-9A-Z -]+[ ])? PARAMETERS
35 | | X509 [ ] CRL
36 | | PKCS7
37 | | PKCS [ ] \#7 [ ] SIGNED [ ] DATA
38 | | CMS
39 | | PGP [ ] MESSAGE (?:,[ ] PART [ ] \d+(?:/\d+)?)?
40 | | PGP [ ] (?: PUBLIC | PRIVATE ) [ ] KEY [ ] BLOCK
41 | | PGP [ ] SIGNATURE
42 | )
43 | ([ -]-{4})
44 | )
45 |
46 | contexts:
47 | main:
48 | - include: comments-number-sign
49 | - match: |-
50 | ^(?x:
51 | (-{4}[ -])
52 | BEGIN [ ]
53 | ( (?:[0-9A-Z -]+[ ])? (?: PUBLIC | PRIVATE ) [ ] KEY
54 | | (?:[0-9A-Z -]+[ ])? CERTIFICATE (?:[ ] REQUEST )?
55 | | (?:[0-9A-Z -]+[ ])? PARAMETERS
56 | | X509 [ ] CRL
57 | | PKCS7
58 | | PKCS [ ] \#7 [ ] SIGNED [ ] DATA
59 | | CMS
60 | | PGP [ ] MESSAGE (?:,[ ] PART [ ] \d+(?:/\d+)?)?
61 | | PGP [ ] (?: PUBLIC | PRIVATE ) [ ] KEY [ ] BLOCK
62 | | PGP [ ] SIGNATURE
63 | )
64 | ([ -]-{4})
65 | )
66 | scope: punctuation.section.block.begin.pem
67 | push: pem-key
68 | - include: setext-headings
69 |
70 | pem-key:
71 | - meta_scope: meta.block.pem
72 | - match: ^\1END \2\3
73 | scope: punctuation.section.block.end.pem
74 | pop: 1
75 | - include: comments-number-sign
76 | - match: ^{{base64_char}}{1,100}(={0,3})?$
77 | scope: string.unquoted.pem
78 | captures:
79 | 1: punctuation.definition.string.end.pem
80 | - include: headers
81 |
82 | headers:
83 | - match: ^(?i:(Comment))(:)
84 | captures:
85 | 1: keyword.other.comment.pem
86 | 2: punctuation.separator.key-value.pem
87 | push:
88 | - meta_content_scope: comment.line.pem
89 | - include: header-end
90 | - match: ^((x-)?[\w-]+)(:)
91 | captures:
92 | 1: meta.mapping.key.pem keyword.other.pem
93 | 2: variable.annotation.pem
94 | 3: punctuation.separator.key-value.pem
95 | push: header-value
96 |
97 | header-value:
98 | - meta_scope: meta.mapping.pem
99 | - meta_content_scope: meta.mapping.value.pem
100 | - include: header-end
101 | - include: punctuation-comma-sequence
102 | - match: =
103 | scope: punctuation.separator.key-value.pem
104 | - match: '\b(?x: ENCRYPTED | MIC-ONLY | MIC-CLEAR )\b'
105 | scope: storage.modifier.pem
106 | - match: |-
107 | \b(?x:
108 | ( AES-(?:128|256)-CBC
109 | | DES-(?:EDE3-)?CBC
110 | )\b
111 | ( (,) .+ )?
112 | )
113 | captures:
114 | 1: meta.function-call.identifier.pem
115 | support.function.cipher.ssh.crypto
116 | 2: meta.function-call.arguments.pem
117 | 3: punctuation.section.arguments.begin.pem
118 |
119 | header-end:
120 | - match: \\\r?\n
121 | scope: punctuation.separator.continuation.line.pem
122 | push:
123 | - match: ^
124 | pop: 1
125 | - match: (?=$)
126 | pop: 1
127 |
128 | setext-headings:
129 | - match: ^(?:=+|(?=\S))
130 | branch_point: maybe-heading
131 | branch:
132 | - setext-heading
133 | - not-heading
134 |
135 | setext-heading:
136 | - meta_scope: markup.heading.pem
137 | - meta_content_scope: entity.name.section.pem
138 | - match: ^(={5,})[ \t]*$(\n?)
139 | captures:
140 | 1: punctuation.definition.heading.setext.pem
141 | 2: meta.whitespace.newline.pem
142 | pop: 1
143 | - match: ^(?!=+)$
144 | fail: maybe-heading
145 |
146 | not-heading:
147 | - match: ''
148 | pop: 1
149 |
--------------------------------------------------------------------------------
/PEM.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | scope
5 | source.pem entity.name.section
6 | settings
7 |
8 | showInSymbolList
9 | 1
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/SSH Common.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # This file is some kind of internal library which is used to store
4 | # common rules which are used by the visible syntax files.
5 | name: SSH Common
6 | scope: text.ssh.common
7 | version: 2
8 | hidden: true
9 |
10 | contexts:
11 | main:
12 | - include: comments-number-sign
13 |
14 | ###[ COMMENTS ]################################################################
15 |
16 | comments:
17 | - include: comments-number-sign
18 | - include: comments-semicolon
19 |
20 | comments-number-sign:
21 | - match: ^\s*(#+)
22 | captures:
23 | 1: comment.line.number-sign.ssh.common punctuation.definition.comment.ssh.common
24 | push:
25 | - meta_content_scope: comment.line.number-sign.ssh.common
26 | - match: \n
27 | scope: comment.line.number-sign.ssh.common
28 | pop: true
29 |
30 | comments-semicolon:
31 | - match: ^\s*(;+)
32 | captures:
33 | 1: comment.line.semi-colon.ssh.common punctuation.definition.comment.ssh.common
34 | push:
35 | - meta_content_scope: comment.line.semi-colon.ssh.common
36 | - include: pop-nl
37 |
38 | ###[ COMPONENTS ]##############################################################
39 |
40 | operator-exclamation:
41 | - match: '!'
42 | scope: keyword.operator.logical.ssh.common
43 |
44 | wildcards:
45 | - match: \*
46 | scope: constant.other.wildcard.asterisk.ssh.common
47 | - match: \?
48 | scope: constant.other.wildcard.questionmark.ssh.common
49 |
50 | punctuation-comma-sequence:
51 | - match: ','
52 | scope: punctuation.separator.sequence.ssh.common
53 |
54 | punctuation-dot-sequence:
55 | - match: \.
56 | scope: punctuation.separator.sequence.ssh.common
57 |
58 | punctuation-at:
59 | - match: '@'
60 | scope: punctuation.separator.sequence.ssh.common
61 |
62 | ssh-fingerprint:
63 | - match: '{{ssh_fingerprint}}'
64 | scope: variable.other.fingerprint.ssh.common
65 |
66 | ssh-fingerprint-with-label:
67 | - match: '{{ssh_fingerprint}}'
68 | scope: variable.other.fingerprint.ssh.common
69 | push: expect-fingerprint-label
70 |
71 | expect-fingerprint-label:
72 | - include: pop-before-nl
73 | - match: (?=\S)
74 | push:
75 | - meta_scope: meta.annotation.identifier.ssh.common
76 | string.unquoted.ssh.common
77 | - match: '(?=[ \t]*$)'
78 | pop: 1
79 | - include: punctuation-at
80 |
81 | time-values:
82 | # https://man.openbsd.org/sshd_config.5#TIME_FORMATS
83 | # seconds, minutes, hours, days, weeks
84 | - match: \b(?=[\dsmhdw]*\d[smhdw][\s,"])
85 | push:
86 | - meta_scope: meta.constant.time.ssh.common
87 | meta.number.integer.decimal.ssh.common
88 | - match: (?=[\s,"])
89 | pop: 1
90 | - match: (\d+)([smhdw])
91 | captures:
92 | 1: constant.numeric.value.ssh.common
93 | 2: constant.numeric.suffix.ssh.common
94 |
95 | bytes-values:
96 | - match: \b(\d+)([KMG])(?=[\s,"])
97 | scope: meta.constant.bytes.ssh.common
98 | meta.number.integer.other.ssh.common
99 | captures:
100 | 1: constant.numeric.value.ssh.common
101 | 2: constant.numeric.suffix.ssh.common
102 |
103 | mac-addresses:
104 | - match: (?:[0-9a-fA-F]{2}:){5}(?:[0-9a-fA-F]{2})
105 | scope: entity.name.constant.mac-address.ssh.common
106 |
107 | ipv4:
108 | - match: '\b{{ipv4}}\b'
109 | scope: meta.number.integer.other.ssh.common constant.numeric.ip-address.v4.ssh.common
110 |
111 | ipv6:
112 | - match: '{{ipv6}}'
113 | scope: meta.number.integer.other.ssh.common constant.numeric.ip-address.v6.ssh.common
114 |
115 | ipv6-square-bracket:
116 | - match: (\[){{ipv6}}(\])
117 | scope: meta.number.integer.other.ssh.common constant.numeric.ip-address.v6.ssh.common
118 | captures:
119 | 1: punctuation.definition.constant.begin.ssh.common
120 | 2: punctuation.definition.constant.end.ssh.common
121 |
122 | ip-addresses:
123 | - include: ipv6
124 | - include: ipv4
125 |
126 | ipv4-with-cidr:
127 | - match: \b({{ipv4}})(?:(/)({{zero_to_32}}))?\b
128 | captures:
129 | 1: meta.number.integer.other.ssh.common constant.numeric.ip-address.v4.ssh.common
130 | 2: punctuation.separator.sequence.ssh.common
131 | 3: constant.other.range.ssh.common
132 |
133 | ipv6-with-cidr:
134 | - match: ({{ipv6}})(?:(/)({{zero_to_128}})\b)?
135 | captures:
136 | 1: meta.number.integer.other.ssh.common constant.numeric.ip-address.v6.ssh.common
137 | 2: punctuation.separator.sequence.ssh.common
138 | 3: constant.other.range.ssh.common
139 |
140 | ip-addresses-with-cidr:
141 | - include: ipv6-with-cidr
142 | - include: ipv4-with-cidr
143 |
144 | port-numbers:
145 | - match: \b{{zero_to_65535}}(?![\w:])
146 | scope: meta.number.integer.decimal.ssh.common
147 | constant.numeric.port-number.ssh.common
148 |
149 | match-all:
150 | - match: '\b(?xi: all )\b'
151 | scope: constant.language.boolean.true.ssh.common
152 |
153 | none:
154 | - match: \bnone\b
155 | scope: constant.language.null.ssh.common
156 |
157 | any:
158 | - match: \bany\b
159 | scope: constant.language.set.ssh.common
160 |
161 | boolean:
162 | - match: \byes\b
163 | scope: constant.language.boolean.true.ssh.common
164 | - match: \bno\b
165 | scope: constant.language.boolean.false.ssh.common
166 |
167 | boolean-with-typing:
168 | - include: boolean
169 | # Consume while typing as well, but unscoped
170 | - match: \b(?:ye?|n)\b
171 |
172 | log-level:
173 | - match: '\b(?x: QUIET | FATAL | ERROR | INFO | DEBUG[1-3]? )\b'
174 | scope: constant.language.log-level.ssh.common
175 |
176 | possibly-quoted-value:
177 | - meta_content_scope: meta.mapping.value.ssh.common
178 | - match: '"'
179 | scope: punctuation.definition.string.begin.ssh.common
180 | push:
181 | - meta_scope: string.quoted.double.ssh.common
182 | - match: (")(?:\s*(\S.*))?
183 | captures:
184 | 1: punctuation.definition.string.end.ssh.common
185 | 2: invalid.illegal.ssh.common
186 | pop: 1
187 | - match: \n|$
188 | scope: invalid.illegal.unclosed-string.ssh.common
189 | pop: 2
190 | - match: (?=\S)
191 | push:
192 | - meta_content_scope: string.unquoted.ssh.common
193 | - include: pop-before-nl
194 | - include: pop-nl
195 |
196 | string-patterns:
197 | # https://man7.org/linux/man-pages/man5/ssh_config.5.html#PATTERNS
198 | # https://man.openbsd.org/ssh_config.5#PATTERNS
199 | # https://man7.org/linux/man-pages/man5/sshd_config.5.html#PATTERNS
200 | # https://man.openbsd.org/sshd_config.5#PATTERNS
201 | - include: punctuation-comma-sequence
202 | - include: operator-exclamation
203 | - match: '"'
204 | scope: punctuation.definition.string.begin.ssh.common
205 | push:
206 | - meta_content_scope: string.quoted.double.ssh.common
207 | - match: '"'
208 | scope: punctuation.definition.string.end.ssh.common
209 | pop: 1
210 | - include: wildcards
211 | - match: (?=\S)
212 | push:
213 | - meta_content_scope: string.unquoted.ssh.common
214 | - match: (?=[,!\s])
215 | pop: 1
216 | - include: wildcards
217 |
218 | paths:
219 | # This is just heuristic. Expect failures.
220 | - match: (?=~?[\w.\-?*${}%]*/[\w.\-?*${}%]?)
221 | push:
222 | - meta_scope: meta.path.ssh.common
223 | entity.name.ssh.common
224 | - match: (?=[\s,"])
225 | pop: 1
226 | - match: ~[\w\-.]*
227 | scope: variable.language.home.ssh.common
228 | - match: (/)(?:(\.{1,2})(?=/)|\.(?!/))?
229 | captures:
230 | 1: punctuation.separator.path.ssh.common
231 | 2: constant.other.placeholder.ssh.common
232 | - match: \.(?=[\w*?%])
233 | scope: punctuation.separator.sequence.ssh.common
234 | - include: wildcards
235 | - include: tokens
236 | - include: environment-variables
237 |
238 | none-command-values:
239 | - match: \s*(none)\b[ \t]*$
240 | captures:
241 | 1: constant.language.null.ssh.common
242 | - match: \s*((")(none)("))[ \t]*$
243 | captures:
244 | 1: string.quoted.double.ssh.common
245 | 2: punctuation.definition.string.begin.ssh.common
246 | 3: constant.language.null.ssh.common
247 | 4: punctuation.definition.string.end.ssh.common
248 |
249 | tokens: []
250 | environment-variables: []
251 |
252 | ###[ PROTOTYPE ]###############################################################
253 |
254 | pop-nl:
255 | - match: \n
256 | pop: 1
257 |
258 | pop-before-nl:
259 | - match: (?=\n)
260 | pop: 1
261 |
262 | ###############################################################################
263 |
264 | variables:
265 | base64_char: '[a-zA-Z0-9+/]'
266 | ssh_fingerprint: (?:AAAA(?:E2V|[BC]3N){{base64_char}}+={0,3})
267 | # ipv4_basic: (?:(?:\d{1,3}\.){3}\d{1,3})
268 | # ipv6_basic: (?i:(?:[a-f0-9:]+:+)+[a-f0-9]+)
269 | zero_to_32: (?:3[0-2]|[12][0-9]|[0-9])
270 | zero_to_128: (?:12[0-8]|1[01][0-9]|[1-9][0-9]|[0-9])
271 | zero_to_255: (?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9][0-9])|(?:[1-9][0-9])|[0-9])
272 | zero_to_65535: (?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])
273 | ipv4: (?:(?:{{zero_to_255}}\.){3}{{zero_to_255}})
274 | ipv6: |-
275 | (?xi:
276 | (?:::(?:ffff(?::0{1,4}){0,1}:){0,1}{{ipv4}}) # ::255.255.255.255 ::ffff:255.255.255.255 ::ffff:0:255.255.255.255 (IPv4-mapped IPv6 addresses and IPv4-translated addresses)
277 | |(?:(?:[0-9a-f]{1,4}:){1,4}:{{ipv4}}) # 2001:db8:3:4::192.0.2.33 64:ff9b::192.0.2.33 (IPv4-Embedded IPv6 Address)
278 | |(?:fe80:(?::[0-9a-f]{1,4}){0,4}%[0-9a-z]{1,}) # fe80::7:8%eth0 fe80::7:8%1 (link-local IPv6 addresses with zone index)
279 | |(?:(?:[0-9a-f]{1,4}:){7,7} [0-9a-f]{1,4}) # 1:2:3:4:5:6:7:8
280 | | (?:[0-9a-f]{1,4}: (?::[0-9a-f]{1,4}){1,6}) # 1::3:4:5:6:7:8 1::3:4:5:6:7:8 1::8
281 | |(?:(?:[0-9a-f]{1,4}:){1,2}(?::[0-9a-f]{1,4}){1,5}) # 1::4:5:6:7:8 1:2::4:5:6:7:8 1:2::8
282 | |(?:(?:[0-9a-f]{1,4}:){1,3}(?::[0-9a-f]{1,4}){1,4}) # 1::5:6:7:8 1:2:3::5:6:7:8 1:2:3::8
283 | |(?:(?:[0-9a-f]{1,4}:){1,4}(?::[0-9a-f]{1,4}){1,3}) # 1::6:7:8 1:2:3:4::6:7:8 1:2:3:4::8
284 | |(?:(?:[0-9a-f]{1,4}:){1,5}(?::[0-9a-f]{1,4}){1,2}) # 1::7:8 1:2:3:4:5::7:8 1:2:3:4:5::8
285 | |(?:(?:[0-9a-f]{1,4}:){1,6} :[0-9a-f]{1,4}) # 1::8 1:2:3:4:5:6::8 1:2:3:4:5:6::8
286 | |(?:(?:[0-9a-f]{1,4}:){1,7} :) # 1:: 1:2:3:4:5:6:7::
287 | |(?::(?:(?::[0-9a-f]{1,4}){1,7}|:)) # ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::
288 | )
289 |
--------------------------------------------------------------------------------
/SSH Config.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "default_file_locations": {
3 | "windows": {
4 | "ssh_config": "%USERPROFILE%\\.ssh\\config",
5 | "sshd_config": "%PROGRAMDATA%\\ssh\\sshd_config",
6 | "known_hosts": "%USERPROFILE%\\.ssh\\known_hosts",
7 | "authorized_keys": "%USERPROFILE%\\.ssh\\authorized_keys",
8 | },
9 | "osx": {
10 | "ssh_config": "~/.ssh/config",
11 | "sshd_config": "/etc/ssh/sshd_config",
12 | "known_hosts": "~/.ssh/known_hosts",
13 | "authorized_keys": "~/.ssh/authorized_keys",
14 | },
15 | "linux": {
16 | "ssh_config": "~/.ssh/config",
17 | "sshd_config": "/etc/ssh/sshd_config",
18 | "known_hosts": "~/.ssh/known_hosts",
19 | "authorized_keys": "~/.ssh/authorized_keys",
20 | },
21 | },
22 |
23 | // A map of file types to their place on disk to override
24 | // the default locations
25 | // Map keys: ssh_config, sshd_config, known_hosts,
26 | // authorized_keys
27 | "file_locations": null,
28 |
29 | // Tell the "Open" command for SSH Config to apply the syntax
30 | // highlighting, even if the file extension is not configured.
31 | "force_ssh_config_syntax": true,
32 | }
33 |
--------------------------------------------------------------------------------
/SSH Config.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # https://www.sublimetext.com/docs/syntax.html
4 | # https://man7.org/linux/man-pages/man5/ssh_config.5.html
5 | # https://man.openbsd.org/ssh_config.5
6 | name: SSH Config
7 | scope: source.ssh_config
8 | version: 2
9 | extends: SSH Crypto.sublime-syntax
10 |
11 | file_extensions:
12 | - ssh_config
13 |
14 | contexts:
15 | main:
16 | - include: comments
17 | - include: host-block
18 | - include: match
19 | - include: naked-parameters
20 |
21 | parameters:
22 | - include: comments
23 | - include: parameter-hostname
24 | - include: parameter-localcommand
25 | - include: parameter-proxycommand
26 | - include: parameter-proxyjump
27 | - include: parameter-knownhostscommand
28 | - include: parameter-with-boolean-values
29 | - include: parameter-with-boolean-values-plus-ask
30 | - include: parameter-generic
31 |
32 | tokens:
33 | - match: '%%'
34 | scope: constant.character.escape.ssh_config
35 | - match: '{{tokens_standard}}'
36 | scope: constant.other.placeholder.ssh_config
37 |
38 | pop-before-match-parameter:
39 | - include: pop-before-nl
40 | - match: '(?=\s*{{match_parameters}})'
41 | pop: 1
42 |
43 | pop-before-next-host:
44 | - match: '(?=^\s*(?xi: Host | Match )\b)'
45 | pop: 1
46 |
47 | naked-parameters:
48 | - match: (?=\S)
49 | push:
50 | - meta_scope: meta.block.naked.ssh_config
51 | - include: pop-before-next-host
52 | - include: parameters
53 |
54 | host-pattern:
55 | - meta_content_scope: entity.name.label.host-alias.ssh_config
56 | - include: punctuation-dot-sequence
57 | - include: wildcards
58 | - match: (?=\s|,)
59 | pop: 1
60 |
61 | host-patterns:
62 | # https://man7.org/linux/man-pages/man5/ssh_config.5.html#PATTERNS
63 | # https://man.openbsd.org/ssh_config.5#PATTERNS
64 | - include: operator-exclamation
65 | - include: punctuation-comma-sequence
66 | - match: (?=\S)
67 | push: host-pattern
68 |
69 | environment-variables:
70 | # https://man7.org/linux/man-pages/man5/ssh_config.5.html#ENVIRONMENT_VARIABLES
71 | - include: scope:source.shell#parameter-expansions
72 |
73 | ###[ HOST ]####################################################################
74 |
75 | host-block:
76 | - match: ^\s*((?i:Host))\b
77 | captures:
78 | 1: keyword.declaration.host-alias.ssh_config
79 | set: host-aliases
80 |
81 | host-aliases:
82 | - meta_scope: meta.block.host.ssh_config
83 | - match: (?=\n)
84 | set: host-body
85 | - include: host-patterns
86 |
87 | host-body:
88 | - meta_scope: meta.block.host.ssh_config
89 | - include: pop-before-next-host
90 | - include: parameters
91 |
92 | ###[ MATCH ]###################################################################
93 |
94 | match:
95 | - match: ^\s*((?i:Match))\b
96 | captures:
97 | 1: keyword.control.conditional.ssh_config
98 | set: match-conditions
99 |
100 | match-conditions:
101 | - meta_scope: meta.block.match.ssh_config
102 | - meta_content_scope: meta.statement.conditional.ssh_config
103 |
104 | - match: \n
105 | set: match-body
106 |
107 | - include: operator-exclamation
108 | # Match predicates with no arguments
109 | - include: match-all
110 | - match: '\b(?xi: canonical | final )\b'
111 | scope: keyword.other.ssh_config
112 |
113 | # Match predicates with shell
114 | # quoted shell
115 | - match: '\b((?xi: exec ))\b\s*(\")'
116 | captures:
117 | 1: keyword.other.ssh_config
118 | 2: string.quoted.double.ssh_config
119 | punctuation.definition.string.begin.ssh_config
120 | escape: (?
2 |
9 | host
10 | source.ssh_config
11 | Create new Host entry
12 |
13 |
--------------------------------------------------------------------------------
/Snippets/match.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | match
8 | source.ssh_config
9 | Create new Match entry
10 |
11 |
--------------------------------------------------------------------------------
/Support/Authorized Keys.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "text.authorized_keys - comment - string",
3 | "completions": [
4 | {
5 | "trigger": "agent-forwarding",
6 | "contents": "agent-forwarding",
7 | "kind": [
8 | "keyword",
9 | "o",
10 | "Options"
11 | ],
12 | "details": "Reenable restrict
ed agent forwarding"
13 | },
14 | {
15 | "trigger": "cert-authority",
16 | "contents": "cert-authority",
17 | "kind": [
18 | "keyword",
19 | "o",
20 | "Options"
21 | ],
22 | "details": "Mark key as a CA"
23 | },
24 | {
25 | "trigger": "command",
26 | "contents": "command",
27 | "kind": [
28 | "keyword",
29 | "o",
30 | "Options"
31 | ],
32 | "details": "Run command when key is used"
33 | },
34 | {
35 | "trigger": "command",
36 | "contents": "command=\"${0}\"",
37 | "kind": "snippet",
38 | "details": "Run command when key is used"
39 | },
40 | {
41 | "trigger": "environment",
42 | "contents": "environment",
43 | "kind": [
44 | "keyword",
45 | "o",
46 | "Options"
47 | ],
48 | "details": "Set one environment var"
49 | },
50 | {
51 | "trigger": "environment",
52 | "contents": "environment=\"${1:NAME}=${2:value}\"",
53 | "kind": "snippet",
54 | "details": "Set one environment var"
55 | },
56 | {
57 | "trigger": "expiry-time",
58 | "contents": "expiry-time",
59 | "kind": [
60 | "keyword",
61 | "o",
62 | "Options"
63 | ],
64 | "details": "Give this key an expiration"
65 | },
66 | {
67 | "trigger": "expiry-time",
68 | "contents": "expiry-time=\"${0:YYYYMMDD}\"",
69 | "kind": "snippet",
70 | "details": "Give this key an expiration"
71 | },
72 | {
73 | "trigger": "from",
74 | "contents": "from",
75 | "kind": [
76 | "keyword",
77 | "o",
78 | "Options"
79 | ],
80 | "details": "Allowlist remote hosts"
81 | },
82 | {
83 | "trigger": "from",
84 | "contents": "from=\"${0:hosts}\"",
85 | "kind": "snippet",
86 | "details": "Allowlist remote hosts"
87 | },
88 | {
89 | "trigger": "no-agent-forwarding",
90 | "contents": "no-agent-forwarding",
91 | "kind": [
92 | "keyword",
93 | "o",
94 | "Options"
95 | ],
96 | "details": "Disable agent forwarding"
97 | },
98 | {
99 | "trigger": "no-port-forwarding",
100 | "contents": "no-port-forwarding",
101 | "kind": [
102 | "keyword",
103 | "o",
104 | "Options"
105 | ],
106 | "details": "Disable post forwarding"
107 | },
108 | {
109 | "trigger": "no-pty",
110 | "contents": "no-pty",
111 | "kind": [
112 | "keyword",
113 | "o",
114 | "Options"
115 | ],
116 | "details": "Disable tty allocation"
117 | },
118 | {
119 | "trigger": "no-user-rc",
120 | "contents": "no-user-rc",
121 | "kind": [
122 | "keyword",
123 | "o",
124 | "Options"
125 | ],
126 | "details": "Disable ~/.ssh/rc
execution"
127 | },
128 | {
129 | "trigger": "no-X11-forwarding",
130 | "contents": "no-X11-forwarding",
131 | "kind": [
132 | "keyword",
133 | "o",
134 | "Options"
135 | ],
136 | "details": "Disable X11 forwarding"
137 | },
138 | {
139 | "trigger": "permitlisten",
140 | "contents": "permitlisten",
141 | "kind": [
142 | "keyword",
143 | "o",
144 | "Options"
145 | ],
146 | "details": "Allowlist remote (-R
) port forwarding"
147 | },
148 | {
149 | "trigger": "permitlisten",
150 | "contents": "permitlisten=\"${1:[host:]port}\"",
151 | "kind": "snippet",
152 | "details": "Allowlist remote (-R
) port forwarding"
153 | },
154 | {
155 | "trigger": "permitopen",
156 | "contents": "permitopen",
157 | "kind": [
158 | "keyword",
159 | "o",
160 | "Options"
161 | ],
162 | "details": "Allowlist local (-L
) port forwarding"
163 | },
164 | {
165 | "trigger": "permitopen",
166 | "contents": "permitopen=\"${1:host}:${2:port}\"",
167 | "kind": "snippet",
168 | "details": "Allowlist local (-L
) port forwarding"
169 | },
170 | {
171 | "trigger": "port-forwarding",
172 | "contents": "port-forwarding",
173 | "kind": [
174 | "keyword",
175 | "o",
176 | "Options"
177 | ],
178 | "details": "Reenable restrict
ed port forwarding"
179 | },
180 | {
181 | "trigger": "principals",
182 | "contents": "principals",
183 | "kind": [
184 | "keyword",
185 | "o",
186 | "Options"
187 | ],
188 | "details": "Allowlist CA principals"
189 | },
190 | {
191 | "trigger": "principals",
192 | "contents": "principals=\"${0:principals}\"",
193 | "kind": "snippet",
194 | "details": "Allowlist CA principals"
195 | },
196 | {
197 | "trigger": "pty",
198 | "contents": "pty",
199 | "kind": [
200 | "keyword",
201 | "o",
202 | "Options"
203 | ],
204 | "details": "Reenable restrict
ed tty allocation"
205 | },
206 | {
207 | "trigger": "no-touch-required",
208 | "contents": "no-touch-required",
209 | "kind": [
210 | "keyword",
211 | "o",
212 | "Options"
213 | ],
214 | "details": "Skip security key touch"
215 | },
216 | {
217 | "trigger": "restrict",
218 | "contents": "restrict",
219 | "kind": [
220 | "keyword",
221 | "o",
222 | "Options"
223 | ],
224 | "details": "Enable all restrictions"
225 | },
226 | {
227 | "trigger": "tunnel",
228 | "contents": "tunnel",
229 | "kind": [
230 | "keyword",
231 | "o",
232 | "Options"
233 | ],
234 | "details": "Force specific tun
device"
235 | },
236 | {
237 | "trigger": "tunnel",
238 | "contents": "tunnel=\"${0:N}\"",
239 | "kind": "snippet",
240 | "details": "Force specific tun
device"
241 | },
242 | {
243 | "trigger": "user-rc",
244 | "contents": "user-rc",
245 | "kind": [
246 | "keyword",
247 | "o",
248 | "Options"
249 | ],
250 | "details": "Reenable restrict
ed ~/.ssh/rc
execution"
251 | },
252 | {
253 | "trigger": "X11-forwarding",
254 | "contents": "X11-forwarding",
255 | "kind": [
256 | "keyword",
257 | "o",
258 | "Options"
259 | ],
260 | "details": "Reenable restrict
ed X11 forwarding"
261 | }
262 | ]
263 | }
--------------------------------------------------------------------------------
/Support/Authorized Keys.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "word_separators": "\\()\"':,;<>~!@#$%^&|=[]{}`~",
3 | "auto_complete_selector": "text.authorized_keys - comment - string",
4 | }
5 |
--------------------------------------------------------------------------------
/Support/Config Values.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "(source.ssh_config | source.sshd_config) & meta.mapping.value - comment - source source",
3 | "completions": [
4 | {
5 | "trigger": "yes",
6 | "contents": "yes",
7 | "kind": ["variable", "c", "Constant"],
8 | "details": "Boolean",
9 | },
10 | {
11 | "trigger": "no",
12 | "contents": "no",
13 | "kind": ["variable", "c", "Constant"],
14 | "details": "Boolean",
15 | },
16 | {
17 | "trigger": "ask",
18 | "contents": "ask",
19 | "kind": ["variable", "c", "Constant"],
20 | },
21 | {
22 | "trigger": "confirm",
23 | "contents": "confirm",
24 | "kind": ["variable", "c", "Constant"],
25 | },
26 | {
27 | "trigger": "any",
28 | "contents": "any",
29 | "kind": ["variable", "c", "Constant"],
30 | "details": "Set",
31 | },
32 | {
33 | "trigger": "none",
34 | "contents": "none",
35 | "kind": ["variable", "c", "Constant"],
36 | "details": "Set",
37 | },
38 | {
39 | "trigger": "inet",
40 | "contents": "inet",
41 | "annotation": "IPv4",
42 | "kind": ["variable", "c", "Constant"],
43 | "details": "only IPv4",
44 | },
45 | {
46 | "trigger": "inet6",
47 | "contents": "inet6",
48 | "annotation": "IPv6",
49 | "kind": ["variable", "c", "Constant"],
50 | "details": "only IPv6",
51 | },
52 | {
53 | "trigger": "gssapi-with-mic\tauth",
54 | "contents": "gssapi-with-mic",
55 | "annotation": "auth",
56 | "kind": ["variable", "a", "Auth type"],
57 | "details": "GSSAPI authentication",
58 | },
59 | {
60 | "trigger": "hostbased\tauth",
61 | "contents": "hostbased",
62 | "annotation": "auth",
63 | "kind": ["variable", "a", "Auth type"],
64 | "details": "Host-based authentication",
65 | },
66 | {
67 | "trigger": "publickey\tauth",
68 | "contents": "publickey",
69 | "annotation": "auth",
70 | "kind": ["variable", "a", "Auth type"],
71 | "details": "Public key authentication",
72 | },
73 | {
74 | "trigger": "keyboard-interactive\tauth",
75 | "contents": "keyboard-interactive",
76 | "annotation": "auth",
77 | "kind": ["variable", "a", "Auth type"],
78 | "details": "PAM or BSDAuth authentication",
79 | },
80 | {
81 | "trigger": "password\tauth",
82 | "contents": "password",
83 | "annotation": "auth",
84 | "kind": ["variable", "a", "Auth type"],
85 | "details": "/etc/passwd
authentication",
86 | },
87 | ]
88 | }
89 |
--------------------------------------------------------------------------------
/Support/Indentation Rules SSH Config.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Indentation Rules
6 | scope
7 | source.ssh_config
8 | settings
9 |
10 | decreaseIndentPattern
11 | ^\s*(?i:Host|Match)(\s|$)
12 | increaseIndentPattern
13 | ^\s*(?i:Host|Match)(\s|$)
14 | unIndentedLinePattern
15 | ^\s*([#;].*)?$
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Indentation Rules SSHD Config.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Indentation Rules
6 | scope
7 | source.sshd_config
8 | settings
9 |
10 | decreaseIndentPattern
11 | ^\s*(?i:Match)(\s|$)
12 | increaseIndentPattern
13 | ^\s*(?i:Match)(\s|$)
14 | unIndentedLinePattern
15 | ^\s*([#;].*)?$
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Known Hosts.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | "word_separators": "\\()\"':,;<>~!@#$%^&|[]{}`~",
3 | }
4 |
--------------------------------------------------------------------------------
/Support/SSH Config - Match Conditions.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.ssh_config meta.block.match meta.statement.conditional",
3 | "completions": [
4 | {
5 | "trigger": "Canonical",
6 | "contents": "Canonical",
7 | "kind": [
8 | "keyword",
9 | "c",
10 | "Condition"
11 | ],
12 | "details": "Only match after hostname canonicalization"
13 | },
14 | {
15 | "trigger": "Exec",
16 | "contents": "Exec",
17 | "kind": [
18 | "keyword",
19 | "c",
20 | "Condition"
21 | ],
22 | "details": "Match if return code is 0"
23 | },
24 | {
25 | "trigger": "exec",
26 | "contents": "Exec \"${1:hostname -d | ! grep -q -E '^example\\.com'}\"",
27 | "kind": "snippet",
28 | "details": "Match if return code is 0"
29 | },
30 | {
31 | "trigger": "Host",
32 | "contents": "Host",
33 | "kind": [
34 | "keyword",
35 | "c",
36 | "Condition"
37 | ],
38 | "details": "Match if Host
in patterns"
39 | },
40 | {
41 | "trigger": "host",
42 | "contents": "Host ${1:*.example.com,*.example.org}",
43 | "kind": "snippet",
44 | "details": "Match if Host
in patterns"
45 | },
46 | {
47 | "trigger": "OriginalHost",
48 | "contents": "OriginalHost",
49 | "kind": [
50 | "keyword",
51 | "c",
52 | "Condition"
53 | ],
54 | "details": "Match if CLI-entered host in patterns"
55 | },
56 | {
57 | "trigger": "originalhost",
58 | "contents": "OriginalHost ${1:foo,*.jump}",
59 | "kind": "snippet",
60 | "details": "Match if CLI-entered host in patterns"
61 | },
62 | {
63 | "trigger": "User",
64 | "contents": "User",
65 | "kind": [
66 | "keyword",
67 | "c",
68 | "Condition"
69 | ],
70 | "details": "Match if target User
in patterns"
71 | },
72 | {
73 | "trigger": "user",
74 | "contents": "User ${1:user1,user2}",
75 | "kind": "snippet",
76 | "details": "Match if target User
in patterns"
77 | },
78 | {
79 | "trigger": "LocalUser",
80 | "contents": "LocalUser",
81 | "kind": [
82 | "keyword",
83 | "c",
84 | "Condition"
85 | ],
86 | "details": "Match if your current user in patterns"
87 | },
88 | {
89 | "trigger": "localuser",
90 | "contents": "LocalUser ${1:user1,user2}",
91 | "kind": "snippet",
92 | "details": "Match if your current user in patterns"
93 | },
94 | {
95 | "trigger": "LocalNetwork",
96 | "contents": "LocalNetwork",
97 | "kind": [
98 | "keyword",
99 | "c",
100 | "Condition"
101 | ],
102 | "details": "Match if current network devices in CIDRs"
103 | },
104 | {
105 | "trigger": "localnetwork",
106 | "contents": "LocalNetwork ${1:10.11.12.0/24}",
107 | "kind": "snippet",
108 | "details": "Match if current network devices in CIDRs"
109 | },
110 | {
111 | "trigger": "Command",
112 | "contents": "Command",
113 | "kind": [
114 | "keyword",
115 | "c",
116 | "Condition"
117 | ],
118 | "details": "Match RemoteCommand
to be run"
119 | },
120 | {
121 | "trigger": "command",
122 | "contents": "Command ${1:sftp}",
123 | "kind": "snippet",
124 | "details": "Match RemoteCommand
to be run"
125 | },
126 | {
127 | "trigger": "SessionType",
128 | "contents": "SessionType",
129 | "kind": [
130 | "keyword",
131 | "c",
132 | "Condition"
133 | ],
134 | "details": "Match SessionType
for host"
135 | },
136 | {
137 | "trigger": "sessiontype",
138 | "contents": "SessionType ${0:{ shell | exec | subsystem | none \\}}",
139 | "kind": "snippet",
140 | "details": "Match SessionType
for host"
141 | },
142 | {
143 | "trigger": "Tagged",
144 | "contents": "Tagged",
145 | "kind": [
146 | "keyword",
147 | "c",
148 | "Condition"
149 | ],
150 | "details": "Match if Tag
in patterns"
151 | },
152 | {
153 | "trigger": "tagged",
154 | "contents": "Tagged ${1:foo,*.jump}",
155 | "kind": "snippet",
156 | "details": "Match if Tag
in patterns"
157 | },
158 | {
159 | "trigger": "Version",
160 | "contents": "Version",
161 | "kind": [
162 | "keyword",
163 | "c",
164 | "Condition"
165 | ],
166 | "details": "Match version string of SSH client"
167 | },
168 | {
169 | "trigger": "version",
170 | "contents": "Version ${1:OpenSSH_10.0}",
171 | "kind": "snippet",
172 | "details": "Match version string of SSH client"
173 | },
174 | {
175 | "trigger": "All",
176 | "contents": "All",
177 | "kind": [
178 | "keyword",
179 | "c",
180 | "Condition"
181 | ],
182 | "details": "Always matches"
183 | },
184 | {
185 | "trigger": "Final",
186 | "contents": "Final",
187 | "kind": [
188 | "keyword",
189 | "c",
190 | "Condition"
191 | ],
192 | "details": "Reparse config and match only on this pass"
193 | }
194 | ]
195 | }
--------------------------------------------------------------------------------
/Support/SSHD Config - Match Conditions.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "source.sshd_config meta.block.match meta.statement.conditional",
3 | "completions": [
4 | {
5 | "trigger": "User",
6 | "contents": "User",
7 | "kind": [
8 | "keyword",
9 | "c",
10 | "Condition"
11 | ],
12 | "details": "Match if user matches patterns"
13 | },
14 | {
15 | "trigger": "user",
16 | "contents": "User ${1:user1,user2}",
17 | "kind": "snippet",
18 | "details": "Match if user matches patterns"
19 | },
20 | {
21 | "trigger": "Group",
22 | "contents": "Group",
23 | "kind": [
24 | "keyword",
25 | "c",
26 | "Condition"
27 | ],
28 | "details": "Match if user's group
s match patterns"
29 | },
30 | {
31 | "trigger": "group",
32 | "contents": "Group ${1:group1,group2}",
33 | "kind": "snippet",
34 | "details": "Match if user's group
s match patterns"
35 | },
36 | {
37 | "trigger": "Host",
38 | "contents": "Host",
39 | "kind": [
40 | "keyword",
41 | "c",
42 | "Condition"
43 | ],
44 | "details": "Match if hostname in patterns"
45 | },
46 | {
47 | "trigger": "host",
48 | "contents": "Host ${1:*.example.com,*.example.org}",
49 | "kind": "snippet",
50 | "details": "Match if hostname in patterns"
51 | },
52 | {
53 | "trigger": "LocalAddress",
54 | "contents": "LocalAddress",
55 | "kind": [
56 | "keyword",
57 | "c",
58 | "Condition"
59 | ],
60 | "details": "Match if listening NIC matches patterns"
61 | },
62 | {
63 | "trigger": "localaddress",
64 | "contents": "LocalAddress ${1:192.0.2.0,2001:db8::}",
65 | "kind": "snippet",
66 | "details": "Match if listening NIC matches patterns"
67 | },
68 | {
69 | "trigger": "LocalPort",
70 | "contents": "LocalPort",
71 | "kind": [
72 | "keyword",
73 | "c",
74 | "Condition"
75 | ],
76 | "details": "Match if listening port matches patterns"
77 | },
78 | {
79 | "trigger": "localport",
80 | "contents": "LocalPort ${1:22,2222}",
81 | "kind": "snippet",
82 | "details": "Match if listening port matches patterns"
83 | },
84 | {
85 | "trigger": "RDomain",
86 | "contents": "RDomain",
87 | "kind": [
88 | "keyword",
89 | "c",
90 | "Condition"
91 | ],
92 | "details": "Match if in the routing domain"
93 | },
94 | {
95 | "trigger": "rdomain",
96 | "contents": "RDomain ${0:4}",
97 | "kind": "snippet",
98 | "details": "Match if in the routing domain"
99 | },
100 | {
101 | "trigger": "Address",
102 | "contents": "Address",
103 | "kind": [
104 | "keyword",
105 | "c",
106 | "Condition"
107 | ],
108 | "details": "Match if connecting IP in CIDRs"
109 | },
110 | {
111 | "trigger": "address",
112 | "contents": "Address ${1:192.0.2.0/24,2001:db8::/32}",
113 | "kind": "snippet",
114 | "details": "Match if connecting IP in CIDRs"
115 | }
116 | ]
117 | }
--------------------------------------------------------------------------------
/Support/Symbol List Key Annotation.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List
6 | scope
7 |
8 | text.authorized_keys meta.annotation.identifier,
9 | text.known_hosts meta.annotation.identifier
10 |
11 | settings
12 |
13 | showInSymbolList
14 | 1
15 | symbolTransformation
16 |
17 | s/(.+)/Annotation: $1/g;
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Support/Symbol List SSH Aliases.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List: SSH Host Aliases
6 | scope
7 | source.ssh_config entity.name.label.host-alias
8 | settings
9 |
10 | showInSymbolList
11 | 1
12 | symbolTransformation
13 |
14 | s/(.+)/Alias: $1/g;
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Symbol List SSH Hosts.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List: SSH Hostnames
6 | scope
7 | source.ssh_config meta.string.host
8 | settings
9 |
10 | showInSymbolList
11 | 1
12 | symbolTransformation
13 |
14 | s/(.+)/Host: $1/g;
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Symbol List SSHD Keyword.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List: SSHD Keywords
6 | scope
7 |
8 | source.sshd_config meta.statement.conditional,
9 | source.sshd_config keyword - keyword.operator - meta.statement,
10 | source.sshd_config meta.keyword
11 |
12 | settings
13 |
14 | showInSymbolList
15 | 1
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Symbol List known_hosts Hostnames.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List: SSH Hostnames
6 | scope
7 | text.known_hosts meta.string.host
8 | settings
9 |
10 | showInSymbolList
11 | 1
12 | symbolTransformation
13 |
14 | s/(.+)/Host: $1/g;
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/Symbol List known_hosts IPs.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | name
5 | Symbol List: IP Addresses
6 | scope
7 | text.known_hosts constant.numeric.ip-address
8 | settings
9 |
10 | showInSymbolList
11 | 1
12 | symbolTransformation
13 |
14 | s/(.+)/IP: $1/g;
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Support/ciphers.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "(source.ssh_config | source.sshd_config) & meta.mapping.value - source source",
3 | "completions": [
4 | {
5 | "trigger": "AEAD_AES_128_GCM\tcipher",
6 | "contents": "AEAD_AES_128_GCM",
7 | "annotation": "cipher",
8 | "kind": [
9 | "function",
10 | "c",
11 | "Cipher"
12 | ]
13 | },
14 | {
15 | "trigger": "AEAD_AES_256_GCM\tcipher",
16 | "contents": "AEAD_AES_256_GCM",
17 | "annotation": "cipher",
18 | "kind": [
19 | "function",
20 | "c",
21 | "Cipher"
22 | ]
23 | },
24 | {
25 | "trigger": "aes128-ctr\tcipher",
26 | "contents": "aes128-ctr",
27 | "annotation": "cipher",
28 | "kind": [
29 | "function",
30 | "c",
31 | "Cipher"
32 | ]
33 | },
34 | {
35 | "trigger": "aes128-gcm@openssh.com\tcipher",
36 | "contents": "aes128-gcm@openssh.com",
37 | "annotation": "cipher",
38 | "kind": [
39 | "function",
40 | "c",
41 | "Cipher"
42 | ]
43 | },
44 | {
45 | "trigger": "aes128-gcm\tcipher",
46 | "contents": "aes128-gcm",
47 | "annotation": "cipher",
48 | "kind": [
49 | "function",
50 | "c",
51 | "Cipher"
52 | ]
53 | },
54 | {
55 | "trigger": "aes192-gcm@openssh.com\tcipher",
56 | "contents": "aes192-gcm@openssh.com",
57 | "annotation": "cipher",
58 | "kind": [
59 | "function",
60 | "c",
61 | "Cipher"
62 | ]
63 | },
64 | {
65 | "trigger": "aes192-ctr\tcipher",
66 | "contents": "aes192-ctr",
67 | "annotation": "cipher",
68 | "kind": [
69 | "function",
70 | "c",
71 | "Cipher"
72 | ]
73 | },
74 | {
75 | "trigger": "aes256-ctr\tcipher",
76 | "contents": "aes256-ctr",
77 | "annotation": "cipher",
78 | "kind": [
79 | "function",
80 | "c",
81 | "Cipher"
82 | ]
83 | },
84 | {
85 | "trigger": "aes256-gcm@openssh.com\tcipher",
86 | "contents": "aes256-gcm@openssh.com",
87 | "annotation": "cipher",
88 | "kind": [
89 | "function",
90 | "c",
91 | "Cipher"
92 | ]
93 | },
94 | {
95 | "trigger": "aes256-gcm\tcipher",
96 | "contents": "aes256-gcm",
97 | "annotation": "cipher",
98 | "kind": [
99 | "function",
100 | "c",
101 | "Cipher"
102 | ]
103 | },
104 | {
105 | "trigger": "camellia128-ctr@openssh.org\tcipher",
106 | "contents": "camellia128-ctr@openssh.org",
107 | "annotation": "cipher",
108 | "kind": [
109 | "function",
110 | "c",
111 | "Cipher"
112 | ]
113 | },
114 | {
115 | "trigger": "camellia128-ctr\tcipher",
116 | "contents": "camellia128-ctr",
117 | "annotation": "cipher",
118 | "kind": [
119 | "function",
120 | "c",
121 | "Cipher"
122 | ]
123 | },
124 | {
125 | "trigger": "camellia192-ctr@openssh.org\tcipher",
126 | "contents": "camellia192-ctr@openssh.org",
127 | "annotation": "cipher",
128 | "kind": [
129 | "function",
130 | "c",
131 | "Cipher"
132 | ]
133 | },
134 | {
135 | "trigger": "camellia192-ctr\tcipher",
136 | "contents": "camellia192-ctr",
137 | "annotation": "cipher",
138 | "kind": [
139 | "function",
140 | "c",
141 | "Cipher"
142 | ]
143 | },
144 | {
145 | "trigger": "camellia256-ctr@openssh.org\tcipher",
146 | "contents": "camellia256-ctr@openssh.org",
147 | "annotation": "cipher",
148 | "kind": [
149 | "function",
150 | "c",
151 | "Cipher"
152 | ]
153 | },
154 | {
155 | "trigger": "camellia256-ctr\tcipher",
156 | "contents": "camellia256-ctr",
157 | "annotation": "cipher",
158 | "kind": [
159 | "function",
160 | "c",
161 | "Cipher"
162 | ]
163 | },
164 | {
165 | "trigger": "chacha20-poly1305@openssh.com\tcipher",
166 | "contents": "chacha20-poly1305@openssh.com",
167 | "annotation": "cipher",
168 | "kind": [
169 | "function",
170 | "c",
171 | "Cipher"
172 | ]
173 | },
174 | {
175 | "trigger": "chacha20-poly1305\tcipher",
176 | "contents": "chacha20-poly1305",
177 | "annotation": "cipher",
178 | "kind": [
179 | "function",
180 | "c",
181 | "Cipher"
182 | ]
183 | },
184 | {
185 | "trigger": "crypticore128@ssh.com\tcipher",
186 | "contents": "crypticore128@ssh.com",
187 | "annotation": "cipher",
188 | "kind": [
189 | "function",
190 | "c",
191 | "Cipher"
192 | ]
193 | },
194 | {
195 | "trigger": "twofish128-ctr\tcipher",
196 | "contents": "twofish128-ctr",
197 | "annotation": "cipher",
198 | "kind": [
199 | "function",
200 | "c",
201 | "Cipher"
202 | ]
203 | },
204 | {
205 | "trigger": "twofish128-gcm@libassh.org\tcipher",
206 | "contents": "twofish128-gcm@libassh.org",
207 | "annotation": "cipher",
208 | "kind": [
209 | "function",
210 | "c",
211 | "Cipher"
212 | ]
213 | },
214 | {
215 | "trigger": "twofish192-ctr\tcipher",
216 | "contents": "twofish192-ctr",
217 | "annotation": "cipher",
218 | "kind": [
219 | "function",
220 | "c",
221 | "Cipher"
222 | ]
223 | },
224 | {
225 | "trigger": "twofish256-ctr\tcipher",
226 | "contents": "twofish256-ctr",
227 | "annotation": "cipher",
228 | "kind": [
229 | "function",
230 | "c",
231 | "Cipher"
232 | ]
233 | },
234 | {
235 | "trigger": "twofish256-gcm@libassh.org\tcipher",
236 | "contents": "twofish256-gcm@libassh.org",
237 | "annotation": "cipher",
238 | "kind": [
239 | "function",
240 | "c",
241 | "Cipher"
242 | ]
243 | },
244 | {
245 | "trigger": "twofish-ctr\tcipher",
246 | "contents": "twofish-ctr",
247 | "annotation": "cipher",
248 | "kind": [
249 | "function",
250 | "c",
251 | "Cipher"
252 | ]
253 | },
254 | {
255 | "trigger": "3des-cbc\tdeprecated cipher",
256 | "contents": "3des-cbc",
257 | "annotation": "deprecated cipher",
258 | "kind": [
259 | "function",
260 | "c",
261 | "Cipher"
262 | ],
263 | "details": "Deprecated"
264 | },
265 | {
266 | "trigger": "3des-cfb\tdeprecated cipher",
267 | "contents": "3des-cfb",
268 | "annotation": "deprecated cipher",
269 | "kind": [
270 | "function",
271 | "c",
272 | "Cipher"
273 | ],
274 | "details": "Deprecated"
275 | },
276 | {
277 | "trigger": "3des-ctr\tdeprecated cipher",
278 | "contents": "3des-ctr",
279 | "annotation": "deprecated cipher",
280 | "kind": [
281 | "function",
282 | "c",
283 | "Cipher"
284 | ],
285 | "details": "Deprecated"
286 | },
287 | {
288 | "trigger": "3des-ecb\tdeprecated cipher",
289 | "contents": "3des-ecb",
290 | "annotation": "deprecated cipher",
291 | "kind": [
292 | "function",
293 | "c",
294 | "Cipher"
295 | ],
296 | "details": "Deprecated"
297 | },
298 | {
299 | "trigger": "3des-ofb\tdeprecated cipher",
300 | "contents": "3des-ofb",
301 | "annotation": "deprecated cipher",
302 | "kind": [
303 | "function",
304 | "c",
305 | "Cipher"
306 | ],
307 | "details": "Deprecated"
308 | },
309 | {
310 | "trigger": "3des\tdeprecated cipher",
311 | "contents": "3des",
312 | "annotation": "deprecated cipher",
313 | "kind": [
314 | "function",
315 | "c",
316 | "Cipher"
317 | ],
318 | "details": "Deprecated"
319 | },
320 | {
321 | "trigger": "aes128-cbc\tdeprecated cipher",
322 | "contents": "aes128-cbc",
323 | "annotation": "deprecated cipher",
324 | "kind": [
325 | "function",
326 | "c",
327 | "Cipher"
328 | ],
329 | "details": "Deprecated"
330 | },
331 | {
332 | "trigger": "aes192-cbc\tdeprecated cipher",
333 | "contents": "aes192-cbc",
334 | "annotation": "deprecated cipher",
335 | "kind": [
336 | "function",
337 | "c",
338 | "Cipher"
339 | ],
340 | "details": "Deprecated"
341 | },
342 | {
343 | "trigger": "aes256-cbc\tdeprecated cipher",
344 | "contents": "aes256-cbc",
345 | "annotation": "deprecated cipher",
346 | "kind": [
347 | "function",
348 | "c",
349 | "Cipher"
350 | ],
351 | "details": "Deprecated"
352 | },
353 | {
354 | "trigger": "aes128-ocb@libassh.org\tdeprecated cipher",
355 | "contents": "aes128-ocb@libassh.org",
356 | "annotation": "deprecated cipher",
357 | "kind": [
358 | "function",
359 | "c",
360 | "Cipher"
361 | ],
362 | "details": "Deprecated"
363 | },
364 | {
365 | "trigger": "arcfour128\tdeprecated cipher",
366 | "contents": "arcfour128",
367 | "annotation": "deprecated cipher",
368 | "kind": [
369 | "function",
370 | "c",
371 | "Cipher"
372 | ],
373 | "details": "Deprecated"
374 | },
375 | {
376 | "trigger": "arcfour256\tdeprecated cipher",
377 | "contents": "arcfour256",
378 | "annotation": "deprecated cipher",
379 | "kind": [
380 | "function",
381 | "c",
382 | "Cipher"
383 | ],
384 | "details": "Deprecated"
385 | },
386 | {
387 | "trigger": "arcfour\tdeprecated cipher",
388 | "contents": "arcfour",
389 | "annotation": "deprecated cipher",
390 | "kind": [
391 | "function",
392 | "c",
393 | "Cipher"
394 | ],
395 | "details": "Deprecated"
396 | },
397 | {
398 | "trigger": "blowfish-cbc\tdeprecated cipher",
399 | "contents": "blowfish-cbc",
400 | "annotation": "deprecated cipher",
401 | "kind": [
402 | "function",
403 | "c",
404 | "Cipher"
405 | ],
406 | "details": "Deprecated"
407 | },
408 | {
409 | "trigger": "blowfish-cfb\tdeprecated cipher",
410 | "contents": "blowfish-cfb",
411 | "annotation": "deprecated cipher",
412 | "kind": [
413 | "function",
414 | "c",
415 | "Cipher"
416 | ],
417 | "details": "Deprecated"
418 | },
419 | {
420 | "trigger": "blowfish-ctr\tdeprecated cipher",
421 | "contents": "blowfish-ctr",
422 | "annotation": "deprecated cipher",
423 | "kind": [
424 | "function",
425 | "c",
426 | "Cipher"
427 | ],
428 | "details": "Deprecated"
429 | },
430 | {
431 | "trigger": "blowfish-ecb\tdeprecated cipher",
432 | "contents": "blowfish-ecb",
433 | "annotation": "deprecated cipher",
434 | "kind": [
435 | "function",
436 | "c",
437 | "Cipher"
438 | ],
439 | "details": "Deprecated"
440 | },
441 | {
442 | "trigger": "blowfish\tdeprecated cipher",
443 | "contents": "blowfish",
444 | "annotation": "deprecated cipher",
445 | "kind": [
446 | "function",
447 | "c",
448 | "Cipher"
449 | ],
450 | "details": "Deprecated"
451 | },
452 | {
453 | "trigger": "camellia128-cbc@openssh.org\tdeprecated cipher",
454 | "contents": "camellia128-cbc@openssh.org",
455 | "annotation": "deprecated cipher",
456 | "kind": [
457 | "function",
458 | "c",
459 | "Cipher"
460 | ],
461 | "details": "Deprecated"
462 | },
463 | {
464 | "trigger": "camellia128-cbc\tdeprecated cipher",
465 | "contents": "camellia128-cbc",
466 | "annotation": "deprecated cipher",
467 | "kind": [
468 | "function",
469 | "c",
470 | "Cipher"
471 | ],
472 | "details": "Deprecated"
473 | },
474 | {
475 | "trigger": "camellia192-cbc@openssh.org\tdeprecated cipher",
476 | "contents": "camellia192-cbc@openssh.org",
477 | "annotation": "deprecated cipher",
478 | "kind": [
479 | "function",
480 | "c",
481 | "Cipher"
482 | ],
483 | "details": "Deprecated"
484 | },
485 | {
486 | "trigger": "camellia192-cbc\tdeprecated cipher",
487 | "contents": "camellia192-cbc",
488 | "annotation": "deprecated cipher",
489 | "kind": [
490 | "function",
491 | "c",
492 | "Cipher"
493 | ],
494 | "details": "Deprecated"
495 | },
496 | {
497 | "trigger": "camellia256-cbc@openssh.org\tdeprecated cipher",
498 | "contents": "camellia256-cbc@openssh.org",
499 | "annotation": "deprecated cipher",
500 | "kind": [
501 | "function",
502 | "c",
503 | "Cipher"
504 | ],
505 | "details": "Deprecated"
506 | },
507 | {
508 | "trigger": "camellia256-cbc\tdeprecated cipher",
509 | "contents": "camellia256-cbc",
510 | "annotation": "deprecated cipher",
511 | "kind": [
512 | "function",
513 | "c",
514 | "Cipher"
515 | ],
516 | "details": "Deprecated"
517 | },
518 | {
519 | "trigger": "cast128-12-cbc\tdeprecated cipher",
520 | "contents": "cast128-12-cbc",
521 | "annotation": "deprecated cipher",
522 | "kind": [
523 | "function",
524 | "c",
525 | "Cipher"
526 | ],
527 | "details": "Deprecated"
528 | },
529 | {
530 | "trigger": "cast128-12-cfb\tdeprecated cipher",
531 | "contents": "cast128-12-cfb",
532 | "annotation": "deprecated cipher",
533 | "kind": [
534 | "function",
535 | "c",
536 | "Cipher"
537 | ],
538 | "details": "Deprecated"
539 | },
540 | {
541 | "trigger": "cast128-12-ctr\tdeprecated cipher",
542 | "contents": "cast128-12-ctr",
543 | "annotation": "deprecated cipher",
544 | "kind": [
545 | "function",
546 | "c",
547 | "Cipher"
548 | ],
549 | "details": "Deprecated"
550 | },
551 | {
552 | "trigger": "cast128-12-ecb\tdeprecated cipher",
553 | "contents": "cast128-12-ecb",
554 | "annotation": "deprecated cipher",
555 | "kind": [
556 | "function",
557 | "c",
558 | "Cipher"
559 | ],
560 | "details": "Deprecated"
561 | },
562 | {
563 | "trigger": "cast128-12-ofb\tdeprecated cipher",
564 | "contents": "cast128-12-ofb",
565 | "annotation": "deprecated cipher",
566 | "kind": [
567 | "function",
568 | "c",
569 | "Cipher"
570 | ],
571 | "details": "Deprecated"
572 | },
573 | {
574 | "trigger": "cast128-cbc\tdeprecated cipher",
575 | "contents": "cast128-cbc",
576 | "annotation": "deprecated cipher",
577 | "kind": [
578 | "function",
579 | "c",
580 | "Cipher"
581 | ],
582 | "details": "Deprecated"
583 | },
584 | {
585 | "trigger": "cast128-cfb\tdeprecated cipher",
586 | "contents": "cast128-cfb",
587 | "annotation": "deprecated cipher",
588 | "kind": [
589 | "function",
590 | "c",
591 | "Cipher"
592 | ],
593 | "details": "Deprecated"
594 | },
595 | {
596 | "trigger": "cast128-ctr\tdeprecated cipher",
597 | "contents": "cast128-ctr",
598 | "annotation": "deprecated cipher",
599 | "kind": [
600 | "function",
601 | "c",
602 | "Cipher"
603 | ],
604 | "details": "Deprecated"
605 | },
606 | {
607 | "trigger": "cast128-ecb\tdeprecated cipher",
608 | "contents": "cast128-ecb",
609 | "annotation": "deprecated cipher",
610 | "kind": [
611 | "function",
612 | "c",
613 | "Cipher"
614 | ],
615 | "details": "Deprecated"
616 | },
617 | {
618 | "trigger": "cast128-ofb\tdeprecated cipher",
619 | "contents": "cast128-ofb",
620 | "annotation": "deprecated cipher",
621 | "kind": [
622 | "function",
623 | "c",
624 | "Cipher"
625 | ],
626 | "details": "Deprecated"
627 | },
628 | {
629 | "trigger": "des-cbc-ssh1\tdeprecated cipher",
630 | "contents": "des-cbc-ssh1",
631 | "annotation": "deprecated cipher",
632 | "kind": [
633 | "function",
634 | "c",
635 | "Cipher"
636 | ],
637 | "details": "Deprecated"
638 | },
639 | {
640 | "trigger": "des-cbc@ssh.com\tdeprecated cipher",
641 | "contents": "des-cbc@ssh.com",
642 | "annotation": "deprecated cipher",
643 | "kind": [
644 | "function",
645 | "c",
646 | "Cipher"
647 | ],
648 | "details": "Deprecated"
649 | },
650 | {
651 | "trigger": "des-cbc\tdeprecated cipher",
652 | "contents": "des-cbc",
653 | "annotation": "deprecated cipher",
654 | "kind": [
655 | "function",
656 | "c",
657 | "Cipher"
658 | ],
659 | "details": "Deprecated"
660 | },
661 | {
662 | "trigger": "des-cfb\tdeprecated cipher",
663 | "contents": "des-cfb",
664 | "annotation": "deprecated cipher",
665 | "kind": [
666 | "function",
667 | "c",
668 | "Cipher"
669 | ],
670 | "details": "Deprecated"
671 | },
672 | {
673 | "trigger": "des-ecb\tdeprecated cipher",
674 | "contents": "des-ecb",
675 | "annotation": "deprecated cipher",
676 | "kind": [
677 | "function",
678 | "c",
679 | "Cipher"
680 | ],
681 | "details": "Deprecated"
682 | },
683 | {
684 | "trigger": "des-ofb\tdeprecated cipher",
685 | "contents": "des-ofb",
686 | "annotation": "deprecated cipher",
687 | "kind": [
688 | "function",
689 | "c",
690 | "Cipher"
691 | ],
692 | "details": "Deprecated"
693 | },
694 | {
695 | "trigger": "des\tdeprecated cipher",
696 | "contents": "des",
697 | "annotation": "deprecated cipher",
698 | "kind": [
699 | "function",
700 | "c",
701 | "Cipher"
702 | ],
703 | "details": "Deprecated"
704 | },
705 | {
706 | "trigger": "idea-cbc\tdeprecated cipher",
707 | "contents": "idea-cbc",
708 | "annotation": "deprecated cipher",
709 | "kind": [
710 | "function",
711 | "c",
712 | "Cipher"
713 | ],
714 | "details": "Deprecated"
715 | },
716 | {
717 | "trigger": "idea-cfb\tdeprecated cipher",
718 | "contents": "idea-cfb",
719 | "annotation": "deprecated cipher",
720 | "kind": [
721 | "function",
722 | "c",
723 | "Cipher"
724 | ],
725 | "details": "Deprecated"
726 | },
727 | {
728 | "trigger": "idea-ctr\tdeprecated cipher",
729 | "contents": "idea-ctr",
730 | "annotation": "deprecated cipher",
731 | "kind": [
732 | "function",
733 | "c",
734 | "Cipher"
735 | ],
736 | "details": "Deprecated"
737 | },
738 | {
739 | "trigger": "idea-ecb\tdeprecated cipher",
740 | "contents": "idea-ecb",
741 | "annotation": "deprecated cipher",
742 | "kind": [
743 | "function",
744 | "c",
745 | "Cipher"
746 | ],
747 | "details": "Deprecated"
748 | },
749 | {
750 | "trigger": "idea-ofb\tdeprecated cipher",
751 | "contents": "idea-ofb",
752 | "annotation": "deprecated cipher",
753 | "kind": [
754 | "function",
755 | "c",
756 | "Cipher"
757 | ],
758 | "details": "Deprecated"
759 | },
760 | {
761 | "trigger": "none\tdeprecated cipher",
762 | "contents": "none",
763 | "annotation": "deprecated cipher",
764 | "kind": [
765 | "function",
766 | "c",
767 | "Cipher"
768 | ],
769 | "details": "Deprecated"
770 | },
771 | {
772 | "trigger": "rijndael-cbc@lysator.liu.se\tdeprecated cipher",
773 | "contents": "rijndael-cbc@lysator.liu.se",
774 | "annotation": "deprecated cipher",
775 | "kind": [
776 | "function",
777 | "c",
778 | "Cipher"
779 | ],
780 | "details": "Deprecated"
781 | },
782 | {
783 | "trigger": "rijndael-cbc@ssh.com\tdeprecated cipher",
784 | "contents": "rijndael-cbc@ssh.com",
785 | "annotation": "deprecated cipher",
786 | "kind": [
787 | "function",
788 | "c",
789 | "Cipher"
790 | ],
791 | "details": "Deprecated"
792 | },
793 | {
794 | "trigger": "rijndael128-cbc\tdeprecated cipher",
795 | "contents": "rijndael128-cbc",
796 | "annotation": "deprecated cipher",
797 | "kind": [
798 | "function",
799 | "c",
800 | "Cipher"
801 | ],
802 | "details": "Deprecated"
803 | },
804 | {
805 | "trigger": "rijndael192-cbc\tdeprecated cipher",
806 | "contents": "rijndael192-cbc",
807 | "annotation": "deprecated cipher",
808 | "kind": [
809 | "function",
810 | "c",
811 | "Cipher"
812 | ],
813 | "details": "Deprecated"
814 | },
815 | {
816 | "trigger": "rijndael256-cbc\tdeprecated cipher",
817 | "contents": "rijndael256-cbc",
818 | "annotation": "deprecated cipher",
819 | "kind": [
820 | "function",
821 | "c",
822 | "Cipher"
823 | ],
824 | "details": "Deprecated"
825 | },
826 | {
827 | "trigger": "seed-cbc@ssh.com\tdeprecated cipher",
828 | "contents": "seed-cbc@ssh.com",
829 | "annotation": "deprecated cipher",
830 | "kind": [
831 | "function",
832 | "c",
833 | "Cipher"
834 | ],
835 | "details": "Deprecated"
836 | },
837 | {
838 | "trigger": "seed-ctr@ssh.com\tdeprecated cipher",
839 | "contents": "seed-ctr@ssh.com",
840 | "annotation": "deprecated cipher",
841 | "kind": [
842 | "function",
843 | "c",
844 | "Cipher"
845 | ],
846 | "details": "Deprecated"
847 | },
848 | {
849 | "trigger": "serpent128-cbc\tdeprecated cipher",
850 | "contents": "serpent128-cbc",
851 | "annotation": "deprecated cipher",
852 | "kind": [
853 | "function",
854 | "c",
855 | "Cipher"
856 | ],
857 | "details": "Deprecated"
858 | },
859 | {
860 | "trigger": "serpent128-ctr\tdeprecated cipher",
861 | "contents": "serpent128-ctr",
862 | "annotation": "deprecated cipher",
863 | "kind": [
864 | "function",
865 | "c",
866 | "Cipher"
867 | ],
868 | "details": "Deprecated"
869 | },
870 | {
871 | "trigger": "serpent128-gcm@libassh.org\tdeprecated cipher",
872 | "contents": "serpent128-gcm@libassh.org",
873 | "annotation": "deprecated cipher",
874 | "kind": [
875 | "function",
876 | "c",
877 | "Cipher"
878 | ],
879 | "details": "Deprecated"
880 | },
881 | {
882 | "trigger": "serpent192-cbc\tdeprecated cipher",
883 | "contents": "serpent192-cbc",
884 | "annotation": "deprecated cipher",
885 | "kind": [
886 | "function",
887 | "c",
888 | "Cipher"
889 | ],
890 | "details": "Deprecated"
891 | },
892 | {
893 | "trigger": "serpent192-ctr\tdeprecated cipher",
894 | "contents": "serpent192-ctr",
895 | "annotation": "deprecated cipher",
896 | "kind": [
897 | "function",
898 | "c",
899 | "Cipher"
900 | ],
901 | "details": "Deprecated"
902 | },
903 | {
904 | "trigger": "serpent256-cbc\tdeprecated cipher",
905 | "contents": "serpent256-cbc",
906 | "annotation": "deprecated cipher",
907 | "kind": [
908 | "function",
909 | "c",
910 | "Cipher"
911 | ],
912 | "details": "Deprecated"
913 | },
914 | {
915 | "trigger": "serpent256-ctr\tdeprecated cipher",
916 | "contents": "serpent256-ctr",
917 | "annotation": "deprecated cipher",
918 | "kind": [
919 | "function",
920 | "c",
921 | "Cipher"
922 | ],
923 | "details": "Deprecated"
924 | },
925 | {
926 | "trigger": "serpent256-gcm@libassh.org\tdeprecated cipher",
927 | "contents": "serpent256-gcm@libassh.org",
928 | "annotation": "deprecated cipher",
929 | "kind": [
930 | "function",
931 | "c",
932 | "Cipher"
933 | ],
934 | "details": "Deprecated"
935 | },
936 | {
937 | "trigger": "twofish128-cbc\tdeprecated cipher",
938 | "contents": "twofish128-cbc",
939 | "annotation": "deprecated cipher",
940 | "kind": [
941 | "function",
942 | "c",
943 | "Cipher"
944 | ],
945 | "details": "Deprecated"
946 | },
947 | {
948 | "trigger": "twofish192-cbc\tdeprecated cipher",
949 | "contents": "twofish192-cbc",
950 | "annotation": "deprecated cipher",
951 | "kind": [
952 | "function",
953 | "c",
954 | "Cipher"
955 | ],
956 | "details": "Deprecated"
957 | },
958 | {
959 | "trigger": "twofish256-cbc\tdeprecated cipher",
960 | "contents": "twofish256-cbc",
961 | "annotation": "deprecated cipher",
962 | "kind": [
963 | "function",
964 | "c",
965 | "Cipher"
966 | ],
967 | "details": "Deprecated"
968 | },
969 | {
970 | "trigger": "twofish-cbc\tdeprecated cipher",
971 | "contents": "twofish-cbc",
972 | "annotation": "deprecated cipher",
973 | "kind": [
974 | "function",
975 | "c",
976 | "Cipher"
977 | ],
978 | "details": "Deprecated"
979 | },
980 | {
981 | "trigger": "twofish-cfb\tdeprecated cipher",
982 | "contents": "twofish-cfb",
983 | "annotation": "deprecated cipher",
984 | "kind": [
985 | "function",
986 | "c",
987 | "Cipher"
988 | ],
989 | "details": "Deprecated"
990 | },
991 | {
992 | "trigger": "twofish-ecb\tdeprecated cipher",
993 | "contents": "twofish-ecb",
994 | "annotation": "deprecated cipher",
995 | "kind": [
996 | "function",
997 | "c",
998 | "Cipher"
999 | ],
1000 | "details": "Deprecated"
1001 | },
1002 | {
1003 | "trigger": "twofish-ofb\tdeprecated cipher",
1004 | "contents": "twofish-ofb",
1005 | "annotation": "deprecated cipher",
1006 | "kind": [
1007 | "function",
1008 | "c",
1009 | "Cipher"
1010 | ],
1011 | "details": "Deprecated"
1012 | }
1013 | ]
1014 | }
--------------------------------------------------------------------------------
/Support/kex-algorithms.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "(source.ssh_config | source.sshd_config) & meta.mapping.value - source source",
3 | "completions": [
4 | {
5 | "trigger": "curve25519-sha256@libssh.org\tkex",
6 | "contents": "curve25519-sha256@libssh.org",
7 | "annotation": "kex",
8 | "kind": [
9 | "function",
10 | "k",
11 | "Kex Algm"
12 | ]
13 | },
14 | {
15 | "trigger": "curve25519-sha256\tkex",
16 | "contents": "curve25519-sha256",
17 | "annotation": "kex",
18 | "kind": [
19 | "function",
20 | "k",
21 | "Kex Algm"
22 | ]
23 | },
24 | {
25 | "trigger": "Curve25519SHA256\tkex",
26 | "contents": "Curve25519SHA256",
27 | "annotation": "kex",
28 | "kind": [
29 | "function",
30 | "k",
31 | "Kex Algm"
32 | ]
33 | },
34 | {
35 | "trigger": "curve448-sha512@libssh.org\tkex",
36 | "contents": "curve448-sha512@libssh.org",
37 | "annotation": "kex",
38 | "kind": [
39 | "function",
40 | "k",
41 | "Kex Algm"
42 | ]
43 | },
44 | {
45 | "trigger": "curve448-sha512\tkex",
46 | "contents": "curve448-sha512",
47 | "annotation": "kex",
48 | "kind": [
49 | "function",
50 | "k",
51 | "Kex Algm"
52 | ]
53 | },
54 | {
55 | "trigger": "diffie-hellman-group-exchange-sha256@ssh.com\tkex",
56 | "contents": "diffie-hellman-group-exchange-sha256@ssh.com",
57 | "annotation": "kex",
58 | "kind": [
59 | "function",
60 | "k",
61 | "Kex Algm"
62 | ]
63 | },
64 | {
65 | "trigger": "diffie-hellman-group-exchange-sha256\tkex",
66 | "contents": "diffie-hellman-group-exchange-sha256",
67 | "annotation": "kex",
68 | "kind": [
69 | "function",
70 | "k",
71 | "Kex Algm"
72 | ]
73 | },
74 | {
75 | "trigger": "diffie-hellman-group-exchange-sha512@ssh.com\tkex",
76 | "contents": "diffie-hellman-group-exchange-sha512@ssh.com",
77 | "annotation": "kex",
78 | "kind": [
79 | "function",
80 | "k",
81 | "Kex Algm"
82 | ]
83 | },
84 | {
85 | "trigger": "diffie-hellman-group1-sha256\tkex",
86 | "contents": "diffie-hellman-group1-sha256",
87 | "annotation": "kex",
88 | "kind": [
89 | "function",
90 | "k",
91 | "Kex Algm"
92 | ]
93 | },
94 | {
95 | "trigger": "diffie-hellman-group14-sha224@ssh.com\tkex",
96 | "contents": "diffie-hellman-group14-sha224@ssh.com",
97 | "annotation": "kex",
98 | "kind": [
99 | "function",
100 | "k",
101 | "Kex Algm"
102 | ]
103 | },
104 | {
105 | "trigger": "diffie-hellman-group14-sha256\tkex",
106 | "contents": "diffie-hellman-group14-sha256",
107 | "annotation": "kex",
108 | "kind": [
109 | "function",
110 | "k",
111 | "Kex Algm"
112 | ]
113 | },
114 | {
115 | "trigger": "diffie-hellman-group14-sha256@ssh.com\tkex",
116 | "contents": "diffie-hellman-group14-sha256@ssh.com",
117 | "annotation": "kex",
118 | "kind": [
119 | "function",
120 | "k",
121 | "Kex Algm"
122 | ]
123 | },
124 | {
125 | "trigger": "diffie-hellman-group15-sha256@ssh.com\tkex",
126 | "contents": "diffie-hellman-group15-sha256@ssh.com",
127 | "annotation": "kex",
128 | "kind": [
129 | "function",
130 | "k",
131 | "Kex Algm"
132 | ]
133 | },
134 | {
135 | "trigger": "diffie-hellman-group15-sha256\tkex",
136 | "contents": "diffie-hellman-group15-sha256",
137 | "annotation": "kex",
138 | "kind": [
139 | "function",
140 | "k",
141 | "Kex Algm"
142 | ]
143 | },
144 | {
145 | "trigger": "diffie-hellman-group15-sha384@ssh.com\tkex",
146 | "contents": "diffie-hellman-group15-sha384@ssh.com",
147 | "annotation": "kex",
148 | "kind": [
149 | "function",
150 | "k",
151 | "Kex Algm"
152 | ]
153 | },
154 | {
155 | "trigger": "diffie-hellman-group15-sha512\tkex",
156 | "contents": "diffie-hellman-group15-sha512",
157 | "annotation": "kex",
158 | "kind": [
159 | "function",
160 | "k",
161 | "Kex Algm"
162 | ]
163 | },
164 | {
165 | "trigger": "diffie-hellman-group16-sha256\tkex",
166 | "contents": "diffie-hellman-group16-sha256",
167 | "annotation": "kex",
168 | "kind": [
169 | "function",
170 | "k",
171 | "Kex Algm"
172 | ]
173 | },
174 | {
175 | "trigger": "diffie-hellman-group16-sha384@ssh.com\tkex",
176 | "contents": "diffie-hellman-group16-sha384@ssh.com",
177 | "annotation": "kex",
178 | "kind": [
179 | "function",
180 | "k",
181 | "Kex Algm"
182 | ]
183 | },
184 | {
185 | "trigger": "diffie-hellman-group16-sha512@ssh.com\tkex",
186 | "contents": "diffie-hellman-group16-sha512@ssh.com",
187 | "annotation": "kex",
188 | "kind": [
189 | "function",
190 | "k",
191 | "Kex Algm"
192 | ]
193 | },
194 | {
195 | "trigger": "diffie-hellman-group16-sha512\tkex",
196 | "contents": "diffie-hellman-group16-sha512",
197 | "annotation": "kex",
198 | "kind": [
199 | "function",
200 | "k",
201 | "Kex Algm"
202 | ]
203 | },
204 | {
205 | "trigger": "diffie-hellman-group17-sha512\tkex",
206 | "contents": "diffie-hellman-group17-sha512",
207 | "annotation": "kex",
208 | "kind": [
209 | "function",
210 | "k",
211 | "Kex Algm"
212 | ]
213 | },
214 | {
215 | "trigger": "diffie-hellman_group17-sha512\tkex",
216 | "contents": "diffie-hellman_group17-sha512",
217 | "annotation": "kex",
218 | "kind": [
219 | "function",
220 | "k",
221 | "Kex Algm"
222 | ]
223 | },
224 | {
225 | "trigger": "diffie-hellman-group18-sha512@ssh.com\tkex",
226 | "contents": "diffie-hellman-group18-sha512@ssh.com",
227 | "annotation": "kex",
228 | "kind": [
229 | "function",
230 | "k",
231 | "Kex Algm"
232 | ]
233 | },
234 | {
235 | "trigger": "diffie-hellman-group18-sha512\tkex",
236 | "contents": "diffie-hellman-group18-sha512",
237 | "annotation": "kex",
238 | "kind": [
239 | "function",
240 | "k",
241 | "Kex Algm"
242 | ]
243 | },
244 | {
245 | "trigger": "diffie-hellman-group-exchange-sha224@ssh.com\tkex",
246 | "contents": "diffie-hellman-group-exchange-sha224@ssh.com",
247 | "annotation": "kex",
248 | "kind": [
249 | "function",
250 | "k",
251 | "Kex Algm"
252 | ]
253 | },
254 | {
255 | "trigger": "diffie-hellman-group-exchange-sha256@ssh.com\tkex",
256 | "contents": "diffie-hellman-group-exchange-sha256@ssh.com",
257 | "annotation": "kex",
258 | "kind": [
259 | "function",
260 | "k",
261 | "Kex Algm"
262 | ]
263 | },
264 | {
265 | "trigger": "diffie-hellman-group-exchange-sha256\tkex",
266 | "contents": "diffie-hellman-group-exchange-sha256",
267 | "annotation": "kex",
268 | "kind": [
269 | "function",
270 | "k",
271 | "Kex Algm"
272 | ]
273 | },
274 | {
275 | "trigger": "diffie-hellman-group-exchange-sha384@ssh.com\tkex",
276 | "contents": "diffie-hellman-group-exchange-sha384@ssh.com",
277 | "annotation": "kex",
278 | "kind": [
279 | "function",
280 | "k",
281 | "Kex Algm"
282 | ]
283 | },
284 | {
285 | "trigger": "diffie-hellman-group-exchange-sha512@ssh.com\tkex",
286 | "contents": "diffie-hellman-group-exchange-sha512@ssh.com",
287 | "annotation": "kex",
288 | "kind": [
289 | "function",
290 | "k",
291 | "Kex Algm"
292 | ]
293 | },
294 | {
295 | "trigger": "ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org\tkex",
296 | "contents": "ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org",
297 | "annotation": "kex",
298 | "kind": [
299 | "function",
300 | "k",
301 | "Kex Algm"
302 | ]
303 | },
304 | {
305 | "trigger": "ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org\tkex",
306 | "contents": "ecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.org",
307 | "annotation": "kex",
308 | "kind": [
309 | "function",
310 | "k",
311 | "Kex Algm"
312 | ]
313 | },
314 | {
315 | "trigger": "ecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org\tkex",
316 | "contents": "ecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.org",
317 | "annotation": "kex",
318 | "kind": [
319 | "function",
320 | "k",
321 | "Kex Algm"
322 | ]
323 | },
324 | {
325 | "trigger": "ecdh-sha2-1.2.840.10045.3.1.7\tkex",
326 | "contents": "ecdh-sha2-1.2.840.10045.3.1.7",
327 | "annotation": "kex",
328 | "kind": [
329 | "function",
330 | "k",
331 | "Kex Algm"
332 | ]
333 | },
334 | {
335 | "trigger": "ecdh-sha2-1.3.132.0.10\tkex",
336 | "contents": "ecdh-sha2-1.3.132.0.10",
337 | "annotation": "kex",
338 | "kind": [
339 | "function",
340 | "k",
341 | "Kex Algm"
342 | ]
343 | },
344 | {
345 | "trigger": "ecdh-sha2-1.3.132.0.16\tkex",
346 | "contents": "ecdh-sha2-1.3.132.0.16",
347 | "annotation": "kex",
348 | "kind": [
349 | "function",
350 | "k",
351 | "Kex Algm"
352 | ]
353 | },
354 | {
355 | "trigger": "ecdh-sha2-1.3.132.0.34\tkex",
356 | "contents": "ecdh-sha2-1.3.132.0.34",
357 | "annotation": "kex",
358 | "kind": [
359 | "function",
360 | "k",
361 | "Kex Algm"
362 | ]
363 | },
364 | {
365 | "trigger": "ecdh-sha2-1.3.132.0.35\tkex",
366 | "contents": "ecdh-sha2-1.3.132.0.35",
367 | "annotation": "kex",
368 | "kind": [
369 | "function",
370 | "k",
371 | "Kex Algm"
372 | ]
373 | },
374 | {
375 | "trigger": "ecdh-sha2-1.3.132.0.36\tkex",
376 | "contents": "ecdh-sha2-1.3.132.0.36",
377 | "annotation": "kex",
378 | "kind": [
379 | "function",
380 | "k",
381 | "Kex Algm"
382 | ]
383 | },
384 | {
385 | "trigger": "ecdh-sha2-1.3.132.0.37\tkex",
386 | "contents": "ecdh-sha2-1.3.132.0.37",
387 | "annotation": "kex",
388 | "kind": [
389 | "function",
390 | "k",
391 | "Kex Algm"
392 | ]
393 | },
394 | {
395 | "trigger": "ecdh-sha2-1.3.132.0.38\tkex",
396 | "contents": "ecdh-sha2-1.3.132.0.38",
397 | "annotation": "kex",
398 | "kind": [
399 | "function",
400 | "k",
401 | "Kex Algm"
402 | ]
403 | },
404 | {
405 | "trigger": "ecdh-sha2-9UzNcgwTlEnSCECZa7V1mw==\tkex",
406 | "contents": "ecdh-sha2-9UzNcgwTlEnSCECZa7V1mw==",
407 | "annotation": "kex",
408 | "kind": [
409 | "function",
410 | "k",
411 | "Kex Algm"
412 | ]
413 | },
414 | {
415 | "trigger": "ecdh-sha2-brainpoolp256r1@genua.de\tkex",
416 | "contents": "ecdh-sha2-brainpoolp256r1@genua.de",
417 | "annotation": "kex",
418 | "kind": [
419 | "function",
420 | "k",
421 | "Kex Algm"
422 | ]
423 | },
424 | {
425 | "trigger": "ecdh-sha2-brainpoolp384r1@genua.de\tkex",
426 | "contents": "ecdh-sha2-brainpoolp384r1@genua.de",
427 | "annotation": "kex",
428 | "kind": [
429 | "function",
430 | "k",
431 | "Kex Algm"
432 | ]
433 | },
434 | {
435 | "trigger": "ecdh-sha2-brainpoolp521r1@genua.de\tkex",
436 | "contents": "ecdh-sha2-brainpoolp521r1@genua.de",
437 | "annotation": "kex",
438 | "kind": [
439 | "function",
440 | "k",
441 | "Kex Algm"
442 | ]
443 | },
444 | {
445 | "trigger": "ecdh-sha2-curve25519\tkex",
446 | "contents": "ecdh-sha2-curve25519",
447 | "annotation": "kex",
448 | "kind": [
449 | "function",
450 | "k",
451 | "Kex Algm"
452 | ]
453 | },
454 | {
455 | "trigger": "ecdh-sha2-D3FefCjYoJ/kfXgAyLddYA==\tkex",
456 | "contents": "ecdh-sha2-D3FefCjYoJ/kfXgAyLddYA==",
457 | "annotation": "kex",
458 | "kind": [
459 | "function",
460 | "k",
461 | "Kex Algm"
462 | ]
463 | },
464 | {
465 | "trigger": "ecdh-sha2-h/SsxnLCtRBh7I9ATyeB3A==\tkex",
466 | "contents": "ecdh-sha2-h/SsxnLCtRBh7I9ATyeB3A==",
467 | "annotation": "kex",
468 | "kind": [
469 | "function",
470 | "k",
471 | "Kex Algm"
472 | ]
473 | },
474 | {
475 | "trigger": "ecdh-sha2-m/FtSAmrV4j/Wy6RVUaK7A==\tkex",
476 | "contents": "ecdh-sha2-m/FtSAmrV4j/Wy6RVUaK7A==",
477 | "annotation": "kex",
478 | "kind": [
479 | "function",
480 | "k",
481 | "Kex Algm"
482 | ]
483 | },
484 | {
485 | "trigger": "ecdh-sha2-mNVwCXAoS1HGmHpLvBC94w==\tkex",
486 | "contents": "ecdh-sha2-mNVwCXAoS1HGmHpLvBC94w==",
487 | "annotation": "kex",
488 | "kind": [
489 | "function",
490 | "k",
491 | "Kex Algm"
492 | ]
493 | },
494 | {
495 | "trigger": "ecdh-sha2-nistb409\tkex",
496 | "contents": "ecdh-sha2-nistb409",
497 | "annotation": "kex",
498 | "kind": [
499 | "function",
500 | "k",
501 | "Kex Algm"
502 | ]
503 | },
504 | {
505 | "trigger": "ecdh-sha2-nistk283\tkex",
506 | "contents": "ecdh-sha2-nistk283",
507 | "annotation": "kex",
508 | "kind": [
509 | "function",
510 | "k",
511 | "Kex Algm"
512 | ]
513 | },
514 | {
515 | "trigger": "ecdh-sha2-nistk409\tkex",
516 | "contents": "ecdh-sha2-nistk409",
517 | "annotation": "kex",
518 | "kind": [
519 | "function",
520 | "k",
521 | "Kex Algm"
522 | ]
523 | },
524 | {
525 | "trigger": "ecdh-sha2-nistp192\tkex",
526 | "contents": "ecdh-sha2-nistp192",
527 | "annotation": "kex",
528 | "kind": [
529 | "function",
530 | "k",
531 | "Kex Algm"
532 | ]
533 | },
534 | {
535 | "trigger": "ecdh-sha2-nistp224\tkex",
536 | "contents": "ecdh-sha2-nistp224",
537 | "annotation": "kex",
538 | "kind": [
539 | "function",
540 | "k",
541 | "Kex Algm"
542 | ]
543 | },
544 | {
545 | "trigger": "ecdh-sha2-nistp256\tkex",
546 | "contents": "ecdh-sha2-nistp256",
547 | "annotation": "kex",
548 | "kind": [
549 | "function",
550 | "k",
551 | "Kex Algm"
552 | ]
553 | },
554 | {
555 | "trigger": "ecdh-sha2-nistp384\tkex",
556 | "contents": "ecdh-sha2-nistp384",
557 | "annotation": "kex",
558 | "kind": [
559 | "function",
560 | "k",
561 | "Kex Algm"
562 | ]
563 | },
564 | {
565 | "trigger": "ecdh-sha2-nistp521\tkex",
566 | "contents": "ecdh-sha2-nistp521",
567 | "annotation": "kex",
568 | "kind": [
569 | "function",
570 | "k",
571 | "Kex Algm"
572 | ]
573 | },
574 | {
575 | "trigger": "ecdh-sha2-nistt571\tkex",
576 | "contents": "ecdh-sha2-nistt571",
577 | "annotation": "kex",
578 | "kind": [
579 | "function",
580 | "k",
581 | "Kex Algm"
582 | ]
583 | },
584 | {
585 | "trigger": "ecdh-sha2-qcFQaMAMGhTziMT0z+Tuzw==\tkex",
586 | "contents": "ecdh-sha2-qcFQaMAMGhTziMT0z+Tuzw==",
587 | "annotation": "kex",
588 | "kind": [
589 | "function",
590 | "k",
591 | "Kex Algm"
592 | ]
593 | },
594 | {
595 | "trigger": "ecdh-sha2-wiRIU8TKjMZ418sMqlqtvQ==\tkex",
596 | "contents": "ecdh-sha2-wiRIU8TKjMZ418sMqlqtvQ==",
597 | "annotation": "kex",
598 | "kind": [
599 | "function",
600 | "k",
601 | "Kex Algm"
602 | ]
603 | },
604 | {
605 | "trigger": "ecmqv-sha2\tkex",
606 | "contents": "ecmqv-sha2",
607 | "annotation": "kex",
608 | "kind": [
609 | "function",
610 | "k",
611 | "Kex Algm"
612 | ]
613 | },
614 | {
615 | "trigger": "ext-info-c\tkex",
616 | "contents": "ext-info-c",
617 | "annotation": "kex",
618 | "kind": [
619 | "function",
620 | "k",
621 | "Kex Algm"
622 | ]
623 | },
624 | {
625 | "trigger": "ext-info-s\tkex",
626 | "contents": "ext-info-s",
627 | "annotation": "kex",
628 | "kind": [
629 | "function",
630 | "k",
631 | "Kex Algm"
632 | ]
633 | },
634 | {
635 | "trigger": "gss-13.3.132.0.10-sha256-\tkex",
636 | "contents": "gss-13.3.132.0.10-sha256-",
637 | "annotation": "kex",
638 | "kind": [
639 | "function",
640 | "k",
641 | "Kex Algm"
642 | ]
643 | },
644 | {
645 | "trigger": "gss-curve25519-sha256-\tkex",
646 | "contents": "gss-curve25519-sha256-",
647 | "annotation": "kex",
648 | "kind": [
649 | "function",
650 | "k",
651 | "Kex Algm"
652 | ]
653 | },
654 | {
655 | "trigger": "gss-curve448-sha512-\tkex",
656 | "contents": "gss-curve448-sha512-",
657 | "annotation": "kex",
658 | "kind": [
659 | "function",
660 | "k",
661 | "Kex Algm"
662 | ]
663 | },
664 | {
665 | "trigger": "gss-gex-sha256-\tkex",
666 | "contents": "gss-gex-sha256-",
667 | "annotation": "kex",
668 | "kind": [
669 | "function",
670 | "k",
671 | "Kex Algm"
672 | ]
673 | },
674 | {
675 | "trigger": "gss-group14-sha256-toWM5Slw5Ew8Mqkay+al2g==\tkex",
676 | "contents": "gss-group14-sha256-toWM5Slw5Ew8Mqkay+al2g==",
677 | "annotation": "kex",
678 | "kind": [
679 | "function",
680 | "k",
681 | "Kex Algm"
682 | ]
683 | },
684 | {
685 | "trigger": "gss-group14-sha256-\tkex",
686 | "contents": "gss-group14-sha256-",
687 | "annotation": "kex",
688 | "kind": [
689 | "function",
690 | "k",
691 | "Kex Algm"
692 | ]
693 | },
694 | {
695 | "trigger": "gss-group15-sha512-toWM5Slw5Ew8Mqkay+al2g==\tkex",
696 | "contents": "gss-group15-sha512-toWM5Slw5Ew8Mqkay+al2g==",
697 | "annotation": "kex",
698 | "kind": [
699 | "function",
700 | "k",
701 | "Kex Algm"
702 | ]
703 | },
704 | {
705 | "trigger": "gss-group15-sha512-\tkex",
706 | "contents": "gss-group15-sha512-",
707 | "annotation": "kex",
708 | "kind": [
709 | "function",
710 | "k",
711 | "Kex Algm"
712 | ]
713 | },
714 | {
715 | "trigger": "gss-group16-sha512-\tkex",
716 | "contents": "gss-group16-sha512-",
717 | "annotation": "kex",
718 | "kind": [
719 | "function",
720 | "k",
721 | "Kex Algm"
722 | ]
723 | },
724 | {
725 | "trigger": "gss-group17-sha512-\tkex",
726 | "contents": "gss-group17-sha512-",
727 | "annotation": "kex",
728 | "kind": [
729 | "function",
730 | "k",
731 | "Kex Algm"
732 | ]
733 | },
734 | {
735 | "trigger": "gss-group18-sha512-\tkex",
736 | "contents": "gss-group18-sha512-",
737 | "annotation": "kex",
738 | "kind": [
739 | "function",
740 | "k",
741 | "Kex Algm"
742 | ]
743 | },
744 | {
745 | "trigger": "gss-nistp256-sha256-\tkex",
746 | "contents": "gss-nistp256-sha256-",
747 | "annotation": "kex",
748 | "kind": [
749 | "function",
750 | "k",
751 | "Kex Algm"
752 | ]
753 | },
754 | {
755 | "trigger": "gss-nistp384-sha256-\tkex",
756 | "contents": "gss-nistp384-sha256-",
757 | "annotation": "kex",
758 | "kind": [
759 | "function",
760 | "k",
761 | "Kex Algm"
762 | ]
763 | },
764 | {
765 | "trigger": "gss-nistp384-sha384-\tkex",
766 | "contents": "gss-nistp384-sha384-",
767 | "annotation": "kex",
768 | "kind": [
769 | "function",
770 | "k",
771 | "Kex Algm"
772 | ]
773 | },
774 | {
775 | "trigger": "gss-nistp521-sha512-\tkex",
776 | "contents": "gss-nistp521-sha512-",
777 | "annotation": "kex",
778 | "kind": [
779 | "function",
780 | "k",
781 | "Kex Algm"
782 | ]
783 | },
784 | {
785 | "trigger": "kexAlgoCurve25519SHA256\tkex",
786 | "contents": "kexAlgoCurve25519SHA256",
787 | "annotation": "kex",
788 | "kind": [
789 | "function",
790 | "k",
791 | "Kex Algm"
792 | ]
793 | },
794 | {
795 | "trigger": "kexAlgoECDH256\tkex",
796 | "contents": "kexAlgoECDH256",
797 | "annotation": "kex",
798 | "kind": [
799 | "function",
800 | "k",
801 | "Kex Algm"
802 | ]
803 | },
804 | {
805 | "trigger": "kexAlgoECDH384\tkex",
806 | "contents": "kexAlgoECDH384",
807 | "annotation": "kex",
808 | "kind": [
809 | "function",
810 | "k",
811 | "Kex Algm"
812 | ]
813 | },
814 | {
815 | "trigger": "kexAlgoECDH521\tkex",
816 | "contents": "kexAlgoECDH521",
817 | "annotation": "kex",
818 | "kind": [
819 | "function",
820 | "k",
821 | "Kex Algm"
822 | ]
823 | },
824 | {
825 | "trigger": "kexguess2@matt.ucc.asn.au\tkex",
826 | "contents": "kexguess2@matt.ucc.asn.au",
827 | "annotation": "kex",
828 | "kind": [
829 | "function",
830 | "k",
831 | "Kex Algm"
832 | ]
833 | },
834 | {
835 | "trigger": "kex-strict-c-v00@openssh.com\tkex",
836 | "contents": "kex-strict-c-v00@openssh.com",
837 | "annotation": "kex",
838 | "kind": [
839 | "function",
840 | "k",
841 | "Kex Algm"
842 | ]
843 | },
844 | {
845 | "trigger": "kex-strict-s-v00@openssh.com\tkex",
846 | "contents": "kex-strict-s-v00@openssh.com",
847 | "annotation": "kex",
848 | "kind": [
849 | "function",
850 | "k",
851 | "Kex Algm"
852 | ]
853 | },
854 | {
855 | "trigger": "m383-sha384@libassh.org\tkex",
856 | "contents": "m383-sha384@libassh.org",
857 | "annotation": "kex",
858 | "kind": [
859 | "function",
860 | "k",
861 | "Kex Algm"
862 | ]
863 | },
864 | {
865 | "trigger": "m511-sha512@libassh.org\tkex",
866 | "contents": "m511-sha512@libassh.org",
867 | "annotation": "kex",
868 | "kind": [
869 | "function",
870 | "k",
871 | "Kex Algm"
872 | ]
873 | },
874 | {
875 | "trigger": "mlkem768x25519-sha256\tkex",
876 | "contents": "mlkem768x25519-sha256",
877 | "annotation": "kex",
878 | "kind": [
879 | "function",
880 | "k",
881 | "Kex Algm"
882 | ]
883 | },
884 | {
885 | "trigger": "rsa2048-sha256\tkex",
886 | "contents": "rsa2048-sha256",
887 | "annotation": "kex",
888 | "kind": [
889 | "function",
890 | "k",
891 | "Kex Algm"
892 | ]
893 | },
894 | {
895 | "trigger": "sm2kep-sha2-nistp256\tkex",
896 | "contents": "sm2kep-sha2-nistp256",
897 | "annotation": "kex",
898 | "kind": [
899 | "function",
900 | "k",
901 | "Kex Algm"
902 | ]
903 | },
904 | {
905 | "trigger": "sntrup4591761x25519-sha512@tinyssh.org\tkex",
906 | "contents": "sntrup4591761x25519-sha512@tinyssh.org",
907 | "annotation": "kex",
908 | "kind": [
909 | "function",
910 | "k",
911 | "Kex Algm"
912 | ]
913 | },
914 | {
915 | "trigger": "sntrup761x25519-sha512@openssh.com\tkex",
916 | "contents": "sntrup761x25519-sha512@openssh.com",
917 | "annotation": "kex",
918 | "kind": [
919 | "function",
920 | "k",
921 | "Kex Algm"
922 | ]
923 | },
924 | {
925 | "trigger": "x25519-kyber-512r3-sha256-d00@amazon.com\tkex",
926 | "contents": "x25519-kyber-512r3-sha256-d00@amazon.com",
927 | "annotation": "kex",
928 | "kind": [
929 | "function",
930 | "k",
931 | "Kex Algm"
932 | ]
933 | },
934 | {
935 | "trigger": "x25519-kyber512-sha512@aws.amazon.com\tkex",
936 | "contents": "x25519-kyber512-sha512@aws.amazon.com",
937 | "annotation": "kex",
938 | "kind": [
939 | "function",
940 | "k",
941 | "Kex Algm"
942 | ]
943 | },
944 | {
945 | "trigger": "diffie-hellman-group-exchange-sha1\tdeprecated kex",
946 | "contents": "diffie-hellman-group-exchange-sha1",
947 | "annotation": "deprecated kex",
948 | "kind": [
949 | "function",
950 | "k",
951 | "Kex Algm"
952 | ],
953 | "details": "Deprecated"
954 | },
955 | {
956 | "trigger": "diffie-hellman-group1-sha1\tdeprecated kex",
957 | "contents": "diffie-hellman-group1-sha1",
958 | "annotation": "deprecated kex",
959 | "kind": [
960 | "function",
961 | "k",
962 | "Kex Algm"
963 | ],
964 | "details": "Deprecated"
965 | },
966 | {
967 | "trigger": "diffie-hellman-group14-sha1\tdeprecated kex",
968 | "contents": "diffie-hellman-group14-sha1",
969 | "annotation": "deprecated kex",
970 | "kind": [
971 | "function",
972 | "k",
973 | "Kex Algm"
974 | ],
975 | "details": "Deprecated"
976 | },
977 | {
978 | "trigger": "ecdh-sha2-1.2.840.10045.3.1.1\tdeprecated kex",
979 | "contents": "ecdh-sha2-1.2.840.10045.3.1.1",
980 | "annotation": "deprecated kex",
981 | "kind": [
982 | "function",
983 | "k",
984 | "Kex Algm"
985 | ],
986 | "details": "Deprecated"
987 | },
988 | {
989 | "trigger": "ecdh-sha2-1.3.132.0.1\tdeprecated kex",
990 | "contents": "ecdh-sha2-1.3.132.0.1",
991 | "annotation": "deprecated kex",
992 | "kind": [
993 | "function",
994 | "k",
995 | "Kex Algm"
996 | ],
997 | "details": "Deprecated"
998 | },
999 | {
1000 | "trigger": "ecdh-sha2-1.3.132.0.26\tdeprecated kex",
1001 | "contents": "ecdh-sha2-1.3.132.0.26",
1002 | "annotation": "deprecated kex",
1003 | "kind": [
1004 | "function",
1005 | "k",
1006 | "Kex Algm"
1007 | ],
1008 | "details": "Deprecated"
1009 | },
1010 | {
1011 | "trigger": "ecdh-sha2-1.3.132.0.27\tdeprecated kex",
1012 | "contents": "ecdh-sha2-1.3.132.0.27",
1013 | "annotation": "deprecated kex",
1014 | "kind": [
1015 | "function",
1016 | "k",
1017 | "Kex Algm"
1018 | ],
1019 | "details": "Deprecated"
1020 | },
1021 | {
1022 | "trigger": "ecdh-sha2-1.3.132.0.33\tdeprecated kex",
1023 | "contents": "ecdh-sha2-1.3.132.0.33",
1024 | "annotation": "deprecated kex",
1025 | "kind": [
1026 | "function",
1027 | "k",
1028 | "Kex Algm"
1029 | ],
1030 | "details": "Deprecated"
1031 | },
1032 | {
1033 | "trigger": "ecdh-sha2-4MHB+NBt3AlaSRQ7MnB4cg==\tdeprecated kex",
1034 | "contents": "ecdh-sha2-4MHB+NBt3AlaSRQ7MnB4cg==",
1035 | "annotation": "deprecated kex",
1036 | "kind": [
1037 | "function",
1038 | "k",
1039 | "Kex Algm"
1040 | ],
1041 | "details": "Deprecated"
1042 | },
1043 | {
1044 | "trigger": "ecdh-sha2-5pPrSUQtIaTjUSt5VZNBjg==\tdeprecated kex",
1045 | "contents": "ecdh-sha2-5pPrSUQtIaTjUSt5VZNBjg==",
1046 | "annotation": "deprecated kex",
1047 | "kind": [
1048 | "function",
1049 | "k",
1050 | "Kex Algm"
1051 | ],
1052 | "details": "Deprecated"
1053 | },
1054 | {
1055 | "trigger": "ecdh-sha2-nistb233\tdeprecated kex",
1056 | "contents": "ecdh-sha2-nistb233",
1057 | "annotation": "deprecated kex",
1058 | "kind": [
1059 | "function",
1060 | "k",
1061 | "Kex Algm"
1062 | ],
1063 | "details": "Deprecated"
1064 | },
1065 | {
1066 | "trigger": "ecdh-sha2-nistk163\tdeprecated kex",
1067 | "contents": "ecdh-sha2-nistk163",
1068 | "annotation": "deprecated kex",
1069 | "kind": [
1070 | "function",
1071 | "k",
1072 | "Kex Algm"
1073 | ],
1074 | "details": "Deprecated"
1075 | },
1076 | {
1077 | "trigger": "ecdh-sha2-nistk233\tdeprecated kex",
1078 | "contents": "ecdh-sha2-nistk233",
1079 | "annotation": "deprecated kex",
1080 | "kind": [
1081 | "function",
1082 | "k",
1083 | "Kex Algm"
1084 | ],
1085 | "details": "Deprecated"
1086 | },
1087 | {
1088 | "trigger": "ecdh-sha2-qCbG5Cn/jjsZ7nBeR7EnOA==\tdeprecated kex",
1089 | "contents": "ecdh-sha2-qCbG5Cn/jjsZ7nBeR7EnOA==",
1090 | "annotation": "deprecated kex",
1091 | "kind": [
1092 | "function",
1093 | "k",
1094 | "Kex Algm"
1095 | ],
1096 | "details": "Deprecated"
1097 | },
1098 | {
1099 | "trigger": "ecdh-sha2-VqBg4QRPjxx1EXZdV0GdWQ==\tdeprecated kex",
1100 | "contents": "ecdh-sha2-VqBg4QRPjxx1EXZdV0GdWQ==",
1101 | "annotation": "deprecated kex",
1102 | "kind": [
1103 | "function",
1104 | "k",
1105 | "Kex Algm"
1106 | ],
1107 | "details": "Deprecated"
1108 | },
1109 | {
1110 | "trigger": "ecdh-sha2-zD/b3hu/71952ArpUG4OjQ==\tdeprecated kex",
1111 | "contents": "ecdh-sha2-zD/b3hu/71952ArpUG4OjQ==",
1112 | "annotation": "deprecated kex",
1113 | "kind": [
1114 | "function",
1115 | "k",
1116 | "Kex Algm"
1117 | ],
1118 | "details": "Deprecated"
1119 | },
1120 | {
1121 | "trigger": "gss-gex-sha1-toWM5Slw5Ew8Mqkay+al2g==\tdeprecated kex",
1122 | "contents": "gss-gex-sha1-toWM5Slw5Ew8Mqkay+al2g==",
1123 | "annotation": "deprecated kex",
1124 | "kind": [
1125 | "function",
1126 | "k",
1127 | "Kex Algm"
1128 | ],
1129 | "details": "Deprecated"
1130 | },
1131 | {
1132 | "trigger": "gss-gex-sha1-\tdeprecated kex",
1133 | "contents": "gss-gex-sha1-",
1134 | "annotation": "deprecated kex",
1135 | "kind": [
1136 | "function",
1137 | "k",
1138 | "Kex Algm"
1139 | ],
1140 | "details": "Deprecated"
1141 | },
1142 | {
1143 | "trigger": "gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==\tdeprecated kex",
1144 | "contents": "gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==",
1145 | "annotation": "deprecated kex",
1146 | "kind": [
1147 | "function",
1148 | "k",
1149 | "Kex Algm"
1150 | ],
1151 | "details": "Deprecated"
1152 | },
1153 | {
1154 | "trigger": "gss-group1-sha1-\tdeprecated kex",
1155 | "contents": "gss-group1-sha1-",
1156 | "annotation": "deprecated kex",
1157 | "kind": [
1158 | "function",
1159 | "k",
1160 | "Kex Algm"
1161 | ],
1162 | "details": "Deprecated"
1163 | },
1164 | {
1165 | "trigger": "gss-group14-sha1-toWM5Slw5Ew8Mqkay+al2g==\tdeprecated kex",
1166 | "contents": "gss-group14-sha1-toWM5Slw5Ew8Mqkay+al2g==",
1167 | "annotation": "deprecated kex",
1168 | "kind": [
1169 | "function",
1170 | "k",
1171 | "Kex Algm"
1172 | ],
1173 | "details": "Deprecated"
1174 | },
1175 | {
1176 | "trigger": "gss-group14-sha1-\tdeprecated kex",
1177 | "contents": "gss-group14-sha1-",
1178 | "annotation": "deprecated kex",
1179 | "kind": [
1180 | "function",
1181 | "k",
1182 | "Kex Algm"
1183 | ],
1184 | "details": "Deprecated"
1185 | },
1186 | {
1187 | "trigger": "kexAlgoDH14SHA1\tdeprecated kex",
1188 | "contents": "kexAlgoDH14SHA1",
1189 | "annotation": "deprecated kex",
1190 | "kind": [
1191 | "function",
1192 | "k",
1193 | "Kex Algm"
1194 | ],
1195 | "details": "Deprecated"
1196 | },
1197 | {
1198 | "trigger": "kexAlgoDH1SHA1\tdeprecated kex",
1199 | "contents": "kexAlgoDH1SHA1",
1200 | "annotation": "deprecated kex",
1201 | "kind": [
1202 | "function",
1203 | "k",
1204 | "Kex Algm"
1205 | ],
1206 | "details": "Deprecated"
1207 | },
1208 | {
1209 | "trigger": "rsa1024-sha1\tdeprecated kex",
1210 | "contents": "rsa1024-sha1",
1211 | "annotation": "deprecated kex",
1212 | "kind": [
1213 | "function",
1214 | "k",
1215 | "Kex Algm"
1216 | ],
1217 | "details": "Deprecated"
1218 | }
1219 | ]
1220 | }
--------------------------------------------------------------------------------
/Support/key-types.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "(source.ssh_config | source.sshd_config) & meta.mapping.value - source source, (text.authorized_keys | text.known_hosts) - comment - string",
3 | "completions": [
4 | {
5 | "trigger": "dsa2048-sha224@libassh.org\tkey type",
6 | "contents": "dsa2048-sha224@libassh.org",
7 | "annotation": "key type",
8 | "kind": [
9 | "type",
10 | "k",
11 | "Key type"
12 | ]
13 | },
14 | {
15 | "trigger": "dsa2048-sha256@libassh.org\tkey type",
16 | "contents": "dsa2048-sha256@libassh.org",
17 | "annotation": "key type",
18 | "kind": [
19 | "type",
20 | "k",
21 | "Key type"
22 | ]
23 | },
24 | {
25 | "trigger": "dsa3072-sha256@libassh.org\tkey type",
26 | "contents": "dsa3072-sha256@libassh.org",
27 | "annotation": "key type",
28 | "kind": [
29 | "type",
30 | "k",
31 | "Key type"
32 | ]
33 | },
34 | {
35 | "trigger": "ecdsa-sha2-1.3.132.0.10-cert-v01@openssh.com\tkey type",
36 | "contents": "ecdsa-sha2-1.3.132.0.10-cert-v01@openssh.com",
37 | "annotation": "key type",
38 | "kind": [
39 | "type",
40 | "k",
41 | "Key type"
42 | ]
43 | },
44 | {
45 | "trigger": "ecdsa-sha2-1.3.132.0.10\tkey type",
46 | "contents": "ecdsa-sha2-1.3.132.0.10",
47 | "annotation": "key type",
48 | "kind": [
49 | "type",
50 | "k",
51 | "Key type"
52 | ]
53 | },
54 | {
55 | "trigger": "ecdsa-sha2-curve25519\tkey type",
56 | "contents": "ecdsa-sha2-curve25519",
57 | "annotation": "key type",
58 | "kind": [
59 | "type",
60 | "k",
61 | "Key type"
62 | ]
63 | },
64 | {
65 | "trigger": "ecdsa-sha2-nistb409\tkey type",
66 | "contents": "ecdsa-sha2-nistb409",
67 | "annotation": "key type",
68 | "kind": [
69 | "type",
70 | "k",
71 | "Key type"
72 | ]
73 | },
74 | {
75 | "trigger": "ecdsa-sha2-nistk163\tkey type",
76 | "contents": "ecdsa-sha2-nistk163",
77 | "annotation": "key type",
78 | "kind": [
79 | "type",
80 | "k",
81 | "Key type"
82 | ]
83 | },
84 | {
85 | "trigger": "ecdsa-sha2-nistk233\tkey type",
86 | "contents": "ecdsa-sha2-nistk233",
87 | "annotation": "key type",
88 | "kind": [
89 | "type",
90 | "k",
91 | "Key type"
92 | ]
93 | },
94 | {
95 | "trigger": "ecdsa-sha2-nistk283\tkey type",
96 | "contents": "ecdsa-sha2-nistk283",
97 | "annotation": "key type",
98 | "kind": [
99 | "type",
100 | "k",
101 | "Key type"
102 | ]
103 | },
104 | {
105 | "trigger": "ecdsa-sha2-nistk409\tkey type",
106 | "contents": "ecdsa-sha2-nistk409",
107 | "annotation": "key type",
108 | "kind": [
109 | "type",
110 | "k",
111 | "Key type"
112 | ]
113 | },
114 | {
115 | "trigger": "ecdsa-sha2-nistp256-cert-v01@openssh.com\tkey type",
116 | "contents": "ecdsa-sha2-nistp256-cert-v01@openssh.com",
117 | "annotation": "key type",
118 | "kind": [
119 | "type",
120 | "k",
121 | "Key type"
122 | ]
123 | },
124 | {
125 | "trigger": "ecdsa-sha2-nistp256\tkey type",
126 | "contents": "ecdsa-sha2-nistp256",
127 | "annotation": "key type",
128 | "kind": [
129 | "type",
130 | "k",
131 | "Key type"
132 | ]
133 | },
134 | {
135 | "trigger": "ecdsa-sha2-nistp384-cert-v01@openssh.com\tkey type",
136 | "contents": "ecdsa-sha2-nistp384-cert-v01@openssh.com",
137 | "annotation": "key type",
138 | "kind": [
139 | "type",
140 | "k",
141 | "Key type"
142 | ]
143 | },
144 | {
145 | "trigger": "ecdsa-sha2-nistp384\tkey type",
146 | "contents": "ecdsa-sha2-nistp384",
147 | "annotation": "key type",
148 | "kind": [
149 | "type",
150 | "k",
151 | "Key type"
152 | ]
153 | },
154 | {
155 | "trigger": "ecdsa-sha2-nistp521-cert-v01@openssh.com\tkey type",
156 | "contents": "ecdsa-sha2-nistp521-cert-v01@openssh.com",
157 | "annotation": "key type",
158 | "kind": [
159 | "type",
160 | "k",
161 | "Key type"
162 | ]
163 | },
164 | {
165 | "trigger": "ecdsa-sha2-nistp521\tkey type",
166 | "contents": "ecdsa-sha2-nistp521",
167 | "annotation": "key type",
168 | "kind": [
169 | "type",
170 | "k",
171 | "Key type"
172 | ]
173 | },
174 | {
175 | "trigger": "ecdsa-sha2-nistt571\tkey type",
176 | "contents": "ecdsa-sha2-nistt571",
177 | "annotation": "key type",
178 | "kind": [
179 | "type",
180 | "k",
181 | "Key type"
182 | ]
183 | },
184 | {
185 | "trigger": "eddsa-e382-shake256@libassh.org\tkey type",
186 | "contents": "eddsa-e382-shake256@libassh.org",
187 | "annotation": "key type",
188 | "kind": [
189 | "type",
190 | "k",
191 | "Key type"
192 | ]
193 | },
194 | {
195 | "trigger": "eddsa-e521-shake256@libassh.org\tkey type",
196 | "contents": "eddsa-e521-shake256@libassh.org",
197 | "annotation": "key type",
198 | "kind": [
199 | "type",
200 | "k",
201 | "Key type"
202 | ]
203 | },
204 | {
205 | "trigger": "rsa-sha2-256-cert-v01@openssh.com\tkey type",
206 | "contents": "rsa-sha2-256-cert-v01@openssh.com",
207 | "annotation": "key type",
208 | "kind": [
209 | "type",
210 | "k",
211 | "Key type"
212 | ]
213 | },
214 | {
215 | "trigger": "rsa-sha2-256\tkey type",
216 | "contents": "rsa-sha2-256",
217 | "annotation": "key type",
218 | "kind": [
219 | "type",
220 | "k",
221 | "Key type"
222 | ]
223 | },
224 | {
225 | "trigger": "rsa-sha2-512-cert-v01@openssh.com\tkey type",
226 | "contents": "rsa-sha2-512-cert-v01@openssh.com",
227 | "annotation": "key type",
228 | "kind": [
229 | "type",
230 | "k",
231 | "Key type"
232 | ]
233 | },
234 | {
235 | "trigger": "rsa-sha2-512\tkey type",
236 | "contents": "rsa-sha2-512",
237 | "annotation": "key type",
238 | "kind": [
239 | "type",
240 | "k",
241 | "Key type"
242 | ]
243 | },
244 | {
245 | "trigger": "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com\tkey type",
246 | "contents": "sk-ecdsa-sha2-nistp256-cert-v01@openssh.com",
247 | "annotation": "key type",
248 | "kind": [
249 | "type",
250 | "k",
251 | "Key type"
252 | ]
253 | },
254 | {
255 | "trigger": "sk-ecdsa-sha2-nistp256@openssh.com\tkey type",
256 | "contents": "sk-ecdsa-sha2-nistp256@openssh.com",
257 | "annotation": "key type",
258 | "kind": [
259 | "type",
260 | "k",
261 | "Key type"
262 | ]
263 | },
264 | {
265 | "trigger": "spi-sign-rsa\tkey type",
266 | "contents": "spi-sign-rsa",
267 | "annotation": "key type",
268 | "kind": [
269 | "type",
270 | "k",
271 | "Key type"
272 | ]
273 | },
274 | {
275 | "trigger": "ssh-ed25519-cert-v01@openssh.com\tkey type",
276 | "contents": "ssh-ed25519-cert-v01@openssh.com",
277 | "annotation": "key type",
278 | "kind": [
279 | "type",
280 | "k",
281 | "Key type"
282 | ]
283 | },
284 | {
285 | "trigger": "ssh-ed25519\tkey type",
286 | "contents": "ssh-ed25519",
287 | "annotation": "key type",
288 | "kind": [
289 | "type",
290 | "k",
291 | "Key type"
292 | ]
293 | },
294 | {
295 | "trigger": "ssh-ed448\tkey type",
296 | "contents": "ssh-ed448",
297 | "annotation": "key type",
298 | "kind": [
299 | "type",
300 | "k",
301 | "Key type"
302 | ]
303 | },
304 | {
305 | "trigger": "ssh-gost-2001\tkey type",
306 | "contents": "ssh-gost-2001",
307 | "annotation": "key type",
308 | "kind": [
309 | "type",
310 | "k",
311 | "Key type"
312 | ]
313 | },
314 | {
315 | "trigger": "ssh-gost-2012-256\tkey type",
316 | "contents": "ssh-gost-2012-256",
317 | "annotation": "key type",
318 | "kind": [
319 | "type",
320 | "k",
321 | "Key type"
322 | ]
323 | },
324 | {
325 | "trigger": "ssh-gost-2012-512\tkey type",
326 | "contents": "ssh-gost-2012-512",
327 | "annotation": "key type",
328 | "kind": [
329 | "type",
330 | "k",
331 | "Key type"
332 | ]
333 | },
334 | {
335 | "trigger": "ssh-rsa-sha256@ssh.com\tkey type",
336 | "contents": "ssh-rsa-sha256@ssh.com",
337 | "annotation": "key type",
338 | "kind": [
339 | "type",
340 | "k",
341 | "Key type"
342 | ]
343 | },
344 | {
345 | "trigger": "ssh-rsa-sha2-256\tkey type",
346 | "contents": "ssh-rsa-sha2-256",
347 | "annotation": "key type",
348 | "kind": [
349 | "type",
350 | "k",
351 | "Key type"
352 | ]
353 | },
354 | {
355 | "trigger": "ssh-rsa-sha2-512\tkey type",
356 | "contents": "ssh-rsa-sha2-512",
357 | "annotation": "key type",
358 | "kind": [
359 | "type",
360 | "k",
361 | "Key type"
362 | ]
363 | },
364 | {
365 | "trigger": "ssh-rsa-sha256@ssh.com\tkey type",
366 | "contents": "ssh-rsa-sha256@ssh.com",
367 | "annotation": "key type",
368 | "kind": [
369 | "type",
370 | "k",
371 | "Key type"
372 | ]
373 | },
374 | {
375 | "trigger": "ssh-rsa-sha384@ssh.com\tkey type",
376 | "contents": "ssh-rsa-sha384@ssh.com",
377 | "annotation": "key type",
378 | "kind": [
379 | "type",
380 | "k",
381 | "Key type"
382 | ]
383 | },
384 | {
385 | "trigger": "ssh-rsa-sha512@ssh.com\tkey type",
386 | "contents": "ssh-rsa-sha512@ssh.com",
387 | "annotation": "key type",
388 | "kind": [
389 | "type",
390 | "k",
391 | "Key type"
392 | ]
393 | },
394 | {
395 | "trigger": "ssh-rsa\tkey type",
396 | "contents": "ssh-rsa",
397 | "annotation": "key type",
398 | "kind": [
399 | "type",
400 | "k",
401 | "Key type"
402 | ]
403 | },
404 | {
405 | "trigger": "ssh-xmss-cert-v01@openssh.com\tkey type",
406 | "contents": "ssh-xmss-cert-v01@openssh.com",
407 | "annotation": "key type",
408 | "kind": [
409 | "type",
410 | "k",
411 | "Key type"
412 | ]
413 | },
414 | {
415 | "trigger": "ssh-xmss@openssh.com\tkey type",
416 | "contents": "ssh-xmss@openssh.com",
417 | "annotation": "key type",
418 | "kind": [
419 | "type",
420 | "k",
421 | "Key type"
422 | ]
423 | },
424 | {
425 | "trigger": "webauthn-sk-ecdsa-sha2-nistp256@openssh.com\tkey type",
426 | "contents": "webauthn-sk-ecdsa-sha2-nistp256@openssh.com",
427 | "annotation": "key type",
428 | "kind": [
429 | "type",
430 | "k",
431 | "Key type"
432 | ]
433 | },
434 | {
435 | "trigger": "x509v3-ecdsa-sha2-1.3.132.0.10\tkey type",
436 | "contents": "x509v3-ecdsa-sha2-1.3.132.0.10",
437 | "annotation": "key type",
438 | "kind": [
439 | "type",
440 | "k",
441 | "Key type"
442 | ]
443 | },
444 | {
445 | "trigger": "x509v3-ecdsa-sha2-nistp256\tkey type",
446 | "contents": "x509v3-ecdsa-sha2-nistp256",
447 | "annotation": "key type",
448 | "kind": [
449 | "type",
450 | "k",
451 | "Key type"
452 | ]
453 | },
454 | {
455 | "trigger": "x509v3-ecdsa-sha2-nistp384\tkey type",
456 | "contents": "x509v3-ecdsa-sha2-nistp384",
457 | "annotation": "key type",
458 | "kind": [
459 | "type",
460 | "k",
461 | "Key type"
462 | ]
463 | },
464 | {
465 | "trigger": "x509v3-ecdsa-sha2-nistp521\tkey type",
466 | "contents": "x509v3-ecdsa-sha2-nistp521",
467 | "annotation": "key type",
468 | "kind": [
469 | "type",
470 | "k",
471 | "Key type"
472 | ]
473 | },
474 | {
475 | "trigger": "x509v3-rsa2048-sha256\tkey type",
476 | "contents": "x509v3-rsa2048-sha256",
477 | "annotation": "key type",
478 | "kind": [
479 | "type",
480 | "k",
481 | "Key type"
482 | ]
483 | },
484 | {
485 | "trigger": "x509v3-sign-rsa-sha256@ssh.com\tkey type",
486 | "contents": "x509v3-sign-rsa-sha256@ssh.com",
487 | "annotation": "key type",
488 | "kind": [
489 | "type",
490 | "k",
491 | "Key type"
492 | ]
493 | },
494 | {
495 | "trigger": "x509v3-sign-dss-sha224@ssh.com\tkey type",
496 | "contents": "x509v3-sign-dss-sha224@ssh.com",
497 | "annotation": "key type",
498 | "kind": [
499 | "type",
500 | "k",
501 | "Key type"
502 | ]
503 | },
504 | {
505 | "trigger": "x509v3-sign-dss-sha256@ssh.com\tkey type",
506 | "contents": "x509v3-sign-dss-sha256@ssh.com",
507 | "annotation": "key type",
508 | "kind": [
509 | "type",
510 | "k",
511 | "Key type"
512 | ]
513 | },
514 | {
515 | "trigger": "x509v3-sign-dss-sha384@ssh.com\tkey type",
516 | "contents": "x509v3-sign-dss-sha384@ssh.com",
517 | "annotation": "key type",
518 | "kind": [
519 | "type",
520 | "k",
521 | "Key type"
522 | ]
523 | },
524 | {
525 | "trigger": "x509v3-sign-dss-sha512@ssh.com\tkey type",
526 | "contents": "x509v3-sign-dss-sha512@ssh.com",
527 | "annotation": "key type",
528 | "kind": [
529 | "type",
530 | "k",
531 | "Key type"
532 | ]
533 | },
534 | {
535 | "trigger": "x509v3-sign-rsa-sha224@ssh.com\tkey type",
536 | "contents": "x509v3-sign-rsa-sha224@ssh.com",
537 | "annotation": "key type",
538 | "kind": [
539 | "type",
540 | "k",
541 | "Key type"
542 | ]
543 | },
544 | {
545 | "trigger": "x509v3-sign-rsa-sha256\tkey type",
546 | "contents": "x509v3-sign-rsa-sha256",
547 | "annotation": "key type",
548 | "kind": [
549 | "type",
550 | "k",
551 | "Key type"
552 | ]
553 | },
554 | {
555 | "trigger": "x509v3-sign-rsa-sha256@ssh.com\tkey type",
556 | "contents": "x509v3-sign-rsa-sha256@ssh.com",
557 | "annotation": "key type",
558 | "kind": [
559 | "type",
560 | "k",
561 | "Key type"
562 | ]
563 | },
564 | {
565 | "trigger": "x509v3-sign-rsa-sha384@ssh.com\tkey type",
566 | "contents": "x509v3-sign-rsa-sha384@ssh.com",
567 | "annotation": "key type",
568 | "kind": [
569 | "type",
570 | "k",
571 | "Key type"
572 | ]
573 | },
574 | {
575 | "trigger": "x509v3-sign-rsa-sha512@ssh.com\tkey type",
576 | "contents": "x509v3-sign-rsa-sha512@ssh.com",
577 | "annotation": "key type",
578 | "kind": [
579 | "type",
580 | "k",
581 | "Key type"
582 | ]
583 | },
584 | {
585 | "trigger": "ecdsa-sha2-nistb233\tdeprecated key type",
586 | "contents": "ecdsa-sha2-nistb233",
587 | "annotation": "deprecated key type",
588 | "kind": [
589 | "type",
590 | "k",
591 | "Key type"
592 | ],
593 | "details": "Deprecated"
594 | },
595 | {
596 | "trigger": "ecdsa-sha2-nistp224\tdeprecated key type",
597 | "contents": "ecdsa-sha2-nistp224",
598 | "annotation": "deprecated key type",
599 | "kind": [
600 | "type",
601 | "k",
602 | "Key type"
603 | ],
604 | "details": "Deprecated"
605 | },
606 | {
607 | "trigger": "ecdsa-sha2-nistp192\tdeprecated key type",
608 | "contents": "ecdsa-sha2-nistp192",
609 | "annotation": "deprecated key type",
610 | "kind": [
611 | "type",
612 | "k",
613 | "Key type"
614 | ],
615 | "details": "Deprecated"
616 | },
617 | {
618 | "trigger": "null\tdeprecated key type",
619 | "contents": "null",
620 | "annotation": "deprecated key type",
621 | "kind": [
622 | "type",
623 | "k",
624 | "Key type"
625 | ],
626 | "details": "Deprecated"
627 | },
628 | {
629 | "trigger": "pgp-sign-dss\tdeprecated key type",
630 | "contents": "pgp-sign-dss",
631 | "annotation": "deprecated key type",
632 | "kind": [
633 | "type",
634 | "k",
635 | "Key type"
636 | ],
637 | "details": "Deprecated"
638 | },
639 | {
640 | "trigger": "pgp-sign-rsa\tdeprecated key type",
641 | "contents": "pgp-sign-rsa",
642 | "annotation": "deprecated key type",
643 | "kind": [
644 | "type",
645 | "k",
646 | "Key type"
647 | ],
648 | "details": "Deprecated"
649 | },
650 | {
651 | "trigger": "spki-sign-dss\tdeprecated key type",
652 | "contents": "spki-sign-dss",
653 | "annotation": "deprecated key type",
654 | "kind": [
655 | "type",
656 | "k",
657 | "Key type"
658 | ],
659 | "details": "Deprecated"
660 | },
661 | {
662 | "trigger": "spki-sign-rsa\tdeprecated key type",
663 | "contents": "spki-sign-rsa",
664 | "annotation": "deprecated key type",
665 | "kind": [
666 | "type",
667 | "k",
668 | "Key type"
669 | ],
670 | "details": "Deprecated"
671 | },
672 | {
673 | "trigger": "ssh-dsa\tdeprecated key type",
674 | "contents": "ssh-dsa",
675 | "annotation": "deprecated key type",
676 | "kind": [
677 | "type",
678 | "k",
679 | "Key type"
680 | ],
681 | "details": "Deprecated"
682 | },
683 | {
684 | "trigger": "ssh-dss\tdeprecated key type",
685 | "contents": "ssh-dss",
686 | "annotation": "deprecated key type",
687 | "kind": [
688 | "type",
689 | "k",
690 | "Key type"
691 | ],
692 | "details": "Deprecated"
693 | },
694 | {
695 | "trigger": "ssh-dss-cert-v00@openssh.com\tdeprecated key type",
696 | "contents": "ssh-dss-cert-v00@openssh.com",
697 | "annotation": "deprecated key type",
698 | "kind": [
699 | "type",
700 | "k",
701 | "Key type"
702 | ],
703 | "details": "Deprecated"
704 | },
705 | {
706 | "trigger": "ssh-dss-cert-v01@openssh.com\tdeprecated key type",
707 | "contents": "ssh-dss-cert-v01@openssh.com",
708 | "annotation": "deprecated key type",
709 | "kind": [
710 | "type",
711 | "k",
712 | "Key type"
713 | ],
714 | "details": "Deprecated"
715 | },
716 | {
717 | "trigger": "ssh-dss-sha224@ssh.com\tdeprecated key type",
718 | "contents": "ssh-dss-sha224@ssh.com",
719 | "annotation": "deprecated key type",
720 | "kind": [
721 | "type",
722 | "k",
723 | "Key type"
724 | ],
725 | "details": "Deprecated"
726 | },
727 | {
728 | "trigger": "ssh-dss-sha256@ssh.com\tdeprecated key type",
729 | "contents": "ssh-dss-sha256@ssh.com",
730 | "annotation": "deprecated key type",
731 | "kind": [
732 | "type",
733 | "k",
734 | "Key type"
735 | ],
736 | "details": "Deprecated"
737 | },
738 | {
739 | "trigger": "ssh-dss-sha384@ssh.com\tdeprecated key type",
740 | "contents": "ssh-dss-sha384@ssh.com",
741 | "annotation": "deprecated key type",
742 | "kind": [
743 | "type",
744 | "k",
745 | "Key type"
746 | ],
747 | "details": "Deprecated"
748 | },
749 | {
750 | "trigger": "ssh-dss-sha512@ssh.com\tdeprecated key type",
751 | "contents": "ssh-dss-sha512@ssh.com",
752 | "annotation": "deprecated key type",
753 | "kind": [
754 | "type",
755 | "k",
756 | "Key type"
757 | ],
758 | "details": "Deprecated"
759 | },
760 | {
761 | "trigger": "ssh-rsa-cert-v00@openssh.com\tdeprecated key type",
762 | "contents": "ssh-rsa-cert-v00@openssh.com",
763 | "annotation": "deprecated key type",
764 | "kind": [
765 | "type",
766 | "k",
767 | "Key type"
768 | ],
769 | "details": "Deprecated"
770 | },
771 | {
772 | "trigger": "ssh-rsa-cert-v01@openssh.com\tdeprecated key type",
773 | "contents": "ssh-rsa-cert-v01@openssh.com",
774 | "annotation": "deprecated key type",
775 | "kind": [
776 | "type",
777 | "k",
778 | "Key type"
779 | ],
780 | "details": "Deprecated"
781 | },
782 | {
783 | "trigger": "ssh-rsa1\tdeprecated key type",
784 | "contents": "ssh-rsa1",
785 | "annotation": "deprecated key type",
786 | "kind": [
787 | "type",
788 | "k",
789 | "Key type"
790 | ],
791 | "details": "Deprecated"
792 | },
793 | {
794 | "trigger": "x509v3-sign-dss-sha1\tdeprecated key type",
795 | "contents": "x509v3-sign-dss-sha1",
796 | "annotation": "deprecated key type",
797 | "kind": [
798 | "type",
799 | "k",
800 | "Key type"
801 | ],
802 | "details": "Deprecated"
803 | },
804 | {
805 | "trigger": "x509v3-sign-dss\tdeprecated key type",
806 | "contents": "x509v3-sign-dss",
807 | "annotation": "deprecated key type",
808 | "kind": [
809 | "type",
810 | "k",
811 | "Key type"
812 | ],
813 | "details": "Deprecated"
814 | },
815 | {
816 | "trigger": "x509v3-sign-rsa-sha1\tdeprecated key type",
817 | "contents": "x509v3-sign-rsa-sha1",
818 | "annotation": "deprecated key type",
819 | "kind": [
820 | "type",
821 | "k",
822 | "Key type"
823 | ],
824 | "details": "Deprecated"
825 | },
826 | {
827 | "trigger": "x509v3-sign-rsa\tdeprecated key type",
828 | "contents": "x509v3-sign-rsa",
829 | "annotation": "deprecated key type",
830 | "kind": [
831 | "type",
832 | "k",
833 | "Key type"
834 | ],
835 | "details": "Deprecated"
836 | },
837 | {
838 | "trigger": "x509v3-ssh-dss\tdeprecated key type",
839 | "contents": "x509v3-ssh-dss",
840 | "annotation": "deprecated key type",
841 | "kind": [
842 | "type",
843 | "k",
844 | "Key type"
845 | ],
846 | "details": "Deprecated"
847 | },
848 | {
849 | "trigger": "x509v3-ssh-rsa\tdeprecated key type",
850 | "contents": "x509v3-ssh-rsa",
851 | "annotation": "deprecated key type",
852 | "kind": [
853 | "type",
854 | "k",
855 | "Key type"
856 | ],
857 | "details": "Deprecated"
858 | }
859 | ]
860 | }
--------------------------------------------------------------------------------
/Support/mac-algorithms.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "(source.ssh_config | source.sshd_config) & meta.mapping.value - source source",
3 | "completions": [
4 | {
5 | "trigger": "AEAD_AES_128_GCM\tmac",
6 | "contents": "AEAD_AES_128_GCM",
7 | "annotation": "mac",
8 | "kind": [
9 | "function",
10 | "m",
11 | "MAC Algm"
12 | ]
13 | },
14 | {
15 | "trigger": "AEAD_AES_256_GCM\tmac",
16 | "contents": "AEAD_AES_256_GCM",
17 | "annotation": "mac",
18 | "kind": [
19 | "function",
20 | "m",
21 | "MAC Algm"
22 | ]
23 | },
24 | {
25 | "trigger": "aes128-gcm\tmac",
26 | "contents": "aes128-gcm",
27 | "annotation": "mac",
28 | "kind": [
29 | "function",
30 | "m",
31 | "MAC Algm"
32 | ]
33 | },
34 | {
35 | "trigger": "aes256-gcm\tmac",
36 | "contents": "aes256-gcm",
37 | "annotation": "mac",
38 | "kind": [
39 | "function",
40 | "m",
41 | "MAC Algm"
42 | ]
43 | },
44 | {
45 | "trigger": "cbcmac-aes\tmac",
46 | "contents": "cbcmac-aes",
47 | "annotation": "mac",
48 | "kind": [
49 | "function",
50 | "m",
51 | "MAC Algm"
52 | ]
53 | },
54 | {
55 | "trigger": "cbcmac-twofish\tmac",
56 | "contents": "cbcmac-twofish",
57 | "annotation": "mac",
58 | "kind": [
59 | "function",
60 | "m",
61 | "MAC Algm"
62 | ]
63 | },
64 | {
65 | "trigger": "chacha20-poly1305@openssh.com\tmac",
66 | "contents": "chacha20-poly1305@openssh.com",
67 | "annotation": "mac",
68 | "kind": [
69 | "function",
70 | "m",
71 | "MAC Algm"
72 | ]
73 | },
74 | {
75 | "trigger": "crypticore-mac@ssh.com\tmac",
76 | "contents": "crypticore-mac@ssh.com",
77 | "annotation": "mac",
78 | "kind": [
79 | "function",
80 | "m",
81 | "MAC Algm"
82 | ]
83 | },
84 | {
85 | "trigger": "hmac-sha2-224\tmac",
86 | "contents": "hmac-sha2-224",
87 | "annotation": "mac",
88 | "kind": [
89 | "function",
90 | "m",
91 | "MAC Algm"
92 | ]
93 | },
94 | {
95 | "trigger": "hmac-sha2-256-96-etm@openssh.com\tmac",
96 | "contents": "hmac-sha2-256-96-etm@openssh.com",
97 | "annotation": "mac",
98 | "kind": [
99 | "function",
100 | "m",
101 | "MAC Algm"
102 | ]
103 | },
104 | {
105 | "trigger": "hmac-sha2-256-etm@openssh.com\tmac",
106 | "contents": "hmac-sha2-256-etm@openssh.com",
107 | "annotation": "mac",
108 | "kind": [
109 | "function",
110 | "m",
111 | "MAC Algm"
112 | ]
113 | },
114 | {
115 | "trigger": "hmac-sha2-256\tmac",
116 | "contents": "hmac-sha2-256",
117 | "annotation": "mac",
118 | "kind": [
119 | "function",
120 | "m",
121 | "MAC Algm"
122 | ]
123 | },
124 | {
125 | "trigger": "hmac-sha2-384\tmac",
126 | "contents": "hmac-sha2-384",
127 | "annotation": "mac",
128 | "kind": [
129 | "function",
130 | "m",
131 | "MAC Algm"
132 | ]
133 | },
134 | {
135 | "trigger": "hmac-sha2-512-96-etm@openssh.com\tmac",
136 | "contents": "hmac-sha2-512-96-etm@openssh.com",
137 | "annotation": "mac",
138 | "kind": [
139 | "function",
140 | "m",
141 | "MAC Algm"
142 | ]
143 | },
144 | {
145 | "trigger": "hmac-sha2-512-etm@openssh.com\tmac",
146 | "contents": "hmac-sha2-512-etm@openssh.com",
147 | "annotation": "mac",
148 | "kind": [
149 | "function",
150 | "m",
151 | "MAC Algm"
152 | ]
153 | },
154 | {
155 | "trigger": "hmac-sha2-512\tmac",
156 | "contents": "hmac-sha2-512",
157 | "annotation": "mac",
158 | "kind": [
159 | "function",
160 | "m",
161 | "MAC Algm"
162 | ]
163 | },
164 | {
165 | "trigger": "hmac-sha2-56\tmac",
166 | "contents": "hmac-sha2-56",
167 | "annotation": "mac",
168 | "kind": [
169 | "function",
170 | "m",
171 | "MAC Algm"
172 | ]
173 | },
174 | {
175 | "trigger": "hmac-sha256-96@ssh.com\tmac",
176 | "contents": "hmac-sha256-96@ssh.com",
177 | "annotation": "mac",
178 | "kind": [
179 | "function",
180 | "m",
181 | "MAC Algm"
182 | ]
183 | },
184 | {
185 | "trigger": "hmac-sha256@ssh.com\tmac",
186 | "contents": "hmac-sha256@ssh.com",
187 | "annotation": "mac",
188 | "kind": [
189 | "function",
190 | "m",
191 | "MAC Algm"
192 | ]
193 | },
194 | {
195 | "trigger": "hmac-sha256\tmac",
196 | "contents": "hmac-sha256",
197 | "annotation": "mac",
198 | "kind": [
199 | "function",
200 | "m",
201 | "MAC Algm"
202 | ]
203 | },
204 | {
205 | "trigger": "hmac-sha3-224\tmac",
206 | "contents": "hmac-sha3-224",
207 | "annotation": "mac",
208 | "kind": [
209 | "function",
210 | "m",
211 | "MAC Algm"
212 | ]
213 | },
214 | {
215 | "trigger": "hmac-sha3-256\tmac",
216 | "contents": "hmac-sha3-256",
217 | "annotation": "mac",
218 | "kind": [
219 | "function",
220 | "m",
221 | "MAC Algm"
222 | ]
223 | },
224 | {
225 | "trigger": "hmac-sha3-384\tmac",
226 | "contents": "hmac-sha3-384",
227 | "annotation": "mac",
228 | "kind": [
229 | "function",
230 | "m",
231 | "MAC Algm"
232 | ]
233 | },
234 | {
235 | "trigger": "hmac-sha3-512\tmac",
236 | "contents": "hmac-sha3-512",
237 | "annotation": "mac",
238 | "kind": [
239 | "function",
240 | "m",
241 | "MAC Algm"
242 | ]
243 | },
244 | {
245 | "trigger": "hmac-sha512@ssh.com\tmac",
246 | "contents": "hmac-sha512@ssh.com",
247 | "annotation": "mac",
248 | "kind": [
249 | "function",
250 | "m",
251 | "MAC Algm"
252 | ]
253 | },
254 | {
255 | "trigger": "hmac-sha512\tmac",
256 | "contents": "hmac-sha512",
257 | "annotation": "mac",
258 | "kind": [
259 | "function",
260 | "m",
261 | "MAC Algm"
262 | ]
263 | },
264 | {
265 | "trigger": "umac-128-etm@openssh.com\tmac",
266 | "contents": "umac-128-etm@openssh.com",
267 | "annotation": "mac",
268 | "kind": [
269 | "function",
270 | "m",
271 | "MAC Algm"
272 | ]
273 | },
274 | {
275 | "trigger": "umac-128@openssh.com\tmac",
276 | "contents": "umac-128@openssh.com",
277 | "annotation": "mac",
278 | "kind": [
279 | "function",
280 | "m",
281 | "MAC Algm"
282 | ]
283 | },
284 | {
285 | "trigger": "umac-128\tmac",
286 | "contents": "umac-128",
287 | "annotation": "mac",
288 | "kind": [
289 | "function",
290 | "m",
291 | "MAC Algm"
292 | ]
293 | },
294 | {
295 | "trigger": "umac-32@openssh.com\tmac",
296 | "contents": "umac-32@openssh.com",
297 | "annotation": "mac",
298 | "kind": [
299 | "function",
300 | "m",
301 | "MAC Algm"
302 | ]
303 | },
304 | {
305 | "trigger": "umac-64-etm@openssh.com\tmac",
306 | "contents": "umac-64-etm@openssh.com",
307 | "annotation": "mac",
308 | "kind": [
309 | "function",
310 | "m",
311 | "MAC Algm"
312 | ]
313 | },
314 | {
315 | "trigger": "umac-64@openssh.com\tmac",
316 | "contents": "umac-64@openssh.com",
317 | "annotation": "mac",
318 | "kind": [
319 | "function",
320 | "m",
321 | "MAC Algm"
322 | ]
323 | },
324 | {
325 | "trigger": "umac-96@openssh.com\tmac",
326 | "contents": "umac-96@openssh.com",
327 | "annotation": "mac",
328 | "kind": [
329 | "function",
330 | "m",
331 | "MAC Algm"
332 | ]
333 | },
334 | {
335 | "trigger": "cbcmac-3des\tdeprecated mac",
336 | "contents": "cbcmac-3des",
337 | "annotation": "deprecated mac",
338 | "kind": [
339 | "function",
340 | "m",
341 | "MAC Algm"
342 | ],
343 | "details": "Deprecated"
344 | },
345 | {
346 | "trigger": "cbcmac-blowfish\tdeprecated mac",
347 | "contents": "cbcmac-blowfish",
348 | "annotation": "deprecated mac",
349 | "kind": [
350 | "function",
351 | "m",
352 | "MAC Algm"
353 | ],
354 | "details": "Deprecated"
355 | },
356 | {
357 | "trigger": "cbcmac-des\tdeprecated mac",
358 | "contents": "cbcmac-des",
359 | "annotation": "deprecated mac",
360 | "kind": [
361 | "function",
362 | "m",
363 | "MAC Algm"
364 | ],
365 | "details": "Deprecated"
366 | },
367 | {
368 | "trigger": "cbcmac-rijndael\tdeprecated mac",
369 | "contents": "cbcmac-rijndael",
370 | "annotation": "deprecated mac",
371 | "kind": [
372 | "function",
373 | "m",
374 | "MAC Algm"
375 | ],
376 | "details": "Deprecated"
377 | },
378 | {
379 | "trigger": "hmac-md5-96\tdeprecated mac",
380 | "contents": "hmac-md5-96",
381 | "annotation": "deprecated mac",
382 | "kind": [
383 | "function",
384 | "m",
385 | "MAC Algm"
386 | ],
387 | "details": "Deprecated"
388 | },
389 | {
390 | "trigger": "hmac-md5-96-etm@openssh.com\tdeprecated mac",
391 | "contents": "hmac-md5-96-etm@openssh.com",
392 | "annotation": "deprecated mac",
393 | "kind": [
394 | "function",
395 | "m",
396 | "MAC Algm"
397 | ],
398 | "details": "Deprecated"
399 | },
400 | {
401 | "trigger": "hmac-md5-etm@openssh.com\tdeprecated mac",
402 | "contents": "hmac-md5-etm@openssh.com",
403 | "annotation": "deprecated mac",
404 | "kind": [
405 | "function",
406 | "m",
407 | "MAC Algm"
408 | ],
409 | "details": "Deprecated"
410 | },
411 | {
412 | "trigger": "hmac-md5\tdeprecated mac",
413 | "contents": "hmac-md5",
414 | "annotation": "deprecated mac",
415 | "kind": [
416 | "function",
417 | "m",
418 | "MAC Algm"
419 | ],
420 | "details": "Deprecated"
421 | },
422 | {
423 | "trigger": "hmac-ripemd160-etm@openssh.com\tdeprecated mac",
424 | "contents": "hmac-ripemd160-etm@openssh.com",
425 | "annotation": "deprecated mac",
426 | "kind": [
427 | "function",
428 | "m",
429 | "MAC Algm"
430 | ],
431 | "details": "Deprecated"
432 | },
433 | {
434 | "trigger": "hmac-ripemd160@openssh.com\tdeprecated mac",
435 | "contents": "hmac-ripemd160@openssh.com",
436 | "annotation": "deprecated mac",
437 | "kind": [
438 | "function",
439 | "m",
440 | "MAC Algm"
441 | ],
442 | "details": "Deprecated"
443 | },
444 | {
445 | "trigger": "hmac-ripemd160-96\tdeprecated mac",
446 | "contents": "hmac-ripemd160-96",
447 | "annotation": "deprecated mac",
448 | "kind": [
449 | "function",
450 | "m",
451 | "MAC Algm"
452 | ],
453 | "details": "Deprecated"
454 | },
455 | {
456 | "trigger": "hmac-ripemd160\tdeprecated mac",
457 | "contents": "hmac-ripemd160",
458 | "annotation": "deprecated mac",
459 | "kind": [
460 | "function",
461 | "m",
462 | "MAC Algm"
463 | ],
464 | "details": "Deprecated"
465 | },
466 | {
467 | "trigger": "hmac-ripemd\tdeprecated mac",
468 | "contents": "hmac-ripemd",
469 | "annotation": "deprecated mac",
470 | "kind": [
471 | "function",
472 | "m",
473 | "MAC Algm"
474 | ],
475 | "details": "Deprecated"
476 | },
477 | {
478 | "trigger": "hmac-sha1-96-etm@openssh.com\tdeprecated mac",
479 | "contents": "hmac-sha1-96-etm@openssh.com",
480 | "annotation": "deprecated mac",
481 | "kind": [
482 | "function",
483 | "m",
484 | "MAC Algm"
485 | ],
486 | "details": "Deprecated"
487 | },
488 | {
489 | "trigger": "hmac-sha1-96\tdeprecated mac",
490 | "contents": "hmac-sha1-96",
491 | "annotation": "deprecated mac",
492 | "kind": [
493 | "function",
494 | "m",
495 | "MAC Algm"
496 | ],
497 | "details": "Deprecated"
498 | },
499 | {
500 | "trigger": "hmac-sha1-etm@openssh.com\tdeprecated mac",
501 | "contents": "hmac-sha1-etm@openssh.com",
502 | "annotation": "deprecated mac",
503 | "kind": [
504 | "function",
505 | "m",
506 | "MAC Algm"
507 | ],
508 | "details": "Deprecated"
509 | },
510 | {
511 | "trigger": "hmac-sha1\tdeprecated mac",
512 | "contents": "hmac-sha1",
513 | "annotation": "deprecated mac",
514 | "kind": [
515 | "function",
516 | "m",
517 | "MAC Algm"
518 | ],
519 | "details": "Deprecated"
520 | },
521 | {
522 | "trigger": "hmac-sha2-256-96\tdeprecated mac",
523 | "contents": "hmac-sha2-256-96",
524 | "annotation": "deprecated mac",
525 | "kind": [
526 | "function",
527 | "m",
528 | "MAC Algm"
529 | ],
530 | "details": "Deprecated"
531 | },
532 | {
533 | "trigger": "hmac-sha2-512-96\tdeprecated mac",
534 | "contents": "hmac-sha2-512-96",
535 | "annotation": "deprecated mac",
536 | "kind": [
537 | "function",
538 | "m",
539 | "MAC Algm"
540 | ],
541 | "details": "Deprecated"
542 | },
543 | {
544 | "trigger": "none\tdeprecated mac",
545 | "contents": "none",
546 | "annotation": "deprecated mac",
547 | "kind": [
548 | "function",
549 | "m",
550 | "MAC Algm"
551 | ],
552 | "details": "Deprecated"
553 | },
554 | {
555 | "trigger": "md5-8\tdeprecated mac",
556 | "contents": "md5-8",
557 | "annotation": "deprecated mac",
558 | "kind": [
559 | "function",
560 | "m",
561 | "MAC Algm"
562 | ],
563 | "details": "Deprecated"
564 | },
565 | {
566 | "trigger": "md5\tdeprecated mac",
567 | "contents": "md5",
568 | "annotation": "deprecated mac",
569 | "kind": [
570 | "function",
571 | "m",
572 | "MAC Algm"
573 | ],
574 | "details": "Deprecated"
575 | },
576 | {
577 | "trigger": "ripemd160-8\tdeprecated mac",
578 | "contents": "ripemd160-8",
579 | "annotation": "deprecated mac",
580 | "kind": [
581 | "function",
582 | "m",
583 | "MAC Algm"
584 | ],
585 | "details": "Deprecated"
586 | },
587 | {
588 | "trigger": "ripemd160\tdeprecated mac",
589 | "contents": "ripemd160",
590 | "annotation": "deprecated mac",
591 | "kind": [
592 | "function",
593 | "m",
594 | "MAC Algm"
595 | ],
596 | "details": "Deprecated"
597 | },
598 | {
599 | "trigger": "sha1-8\tdeprecated mac",
600 | "contents": "sha1-8",
601 | "annotation": "deprecated mac",
602 | "kind": [
603 | "function",
604 | "m",
605 | "MAC Algm"
606 | ],
607 | "details": "Deprecated"
608 | },
609 | {
610 | "trigger": "sha1\tdeprecated mac",
611 | "contents": "sha1",
612 | "annotation": "deprecated mac",
613 | "kind": [
614 | "function",
615 | "m",
616 | "MAC Algm"
617 | ],
618 | "details": "Deprecated"
619 | }
620 | ]
621 | }
--------------------------------------------------------------------------------
/main.py:
--------------------------------------------------------------------------------
1 | import sublime
2 | import sublime_plugin
3 | from os.path import expandvars
4 |
5 |
6 | def get_file_location(identifier):
7 | settings = sublime.load_settings('SSH Config.sublime-settings')
8 | user_setting = settings.get('file_locations')
9 | if user_setting:
10 | if identifier in user_setting:
11 | return expandvars(user_setting[identifier])
12 | else:
13 | print('Could not find {} key in "file_locations"'
14 | ''.format(identifier))
15 | return expandvars(settings.get(
16 | 'default_file_locations')[sublime.platform()][identifier])
17 |
18 |
19 | def open_new_view(instance, identifier):
20 | window = instance.view.window()
21 | if not window:
22 | print('Missing window for view')
23 | return
24 | view = window.open_file(get_file_location(identifier))
25 | return view
26 |
27 |
28 | class OpenSshConfigFileCommand(sublime_plugin.TextCommand):
29 | def run(self, edit):
30 | view = open_new_view(self, 'ssh_config')
31 | if not view:
32 | return
33 |
34 | if sublime.load_settings('SSH Config.sublime-settings').get(
35 | 'force_ssh_config_syntax'):
36 | syntax = 'Packages/SSH Config/SSH Config.sublime-syntax'
37 | view.settings().set('syntax', syntax)
38 |
39 |
40 | class OpenSshdConfigFileCommand(sublime_plugin.TextCommand):
41 | def run(self, edit):
42 | view = open_new_view(self, 'sshd_config')
43 |
44 |
45 | class OpenKnownHostsFileCommand(sublime_plugin.TextCommand):
46 | def run(self, edit):
47 | view = open_new_view(self, 'known_hosts')
48 |
49 |
50 | class OpenAuthorizedKeysFileCommand(sublime_plugin.TextCommand):
51 | def run(self, edit):
52 | view = open_new_view(self, 'authorized_keys')
53 |
--------------------------------------------------------------------------------
/messages/2.0.0.md:
--------------------------------------------------------------------------------
1 | v2.0.0 (2018-09-20)
2 | ===================
3 |
4 | **Support is _dropped_ for Sublime Text 2.**
5 | ST2 users can continue using the package as it existed in 2015.
6 |
7 | - Separate SSH / SSHD file syntax and completions
8 | - Additional highlighting
9 | - Go-to-Symbol support (`Cmd`+`R` or `Ctrl`+`R`)
10 | - Commands to open `~/.ssh/config` and `/etc/ssh/sshd_config`
11 |
--------------------------------------------------------------------------------
/messages/2.1.0.md:
--------------------------------------------------------------------------------
1 | v2.1.0 (2019-03-26)
2 | ===================
3 |
4 | - Support for the `Match` entries in SSH Config
5 | - More accurate tokens in `ProxyCommand` and `LocalCommand`
6 |
--------------------------------------------------------------------------------
/messages/2.2.0.md:
--------------------------------------------------------------------------------
1 | v2.2.0 (2019-03-29)
2 | ===================
3 |
4 | If you were missing autocomplete as you type, add a syntax-specific setting with this content (or add this key):
5 |
6 | ``` json
7 | {
8 | "auto_complete_selector": "text.ssh_config, text.sshd_config"
9 | }
10 | ```
11 |
12 | ## SSH Config
13 |
14 | - Meta scopes for blocks (`Host` and `Match`), conditionals, and options
15 | - Support for `=` in option assignment
16 | - Mild support for double-quoted option values
17 | - Boolean-only options now complain about non-boolean values
18 | - Highlight wildcards and commas in generic values
19 |
--------------------------------------------------------------------------------
/messages/2.3.0.md:
--------------------------------------------------------------------------------
1 | v2.3.0 (2019-04-08)
2 | ===================
3 |
4 | ## SSH Config
5 |
6 | - Fix regression for non-boolean options that started the same as a boolean-only option.
7 | - Support `!` (logical negation) in `Match` blocks and some other places.
8 |
9 | ## SSHD Config
10 |
11 | - Support for `Match` conditionals
12 | - Support for `ForceCommand`
13 |
--------------------------------------------------------------------------------
/messages/3.0.0.md:
--------------------------------------------------------------------------------
1 | v3.0.0 (2019-09-19)
2 | ===================
3 |
4 | Breaking change for anyone who followed instructions for autocomplete. I've been convinced that `source.*` is the right base scope for these files. Remove the `auto_complete_selector` line from syntax-specific settings or modify it to your expectations.
5 |
6 | ## SSH Config
7 |
8 | - Comma-separated `Host`s in `Match` expressions
9 | - Ensure highlighting and completions for `All` and `Final` in `Match` expressions.
10 |
--------------------------------------------------------------------------------
/messages/3.6.0.md:
--------------------------------------------------------------------------------
1 | v3.6.0 (2020-05-12)
2 | ===================
3 |
4 | It's been a little while since the last update message. New since 3.0.0:
5 |
6 | - Varying levels of support for `known_hosts`, `authorized_keys`, and
7 | public/private key files
8 |
9 | - More completions, including
10 | + `Match` block snippets
11 | + Suggested values for many SSH options
12 | + (More improvements forthcoming)
13 |
14 | - Configurable file locations in case your config files are stored in
15 | novel places
16 |
17 | - Pedantic IPv4/IPv6 validation.
18 | + Helps avoid not-really-IPs like `189.23.290.13`
19 | + These are also added to https://packagecontrol.io/packages/Hosts for
20 | `/etc/hosts` with examples of matching and non-matching IP-like strings.
21 |
22 | - Highlighting of some crypto builtins
23 |
24 | - Local symbol list for SSHD Config now also matches commented-out items,
25 | since it seems to be standard practice to toggle them. You don't need
26 | to make a _new_ `MaxAuthTries` somewhere else in the file when there's
27 | already a commented-out one in there.
28 |
29 | - Minor performance improvements
30 |
--------------------------------------------------------------------------------
/messages/4.0.0.md:
--------------------------------------------------------------------------------
1 | v4.0.0 (2020-05-15)
2 | ===================
3 |
4 | - More snippets and completions now work at EOL.
5 | - Most completion help text has been removed, except for people on
6 | pre-releases, who see it in the new place.
7 | - Highlighting has been added for time and bytes values.
8 | - Minor bugfixes
9 |
10 | Most completion code and everything relating to crypto builtins has been
11 | reorganized for maintainability.
12 |
--------------------------------------------------------------------------------
/messages/4.1.0.md:
--------------------------------------------------------------------------------
1 | v4.1.0 (2020-10-09)
2 | ===================
3 |
4 | - The "Open SSH Config" command now sets highlighting, since `config` is not
5 | listed in the file extensions (owing to conflicts with e.g. `.git/config`)
6 | - New crypto items.
7 | - Fix MACs in SSHD Config.
8 | - Slightly slimmer package size.
9 | + If this release breaks the package for you, file a bug. There's a small
10 | chance that could happen.
11 |
--------------------------------------------------------------------------------
/messages/4.1.1.md:
--------------------------------------------------------------------------------
1 | v4.1.1 (2020-11-18)
2 | ===================
3 |
4 | For Windows users, this fixes the failure to expand `%USERPROFILE%`, etc.
5 | in your settings when the "Open SSH Config File" etc. are invoked.
6 |
7 | Sorry about that. If you've been using overrides, you may be able to
8 | get by without them now.
9 |
--------------------------------------------------------------------------------
/messages/5.0.0.md:
--------------------------------------------------------------------------------
1 | v5.0.0 (2025-02-09)
2 | ===================
3 |
4 | - Fix shell context sanity limit
5 | - Sync to new crypto versions
6 | - More formats for private keys
7 | - New SSH and SSHD parameters
8 | - Indentation rules
9 | - Better handling for quoted values
10 |
11 | This package now requires the `extends` keyword to be supported by your
12 | syntax rendering engine. Sorry to the Syntect projects.
13 |
--------------------------------------------------------------------------------
/messages/6.0.0.md:
--------------------------------------------------------------------------------
1 | v6.0.0 (2025-04-14)
2 | ===================
3 |
4 | Update for SSH v10.0
5 |
6 | - Add `mlkem768x25519-sha256`, the new default kex.
7 | - Add new `Match` features for SSH and SSHD configs.
8 | - Fix not escaping on some existing `Match` parameters.
9 | - Wire up the the commands for opening Authorized Keys and Known Hosts.
10 |
--------------------------------------------------------------------------------
/messaging.json:
--------------------------------------------------------------------------------
1 | {
2 | "6.0.0": "messages/6.0.0.md",
3 | "5.0.0": "messages/5.0.0.md",
4 | "4.1.1": "messages/4.1.1.md",
5 | "4.1.0": "messages/4.1.0.md",
6 | "4.0.0": "messages/4.0.0.md",
7 | "3.6.0": "messages/3.6.0.md",
8 | "3.0.0": "messages/3.0.0.md",
9 | "2.3.0": "messages/2.3.0.md",
10 | "2.2.0": "messages/2.2.0.md",
11 | "2.1.0": "messages/2.1.0.md",
12 | "2.0.0": "messages/2.0.0.md"
13 | }
14 |
--------------------------------------------------------------------------------