blob: 6b7b98d893a17129ce5b83ac0a1b033461211d2b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01002" Language: OpenSSH server configuration file (sshd_config)
Bram Moolenaar256972a2015-12-29 19:10:25 +01003" Author: David Necas (Yeti)
4" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de>
5" Contributor: Thilo Six
6" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
Bram Moolenaar345efa02016-01-15 20:57:49 +01007" Contributor: Karsten Hopp <karsten@redhat.com>
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01008" Originally: 2009-07-09
Bram Moolenaar328da0d2016-03-04 22:22:32 +01009" Last Change: 2016 Mar 1
10" SSH Version: 7.2
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010011"
Bram Moolenaar071d4272004-06-13 20:20:40 +000012
13" Setup
14if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010015 if exists("b:current_syntax")
16 finish
17 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000018else
Bram Moolenaar5c736222010-01-06 20:54:52 +010019 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000020endif
21
22if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010023 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000024else
Bram Moolenaar5c736222010-01-06 20:54:52 +010025 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000026endif
27
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010028
29" case on
30syn case match
31
Bram Moolenaar071d4272004-06-13 20:20:40 +000032
33" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010034syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo
35syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo
36
37syn keyword sshdconfigTodo TODO FIXME NOTE contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
39" Constants
Bram Moolenaar5c736222010-01-06 20:54:52 +010040syn keyword sshdconfigYesNo yes no none
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010041
Bram Moolenaar5c736222010-01-06 20:54:52 +010042syn keyword sshdconfigAddressFamily any inet inet6
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010043
Bram Moolenaar256972a2015-12-29 19:10:25 +010044syn keyword sshdconfigPrivilegeSeparation sandbox
45
46syn keyword sshdconfigTcpForwarding local remote
47
48syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
49
Bram Moolenaar328da0d2016-03-04 22:22:32 +010050syn keyword sshdconfigCiphers 3des-cbc
51syn keyword sshdconfigCiphers blowfish-cbc
52syn keyword sshdconfigCiphers cast128-cbc
53syn keyword sshdconfigCiphers arcfour
54syn keyword sshdconfigCiphers arcfour128
55syn keyword sshdconfigCiphers arcfour256
56syn keyword sshdconfigCiphers aes128-cbc
57syn keyword sshdconfigCiphers aes192-cbc
58syn keyword sshdconfigCiphers aes256-cbc
59syn match sshdconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
60syn keyword sshdconfigCiphers aes128-ctr
61syn keyword sshdconfigCiphers aes192-ctr
62syn keyword sshdconfigCiphers aes256-ctr
63syn match sshdconfigCiphers "\<aes128-gcm@openssh\.com\>"
64syn match sshdconfigCiphers "\<aes256-gcm@openssh\.com\>"
65syn match sshdconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010066
Bram Moolenaar328da0d2016-03-04 22:22:32 +010067syn keyword sshdconfigMAC hmac-sha1
68syn keyword sshdconfigMAC mac-sha1-96
69syn keyword sshdconfigMAC mac-sha2-256
70syn keyword sshdconfigMAC mac-sha2-512
71syn keyword sshdconfigMAC mac-md5
72syn keyword sshdconfigMAC mac-md5-96
73syn keyword sshdconfigMAC mac-ripemd160
74syn match sshdconfigMAC "\<hmac-ripemd160@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010075syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar328da0d2016-03-04 22:22:32 +010076syn match sshdconfigMAC "\<umac-128@openssh\.com\>"
77syn match sshdconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
78syn match sshdconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
79syn match sshdconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
80syn match sshdconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
81syn match sshdconfigMAC "\<hmac-md5-etm@openssh\.com\>"
82syn match sshdconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
83syn match sshdconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
84syn match sshdconfigMAC "\<umac-64-etm@openssh\.com\>"
85syn match sshdconfigMAC "\<umac-128-etm@openssh\.com\>"
86
87syn keyword sshdconfigHostKeyAlgo ssh-ed25519
88syn match sshdconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
89syn keyword sshdconfigHostKeyAlgo ssh-rsa
90syn keyword sshdconfigHostKeyAlgo ssh-dss
91syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp256
92syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp384
93syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp521
94syn match sshdconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
95syn match sshdconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
96syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
97syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
98syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010099
Bram Moolenaar256972a2015-12-29 19:10:25 +0100100syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100101
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
103syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +0100104syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
105syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100106
107syn keyword sshdconfigCompression delayed
108
Bram Moolenaar345efa02016-01-15 20:57:49 +0100109syn match sshdconfigIPQoS "af1[123]"
110syn match sshdconfigIPQoS "af2[123]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100111syn match sshdconfigIPQoS "af3[123]"
112syn match sshdconfigIPQoS "af4[123]"
113syn match sshdconfigIPQoS "cs[0-7]"
114syn keyword sshdconfigIPQoS ef lowdelay throughput reliability
115
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100116syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
117syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
118syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1
119syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256
120syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256
121syn keyword sshdconfigKexAlgo ecdh-sha2-nistp384
122syn keyword sshdconfigKexAlgo ecdh-sha2-nistp521
123syn match sshdconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100124
125syn keyword sshdconfigTunnel point-to-point ethernet
126
127syn keyword sshdconfigSubsystem internal-sftp
128
129syn match sshdconfigVar "%[hu]\>"
130syn match sshdconfigVar "%%"
131
Bram Moolenaar071d4272004-06-13 20:20:40 +0000132syn match sshdconfigSpecial "[*?]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100133
Bram Moolenaar071d4272004-06-13 20:20:40 +0000134syn match sshdconfigNumber "\d\+"
135syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
136syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +0100137" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +0000138syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
139syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
140
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100141
142" case off
143syn case ignore
144
145
Bram Moolenaar071d4272004-06-13 20:20:40 +0000146" Keywords
Bram Moolenaar5c736222010-01-06 20:54:52 +0100147syn keyword sshdconfigMatch Host User Group Address
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100148
149syn keyword sshdconfigKeyword AcceptEnv
150syn keyword sshdconfigKeyword AddressFamily
151syn keyword sshdconfigKeyword AllowAgentForwarding
152syn keyword sshdconfigKeyword AllowGroups
Bram Moolenaar256972a2015-12-29 19:10:25 +0100153syn keyword sshdconfigKeyword AllowStreamLocalForwarding
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100154syn keyword sshdconfigKeyword AllowTcpForwarding
155syn keyword sshdconfigKeyword AllowUsers
Bram Moolenaar345efa02016-01-15 20:57:49 +0100156syn keyword sshdconfigKeyword AuthenticationMethods
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100157syn keyword sshdconfigKeyword AuthorizedKeysFile
Bram Moolenaar256972a2015-12-29 19:10:25 +0100158syn keyword sshdconfigKeyword AuthorizedKeysCommand
159syn keyword sshdconfigKeyword AuthorizedKeysCommandUser
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100160syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
Bram Moolenaar5c736222010-01-06 20:54:52 +0100161syn keyword sshdconfigKeyword Banner
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100162syn keyword sshdconfigKeyword ChallengeResponseAuthentication
163syn keyword sshdconfigKeyword ChrootDirectory
164syn keyword sshdconfigKeyword Ciphers
165syn keyword sshdconfigKeyword ClientAliveCountMax
166syn keyword sshdconfigKeyword ClientAliveInterval
167syn keyword sshdconfigKeyword Compression
168syn keyword sshdconfigKeyword DebianBanner
169syn keyword sshdconfigKeyword DenyGroups
170syn keyword sshdconfigKeyword DenyUsers
Bram Moolenaar5c736222010-01-06 20:54:52 +0100171syn keyword sshdconfigKeyword ForceCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100172syn keyword sshdconfigKeyword GSSAPIAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100173syn keyword sshdconfigKeyword GSSAPICleanupCredentials
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100174syn keyword sshdconfigKeyword GSSAPIKeyExchange
175syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
176syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
177syn keyword sshdconfigKeyword GatewayPorts
178syn keyword sshdconfigKeyword HostCertificate
179syn keyword sshdconfigKeyword HostKey
Bram Moolenaar345efa02016-01-15 20:57:49 +0100180syn keyword sshdconfigKeyword HostKeyAgent
Bram Moolenaar256972a2015-12-29 19:10:25 +0100181syn keyword sshdconfigKeyword HostKeyAlgorithms
182syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100183syn keyword sshdconfigKeyword HostbasedAuthentication
184syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
185syn keyword sshdconfigKeyword IPQoS
186syn keyword sshdconfigKeyword IgnoreRhosts
187syn keyword sshdconfigKeyword IgnoreUserKnownHosts
188syn keyword sshdconfigKeyword KbdInteractiveAuthentication
189syn keyword sshdconfigKeyword KerberosAuthentication
190syn keyword sshdconfigKeyword KerberosGetAFSToken
191syn keyword sshdconfigKeyword KerberosOrLocalPasswd
192syn keyword sshdconfigKeyword KerberosTicketCleanup
193syn keyword sshdconfigKeyword KexAlgorithms
Bram Moolenaar5c736222010-01-06 20:54:52 +0100194syn keyword sshdconfigKeyword KeyRegenerationInterval
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100195syn keyword sshdconfigKeyword ListenAddress
196syn keyword sshdconfigKeyword LogLevel
197syn keyword sshdconfigKeyword LoginGraceTime
198syn keyword sshdconfigKeyword MACs
199syn keyword sshdconfigKeyword Match
200syn keyword sshdconfigKeyword MaxAuthTries
201syn keyword sshdconfigKeyword MaxSessions
202syn keyword sshdconfigKeyword MaxStartups
203syn keyword sshdconfigKeyword PasswordAuthentication
204syn keyword sshdconfigKeyword PermitBlacklistedKeys
205syn keyword sshdconfigKeyword PermitEmptyPasswords
206syn keyword sshdconfigKeyword PermitOpen
207syn keyword sshdconfigKeyword PermitRootLogin
Bram Moolenaar256972a2015-12-29 19:10:25 +0100208syn keyword sshdconfigKeyword PermitTTY
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100209syn keyword sshdconfigKeyword PermitTunnel
210syn keyword sshdconfigKeyword PermitUserEnvironment
Bram Moolenaar256972a2015-12-29 19:10:25 +0100211syn keyword sshdconfigKeyword PermitUserRC
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100212syn keyword sshdconfigKeyword PidFile
213syn keyword sshdconfigKeyword Port
214syn keyword sshdconfigKeyword PrintLastLog
215syn keyword sshdconfigKeyword PrintMotd
216syn keyword sshdconfigKeyword Protocol
Bram Moolenaar256972a2015-12-29 19:10:25 +0100217syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaar5c736222010-01-06 20:54:52 +0100218syn keyword sshdconfigKeyword PubkeyAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100219syn keyword sshdconfigKeyword RSAAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100220syn keyword sshdconfigKeyword RekeyLimit
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100221syn keyword sshdconfigKeyword RevokedKeys
222syn keyword sshdconfigKeyword RhostsRSAAuthentication
223syn keyword sshdconfigKeyword ServerKeyBits
224syn keyword sshdconfigKeyword ShowPatchLevel
225syn keyword sshdconfigKeyword StrictModes
226syn keyword sshdconfigKeyword Subsystem
227syn keyword sshdconfigKeyword SyslogFacility
Bram Moolenaar5c736222010-01-06 20:54:52 +0100228syn keyword sshdconfigKeyword TCPKeepAlive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100229syn keyword sshdconfigKeyword TrustedUserCAKeys
230syn keyword sshdconfigKeyword UseDNS
231syn keyword sshdconfigKeyword UseLogin
232syn keyword sshdconfigKeyword UsePAM
233syn keyword sshdconfigKeyword UsePrivilegeSeparation
Bram Moolenaar256972a2015-12-29 19:10:25 +0100234syn keyword sshdconfigKeyword VersionAddendum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100235syn keyword sshdconfigKeyword X11DisplayOffset
236syn keyword sshdconfigKeyword X11Forwarding
237syn keyword sshdconfigKeyword X11UseLocalhost
238syn keyword sshdconfigKeyword XAuthLocation
239
Bram Moolenaar071d4272004-06-13 20:20:40 +0000240
241" Define the default highlighting
242if version >= 508 || !exists("did_sshdconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100243 if version < 508
244 let did_sshdconfig_syntax_inits = 1
245 command -nargs=+ HiLink hi link <args>
246 else
247 command -nargs=+ HiLink hi def link <args>
248 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000249
Bram Moolenaar256972a2015-12-29 19:10:25 +0100250 HiLink sshdconfigComment Comment
251 HiLink sshdconfigTodo Todo
252 HiLink sshdconfigHostPort sshdconfigConstant
253 HiLink sshdconfigTime sshdconfigConstant
254 HiLink sshdconfigNumber sshdconfigConstant
255 HiLink sshdconfigConstant Constant
256 HiLink sshdconfigYesNo sshdconfigEnum
257 HiLink sshdconfigAddressFamily sshdconfigEnum
258 HiLink sshdconfigPrivilegeSeparation sshdconfigEnum
259 HiLink sshdconfigTcpForwarding sshdconfigEnum
260 HiLink sshdconfigRootLogin sshdconfigEnum
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100261 HiLink sshdconfigCiphers sshdconfigEnum
Bram Moolenaar256972a2015-12-29 19:10:25 +0100262 HiLink sshdconfigMAC sshdconfigEnum
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100263 HiLink sshdconfigHostKeyAlgo sshdconfigEnum
Bram Moolenaar256972a2015-12-29 19:10:25 +0100264 HiLink sshdconfigRootLogin sshdconfigEnum
265 HiLink sshdconfigLogLevel sshdconfigEnum
266 HiLink sshdconfigSysLogFacility sshdconfigEnum
267 HiLink sshdconfigVar sshdconfigEnum
268 HiLink sshdconfigCompression sshdconfigEnum
269 HiLink sshdconfigIPQoS sshdconfigEnum
270 HiLink sshdconfigKexAlgo sshdconfigEnum
271 HiLink sshdconfigTunnel sshdconfigEnum
272 HiLink sshdconfigSubsystem sshdconfigEnum
273 HiLink sshdconfigEnum Function
274 HiLink sshdconfigSpecial Special
275 HiLink sshdconfigKeyword Keyword
276 HiLink sshdconfigMatch Type
Bram Moolenaar5c736222010-01-06 20:54:52 +0100277 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000278endif
279
280let b:current_syntax = "sshdconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100281
282" vim:set ts=8 sw=2 sts=2: