xref: /vim-8.2.3635/runtime/syntax/sshconfig.vim (revision bc2eada5)
1071d4279SBram Moolenaar" Vim syntax file
25c73622aSBram Moolenaar" Language:	OpenSSH client configuration file (ssh_config)
3f1568ecaSBram Moolenaar" Author:	David Necas (Yeti)
4256972a9SBram Moolenaar" Maintainer:	Dominik Fischer <d dot f dot fischer at web dot de>
5256972a9SBram Moolenaar" Contributor:  Leonard Ehrenfried <[email protected]>
6345efa01SBram Moolenaar" Contributor:  Karsten Hopp <[email protected]>
709521313SBram Moolenaar" Contributor:  Dean, Adam Kenneth <[email protected]>
8*bc2eada5SBram Moolenaar" Last Change:	2016 Dec 28
9*bc2eada5SBram Moolenaar" SSH Version:	7.4p1
10f1568ecaSBram Moolenaar"
11071d4279SBram Moolenaar
12071d4279SBram Moolenaar" Setup
1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded
14071d4279SBram Moolenaarif exists("b:current_syntax")
15071d4279SBram Moolenaar  finish
16071d4279SBram Moolenaarendif
17071d4279SBram Moolenaar
18071d4279SBram Moolenaarsetlocal iskeyword=_,-,a-z,A-Z,48-57
19071d4279SBram Moolenaar
20f1568ecaSBram Moolenaar
21f1568ecaSBram Moolenaar" case on
22f1568ecaSBram Moolenaarsyn case match
23f1568ecaSBram Moolenaar
24071d4279SBram Moolenaar
25071d4279SBram Moolenaar" Comments
26f1568ecaSBram Moolenaarsyn match sshconfigComment "^#.*$" contains=sshconfigTodo
27f1568ecaSBram Moolenaarsyn match sshconfigComment "\s#.*$" contains=sshconfigTodo
28f1568ecaSBram Moolenaar
29f1568ecaSBram Moolenaarsyn keyword sshconfigTodo TODO FIXME NOTE contained
30f1568ecaSBram Moolenaar
31071d4279SBram Moolenaar
32071d4279SBram Moolenaar" Constants
33939a1abeSBram Moolenaarsyn keyword sshconfigYesNo yes no ask confirm
345c73622aSBram Moolenaarsyn keyword sshconfigYesNo any auto
35f1568ecaSBram Moolenaarsyn keyword sshconfigYesNo force autoask none
36f1568ecaSBram Moolenaar
37f1568ecaSBram Moolenaarsyn keyword sshconfigCipher 3des blowfish
38f1568ecaSBram Moolenaar
39328da0dcSBram Moolenaarsyn keyword sshconfigCiphers 3des-cbc
40328da0dcSBram Moolenaarsyn keyword sshconfigCiphers blowfish-cbc
41328da0dcSBram Moolenaarsyn keyword sshconfigCiphers cast128-cbc
42328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour
43328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour128
44328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour256
45328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes128-cbc
46328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes192-cbc
47328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes256-cbc
48328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
49328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes128-ctr
50328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes192-ctr
51328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes256-ctr
52328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
53328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
54328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
55328da0dcSBram Moolenaar
56328da0dcSBram Moolenaarsyn keyword sshconfigMAC hmac-sha1
57328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha1-96
58328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha2-256
59328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha2-512
60328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-md5
61328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-md5-96
62328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-ripemd160
63328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-ripemd160@openssh\.com\>"
645c73622aSBram Moolenaarsyn match   sshconfigMAC "\<umac-64@openssh\.com\>"
65328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<umac-128@openssh\.com\>"
66328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
67328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
68328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
69328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
70328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
71328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
72328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
73328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<umac-64-etm@openssh\.com\>"
74328da0dcSBram Moolenaarsyn match   sshconfigMAC "\<umac-128-etm@openssh\.com\>"
75f1568ecaSBram Moolenaar
76328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-ed25519
77328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
78328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-rsa
79328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-dss
80328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
81328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
82328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
83328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
84328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
85328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
86328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
87328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
88f1568ecaSBram Moolenaar
89f1568ecaSBram Moolenaarsyn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
90071d4279SBram Moolenaarsyn keyword sshconfigPreferredAuth keyboard-interactive
91f1568ecaSBram Moolenaar
92071d4279SBram Moolenaarsyn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
93071d4279SBram Moolenaarsyn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
945c73622aSBram Moolenaarsyn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
955c73622aSBram Moolenaarsyn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
96f1568ecaSBram Moolenaarsyn keyword sshconfigAddressFamily  inet inet6
97f1568ecaSBram Moolenaar
98345efa01SBram Moolenaarsyn match   sshconfigIPQoS	"af1[123]"
99345efa01SBram Moolenaarsyn match   sshconfigIPQoS	"af2[123]"
100f1568ecaSBram Moolenaarsyn match   sshconfigIPQoS	"af3[123]"
101f1568ecaSBram Moolenaarsyn match   sshconfigIPQoS	"af4[123]"
102f1568ecaSBram Moolenaarsyn match   sshconfigIPQoS	"cs[0-7]"
103f1568ecaSBram Moolenaarsyn keyword sshconfigIPQoS	ef lowdelay throughput reliability
104f1568ecaSBram Moolenaarsyn keyword sshconfigKbdInteractive bsdauth pam skey
105f1568ecaSBram Moolenaar
106f1568ecaSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
107328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
108328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
109328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
110328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp256
111328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp384
112328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp521
113328da0dcSBram Moolenaarsyn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
114f1568ecaSBram Moolenaar
115f1568ecaSBram Moolenaarsyn keyword sshconfigTunnel	point-to-point ethernet
116f1568ecaSBram Moolenaar
117f1568ecaSBram Moolenaarsyn match sshconfigVar "%[rhplLdun]\>"
118071d4279SBram Moolenaarsyn match sshconfigSpecial "[*?]"
119071d4279SBram Moolenaarsyn match sshconfigNumber "\d\+"
120071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
121071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
122071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
123db7207e6SBram Moolenaarsyn match sshconfigHostPort "\(Host \)\@<=.\+"
124db7207e6SBram Moolenaarsyn match sshconfigHostPort "\(HostName \)\@<=.\+"
125f1568ecaSBram Moolenaar
126f1568ecaSBram Moolenaar" case off
127f1568ecaSBram Moolenaarsyn case ignore
128f1568ecaSBram Moolenaar
129f1568ecaSBram Moolenaar
130071d4279SBram Moolenaar" Keywords
131071d4279SBram Moolenaarsyn keyword sshconfigHostSect Host
132f1568ecaSBram Moolenaar
133256972a9SBram Moolenaarsyn keyword sshconfigMatch canonical exec host originalhost user localuser all
134256972a9SBram Moolenaar
1355c73622aSBram Moolenaarsyn keyword sshconfigKeyword AddressFamily
136939a1abeSBram Moolenaarsyn keyword sshconfigKeyword AddKeysToAgent
137f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword BatchMode
138f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword BindAddress
139345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalDomains
140345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeFallbackLocal
141345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeHostname
142345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeMaxDots
143328da0dcSBram Moolenaarsyn keyword sshconfigKeyword CertificateFile
144f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ChallengeResponseAuthentication
145f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword CheckHostIP
146f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Cipher
147f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Ciphers
148f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ClearAllForwardings
149f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Compression
150f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword CompressionLevel
151f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ConnectTimeout
152f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ConnectionAttempts
153f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlMaster
154f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlPath
155f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlPersist
156f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword DynamicForward
157f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword EnableSSHKeysign
158f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword EscapeChar
159f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ExitOnForwardFailure
160f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardAgent
161f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11
162f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11Timeout
1635c73622aSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11Trusted
1645c73622aSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIAuthentication
165f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIClientIdentity
166f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIDelegateCredentials
167f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIKeyExchange
168f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
169f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIServerIdentity
170f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPITrustDNS
171f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPITrustDns
172f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GatewayPorts
1735c73622aSBram Moolenaarsyn keyword sshconfigKeyword GlobalKnownHostsFile
174f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HashKnownHosts
175f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostKeyAlgorithms
176f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostKeyAlias
177f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostName
178f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostbasedAuthentication
179256972a9SBram Moolenaarsyn keyword sshconfigKeyword HostbasedKeyTypes
180f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IPQoS
181f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IdentitiesOnly
182f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IdentityFile
183345efa01SBram Moolenaarsyn keyword sshconfigKeyword IgnoreUnknown
184*bc2eada5SBram Moolenaarsyn keyword sshconfigKeyword Include
185345efa01SBram Moolenaarsyn keyword sshconfigKeyword IPQoS
186f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KbdInteractiveAuthentication
187f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KbdInteractiveDevices
188f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KexAlgorithms
189f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LocalCommand
190f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LocalForward
191f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LogLevel
1925c73622aSBram Moolenaarsyn keyword sshconfigKeyword MACs
193256972a9SBram Moolenaarsyn keyword sshconfigKeyword Match
1945c73622aSBram Moolenaarsyn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
1955c73622aSBram Moolenaarsyn keyword sshconfigKeyword NumberOfPasswordPrompts
196f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PKCS11Provider
197f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PasswordAuthentication
1985c73622aSBram Moolenaarsyn keyword sshconfigKeyword PermitLocalCommand
199f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Port
200f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PreferredAuthentications
201f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Protocol
202f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ProxyCommand
20309521313SBram Moolenaarsyn keyword sshconfigKeyword ProxyJump
204256972a9SBram Moolenaarsyn keyword sshconfigKeyword ProxyUseFDPass
205256972a9SBram Moolenaarsyn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
206f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PubkeyAuthentication
207f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RSAAuthentication
208f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RekeyLimit
209f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RemoteForward
210f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RequestTTY
2115c73622aSBram Moolenaarsyn keyword sshconfigKeyword RhostsRSAAuthentication
212f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword SendEnv
213f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ServerAliveCountMax
214f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ServerAliveInterval
215f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword SmartcardDevice
216f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword StrictHostKeyChecking
217f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword TCPKeepAlive
218f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Tunnel
219f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword TunnelDevice
220f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword UseBlacklistedKeys
221f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword UsePrivilegedPort
222f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword User
2235c73622aSBram Moolenaarsyn keyword sshconfigKeyword UserKnownHostsFile
224345efa01SBram Moolenaarsyn keyword sshconfigKeyword UseRoaming
225f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword VerifyHostKeyDNS
226f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword VisualHostKey
2275c73622aSBram Moolenaarsyn keyword sshconfigKeyword XAuthLocation
228071d4279SBram Moolenaar
229071d4279SBram Moolenaar" Define the default highlighting
230071d4279SBram Moolenaar
231f37506f6SBram Moolenaarhi def link sshconfigComment        Comment
232f37506f6SBram Moolenaarhi def link sshconfigTodo           Todo
233f37506f6SBram Moolenaarhi def link sshconfigHostPort       sshconfigConstant
234f37506f6SBram Moolenaarhi def link sshconfigNumber         sshconfigConstant
235f37506f6SBram Moolenaarhi def link sshconfigConstant       Constant
236f37506f6SBram Moolenaarhi def link sshconfigYesNo          sshconfigEnum
237f37506f6SBram Moolenaarhi def link sshconfigCipher         sshconfigEnum
238f37506f6SBram Moolenaarhi def link sshconfigCiphers	 sshconfigEnum
239f37506f6SBram Moolenaarhi def link sshconfigMAC            sshconfigEnum
240f37506f6SBram Moolenaarhi def link sshconfigHostKeyAlgo    sshconfigEnum
241f37506f6SBram Moolenaarhi def link sshconfigLogLevel       sshconfigEnum
242f37506f6SBram Moolenaarhi def link sshconfigSysLogFacility sshconfigEnum
243f37506f6SBram Moolenaarhi def link sshconfigAddressFamily  sshconfigEnum
244f37506f6SBram Moolenaarhi def link sshconfigIPQoS		 sshconfigEnum
245f37506f6SBram Moolenaarhi def link sshconfigKbdInteractive sshconfigEnum
246f37506f6SBram Moolenaarhi def link sshconfigKexAlgo	 sshconfigEnum
247f37506f6SBram Moolenaarhi def link sshconfigTunnel	 sshconfigEnum
248f37506f6SBram Moolenaarhi def link sshconfigPreferredAuth  sshconfigEnum
249f37506f6SBram Moolenaarhi def link sshconfigVar            sshconfigEnum
250f37506f6SBram Moolenaarhi def link sshconfigEnum           Identifier
251f37506f6SBram Moolenaarhi def link sshconfigSpecial        Special
252f37506f6SBram Moolenaarhi def link sshconfigKeyword        Keyword
253f37506f6SBram Moolenaarhi def link sshconfigHostSect       Type
254f37506f6SBram Moolenaarhi def link sshconfigMatch          Type
255071d4279SBram Moolenaar
256071d4279SBram Moolenaarlet b:current_syntax = "sshconfig"
257f1568ecaSBram Moolenaar
258f1568ecaSBram Moolenaar" vim:set ts=8 sw=2 sts=2:
259