blob: ac90a80aa5fc1be8893dbda4fc368663521111d6 [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 Moolenaarf1568ec2011-12-14 21:17:39 +01007" Originally: 2009-07-09
Bram Moolenaar256972a2015-12-29 19:10:25 +01008" Last Change: 2015 Dec 3
9" SSH Version: 7.0
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010010"
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
12" Setup
13if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010014 if exists("b:current_syntax")
15 finish
16 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000017else
Bram Moolenaar5c736222010-01-06 20:54:52 +010018 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000019endif
20
21if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010022 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000023else
Bram Moolenaar5c736222010-01-06 20:54:52 +010024 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000025endif
26
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010027
28" case on
29syn case match
30
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
32" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010033syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo
34syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo
35
36syn keyword sshdconfigTodo TODO FIXME NOTE contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000037
38" Constants
Bram Moolenaar5c736222010-01-06 20:54:52 +010039syn keyword sshdconfigYesNo yes no none
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010040
Bram Moolenaar5c736222010-01-06 20:54:52 +010041syn keyword sshdconfigAddressFamily any inet inet6
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010042
Bram Moolenaar256972a2015-12-29 19:10:25 +010043syn keyword sshdconfigPrivilegeSeparation sandbox
44
45syn keyword sshdconfigTcpForwarding local remote
46
47syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
48
Bram Moolenaar071d4272004-06-13 20:20:40 +000049syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010050syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
Bram Moolenaar362e1a32006-03-06 23:29:24 +000051syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010052
Bram Moolenaar071d4272004-06-13 20:20:40 +000053syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
54syn keyword sshdconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010055syn keyword sshdconfigMAC hmac-sha2-256 hmac-sha256-96 hmac-sha2-512
56syn keyword sshdconfigMAC hmac-sha2-512-96
57syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
58
Bram Moolenaar256972a2015-12-29 19:10:25 +010059syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010060
Bram Moolenaar071d4272004-06-13 20:20:40 +000061syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
62syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010063syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
64syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010065
66syn keyword sshdconfigCompression delayed
67
68syn match sshdconfigIPQoS "af1[1234]"
69syn match sshdconfigIPQoS "af2[23]"
70syn match sshdconfigIPQoS "af3[123]"
71syn match sshdconfigIPQoS "af4[123]"
72syn match sshdconfigIPQoS "cs[0-7]"
73syn keyword sshdconfigIPQoS ef lowdelay throughput reliability
74
75syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
76syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256
77syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1
78syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
79syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
80
81syn keyword sshdconfigTunnel point-to-point ethernet
82
83syn keyword sshdconfigSubsystem internal-sftp
84
85syn match sshdconfigVar "%[hu]\>"
86syn match sshdconfigVar "%%"
87
Bram Moolenaar071d4272004-06-13 20:20:40 +000088syn match sshdconfigSpecial "[*?]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010089
Bram Moolenaar071d4272004-06-13 20:20:40 +000090syn match sshdconfigNumber "\d\+"
91syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
92syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +010093" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +000094syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
95syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010097
98" case off
99syn case ignore
100
101
Bram Moolenaar071d4272004-06-13 20:20:40 +0000102" Keywords
Bram Moolenaar5c736222010-01-06 20:54:52 +0100103syn keyword sshdconfigMatch Host User Group Address
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100104
105syn keyword sshdconfigKeyword AcceptEnv
106syn keyword sshdconfigKeyword AddressFamily
107syn keyword sshdconfigKeyword AllowAgentForwarding
108syn keyword sshdconfigKeyword AllowGroups
Bram Moolenaar256972a2015-12-29 19:10:25 +0100109syn keyword sshdconfigKeyword AllowStreamLocalForwarding
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100110syn keyword sshdconfigKeyword AllowTcpForwarding
111syn keyword sshdconfigKeyword AllowUsers
112syn keyword sshdconfigKeyword AuthorizedKeysFile
Bram Moolenaar256972a2015-12-29 19:10:25 +0100113syn keyword sshdconfigKeyword AuthorizedKeysCommand
114syn keyword sshdconfigKeyword AuthorizedKeysCommandUser
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100115syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
Bram Moolenaar5c736222010-01-06 20:54:52 +0100116syn keyword sshdconfigKeyword Banner
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100117syn keyword sshdconfigKeyword ChallengeResponseAuthentication
118syn keyword sshdconfigKeyword ChrootDirectory
119syn keyword sshdconfigKeyword Ciphers
120syn keyword sshdconfigKeyword ClientAliveCountMax
121syn keyword sshdconfigKeyword ClientAliveInterval
122syn keyword sshdconfigKeyword Compression
123syn keyword sshdconfigKeyword DebianBanner
124syn keyword sshdconfigKeyword DenyGroups
125syn keyword sshdconfigKeyword DenyUsers
Bram Moolenaar5c736222010-01-06 20:54:52 +0100126syn keyword sshdconfigKeyword ForceCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100127syn keyword sshdconfigKeyword GSSAPIAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100128syn keyword sshdconfigKeyword GSSAPICleanupCredentials
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100129syn keyword sshdconfigKeyword GSSAPIKeyExchange
130syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
131syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
132syn keyword sshdconfigKeyword GatewayPorts
133syn keyword sshdconfigKeyword HostCertificate
134syn keyword sshdconfigKeyword HostKey
Bram Moolenaar256972a2015-12-29 19:10:25 +0100135syn keyword sshdconfigKeyword HostKeyAlgorithms
136syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100137syn keyword sshdconfigKeyword HostbasedAuthentication
138syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
139syn keyword sshdconfigKeyword IPQoS
140syn keyword sshdconfigKeyword IgnoreRhosts
141syn keyword sshdconfigKeyword IgnoreUserKnownHosts
142syn keyword sshdconfigKeyword KbdInteractiveAuthentication
143syn keyword sshdconfigKeyword KerberosAuthentication
144syn keyword sshdconfigKeyword KerberosGetAFSToken
145syn keyword sshdconfigKeyword KerberosOrLocalPasswd
146syn keyword sshdconfigKeyword KerberosTicketCleanup
147syn keyword sshdconfigKeyword KexAlgorithms
Bram Moolenaar5c736222010-01-06 20:54:52 +0100148syn keyword sshdconfigKeyword KeyRegenerationInterval
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100149syn keyword sshdconfigKeyword ListenAddress
150syn keyword sshdconfigKeyword LogLevel
151syn keyword sshdconfigKeyword LoginGraceTime
152syn keyword sshdconfigKeyword MACs
153syn keyword sshdconfigKeyword Match
154syn keyword sshdconfigKeyword MaxAuthTries
155syn keyword sshdconfigKeyword MaxSessions
156syn keyword sshdconfigKeyword MaxStartups
157syn keyword sshdconfigKeyword PasswordAuthentication
158syn keyword sshdconfigKeyword PermitBlacklistedKeys
159syn keyword sshdconfigKeyword PermitEmptyPasswords
160syn keyword sshdconfigKeyword PermitOpen
161syn keyword sshdconfigKeyword PermitRootLogin
Bram Moolenaar256972a2015-12-29 19:10:25 +0100162syn keyword sshdconfigKeyword PermitTTY
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100163syn keyword sshdconfigKeyword PermitTunnel
164syn keyword sshdconfigKeyword PermitUserEnvironment
Bram Moolenaar256972a2015-12-29 19:10:25 +0100165syn keyword sshdconfigKeyword PermitUserRC
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100166syn keyword sshdconfigKeyword PidFile
167syn keyword sshdconfigKeyword Port
168syn keyword sshdconfigKeyword PrintLastLog
169syn keyword sshdconfigKeyword PrintMotd
170syn keyword sshdconfigKeyword Protocol
Bram Moolenaar256972a2015-12-29 19:10:25 +0100171syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaar5c736222010-01-06 20:54:52 +0100172syn keyword sshdconfigKeyword PubkeyAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100173syn keyword sshdconfigKeyword RSAAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100174syn keyword sshdconfigKeyword RekeyLimit
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100175syn keyword sshdconfigKeyword RevokedKeys
176syn keyword sshdconfigKeyword RhostsRSAAuthentication
177syn keyword sshdconfigKeyword ServerKeyBits
178syn keyword sshdconfigKeyword ShowPatchLevel
179syn keyword sshdconfigKeyword StrictModes
180syn keyword sshdconfigKeyword Subsystem
181syn keyword sshdconfigKeyword SyslogFacility
Bram Moolenaar5c736222010-01-06 20:54:52 +0100182syn keyword sshdconfigKeyword TCPKeepAlive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100183syn keyword sshdconfigKeyword TrustedUserCAKeys
184syn keyword sshdconfigKeyword UseDNS
185syn keyword sshdconfigKeyword UseLogin
186syn keyword sshdconfigKeyword UsePAM
187syn keyword sshdconfigKeyword UsePrivilegeSeparation
Bram Moolenaar256972a2015-12-29 19:10:25 +0100188syn keyword sshdconfigKeyword VersionAddendum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100189syn keyword sshdconfigKeyword X11DisplayOffset
190syn keyword sshdconfigKeyword X11Forwarding
191syn keyword sshdconfigKeyword X11UseLocalhost
192syn keyword sshdconfigKeyword XAuthLocation
193
Bram Moolenaar071d4272004-06-13 20:20:40 +0000194
195" Define the default highlighting
196if version >= 508 || !exists("did_sshdconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100197 if version < 508
198 let did_sshdconfig_syntax_inits = 1
199 command -nargs=+ HiLink hi link <args>
200 else
201 command -nargs=+ HiLink hi def link <args>
202 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000203
Bram Moolenaar256972a2015-12-29 19:10:25 +0100204 HiLink sshdconfigComment Comment
205 HiLink sshdconfigTodo Todo
206 HiLink sshdconfigHostPort sshdconfigConstant
207 HiLink sshdconfigTime sshdconfigConstant
208 HiLink sshdconfigNumber sshdconfigConstant
209 HiLink sshdconfigConstant Constant
210 HiLink sshdconfigYesNo sshdconfigEnum
211 HiLink sshdconfigAddressFamily sshdconfigEnum
212 HiLink sshdconfigPrivilegeSeparation sshdconfigEnum
213 HiLink sshdconfigTcpForwarding sshdconfigEnum
214 HiLink sshdconfigRootLogin sshdconfigEnum
215 HiLink sshdconfigCipher sshdconfigEnum
216 HiLink sshdconfigMAC sshdconfigEnum
217 HiLink sshdconfigRootLogin sshdconfigEnum
218 HiLink sshdconfigLogLevel sshdconfigEnum
219 HiLink sshdconfigSysLogFacility sshdconfigEnum
220 HiLink sshdconfigVar sshdconfigEnum
221 HiLink sshdconfigCompression sshdconfigEnum
222 HiLink sshdconfigIPQoS sshdconfigEnum
223 HiLink sshdconfigKexAlgo sshdconfigEnum
224 HiLink sshdconfigTunnel sshdconfigEnum
225 HiLink sshdconfigSubsystem sshdconfigEnum
226 HiLink sshdconfigEnum Function
227 HiLink sshdconfigSpecial Special
228 HiLink sshdconfigKeyword Keyword
229 HiLink sshdconfigMatch Type
Bram Moolenaar5c736222010-01-06 20:54:52 +0100230 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000231endif
232
233let b:current_syntax = "sshdconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100234
235" vim:set ts=8 sw=2 sts=2: