blob: 4203047d2ccc7f13fbbd40021640115e11de27f1 [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 Moolenaar345efa02016-01-15 20:57:49 +01009" Last Change: 2016 Jan 12
10" SSH Version: 7.1
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 Moolenaar071d4272004-06-13 20:20:40 +000050syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010051syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
Bram Moolenaar362e1a32006-03-06 23:29:24 +000052syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010053
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
55syn keyword sshdconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010056syn keyword sshdconfigMAC hmac-sha2-256 hmac-sha256-96 hmac-sha2-512
57syn keyword sshdconfigMAC hmac-sha2-512-96
58syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
59
Bram Moolenaar256972a2015-12-29 19:10:25 +010060syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010061
Bram Moolenaar071d4272004-06-13 20:20:40 +000062syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
63syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010064syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
65syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010066
67syn keyword sshdconfigCompression delayed
68
Bram Moolenaar345efa02016-01-15 20:57:49 +010069syn match sshdconfigIPQoS "af1[123]"
70syn match sshdconfigIPQoS "af2[123]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010071syn match sshdconfigIPQoS "af3[123]"
72syn match sshdconfigIPQoS "af4[123]"
73syn match sshdconfigIPQoS "cs[0-7]"
74syn keyword sshdconfigIPQoS ef lowdelay throughput reliability
75
76syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
77syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256
78syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1
79syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
80syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
81
82syn keyword sshdconfigTunnel point-to-point ethernet
83
84syn keyword sshdconfigSubsystem internal-sftp
85
86syn match sshdconfigVar "%[hu]\>"
87syn match sshdconfigVar "%%"
88
Bram Moolenaar071d4272004-06-13 20:20:40 +000089syn match sshdconfigSpecial "[*?]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010090
Bram Moolenaar071d4272004-06-13 20:20:40 +000091syn match sshdconfigNumber "\d\+"
92syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
93syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +010094" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +000095syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
96syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
97
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010098
99" case off
100syn case ignore
101
102
Bram Moolenaar071d4272004-06-13 20:20:40 +0000103" Keywords
Bram Moolenaar5c736222010-01-06 20:54:52 +0100104syn keyword sshdconfigMatch Host User Group Address
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100105
106syn keyword sshdconfigKeyword AcceptEnv
107syn keyword sshdconfigKeyword AddressFamily
108syn keyword sshdconfigKeyword AllowAgentForwarding
109syn keyword sshdconfigKeyword AllowGroups
Bram Moolenaar256972a2015-12-29 19:10:25 +0100110syn keyword sshdconfigKeyword AllowStreamLocalForwarding
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100111syn keyword sshdconfigKeyword AllowTcpForwarding
112syn keyword sshdconfigKeyword AllowUsers
Bram Moolenaar345efa02016-01-15 20:57:49 +0100113syn keyword sshdconfigKeyword AuthenticationMethods
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100114syn keyword sshdconfigKeyword AuthorizedKeysFile
Bram Moolenaar256972a2015-12-29 19:10:25 +0100115syn keyword sshdconfigKeyword AuthorizedKeysCommand
116syn keyword sshdconfigKeyword AuthorizedKeysCommandUser
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100117syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
Bram Moolenaar5c736222010-01-06 20:54:52 +0100118syn keyword sshdconfigKeyword Banner
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100119syn keyword sshdconfigKeyword ChallengeResponseAuthentication
120syn keyword sshdconfigKeyword ChrootDirectory
121syn keyword sshdconfigKeyword Ciphers
122syn keyword sshdconfigKeyword ClientAliveCountMax
123syn keyword sshdconfigKeyword ClientAliveInterval
124syn keyword sshdconfigKeyword Compression
125syn keyword sshdconfigKeyword DebianBanner
126syn keyword sshdconfigKeyword DenyGroups
127syn keyword sshdconfigKeyword DenyUsers
Bram Moolenaar5c736222010-01-06 20:54:52 +0100128syn keyword sshdconfigKeyword ForceCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100129syn keyword sshdconfigKeyword GSSAPIAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100130syn keyword sshdconfigKeyword GSSAPICleanupCredentials
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100131syn keyword sshdconfigKeyword GSSAPIKeyExchange
132syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
133syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
134syn keyword sshdconfigKeyword GatewayPorts
135syn keyword sshdconfigKeyword HostCertificate
136syn keyword sshdconfigKeyword HostKey
Bram Moolenaar345efa02016-01-15 20:57:49 +0100137syn keyword sshdconfigKeyword HostKeyAgent
Bram Moolenaar256972a2015-12-29 19:10:25 +0100138syn keyword sshdconfigKeyword HostKeyAlgorithms
139syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100140syn keyword sshdconfigKeyword HostbasedAuthentication
141syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
142syn keyword sshdconfigKeyword IPQoS
143syn keyword sshdconfigKeyword IgnoreRhosts
144syn keyword sshdconfigKeyword IgnoreUserKnownHosts
145syn keyword sshdconfigKeyword KbdInteractiveAuthentication
146syn keyword sshdconfigKeyword KerberosAuthentication
147syn keyword sshdconfigKeyword KerberosGetAFSToken
148syn keyword sshdconfigKeyword KerberosOrLocalPasswd
149syn keyword sshdconfigKeyword KerberosTicketCleanup
150syn keyword sshdconfigKeyword KexAlgorithms
Bram Moolenaar5c736222010-01-06 20:54:52 +0100151syn keyword sshdconfigKeyword KeyRegenerationInterval
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100152syn keyword sshdconfigKeyword ListenAddress
153syn keyword sshdconfigKeyword LogLevel
154syn keyword sshdconfigKeyword LoginGraceTime
155syn keyword sshdconfigKeyword MACs
156syn keyword sshdconfigKeyword Match
157syn keyword sshdconfigKeyword MaxAuthTries
158syn keyword sshdconfigKeyword MaxSessions
159syn keyword sshdconfigKeyword MaxStartups
160syn keyword sshdconfigKeyword PasswordAuthentication
161syn keyword sshdconfigKeyword PermitBlacklistedKeys
162syn keyword sshdconfigKeyword PermitEmptyPasswords
163syn keyword sshdconfigKeyword PermitOpen
164syn keyword sshdconfigKeyword PermitRootLogin
Bram Moolenaar256972a2015-12-29 19:10:25 +0100165syn keyword sshdconfigKeyword PermitTTY
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100166syn keyword sshdconfigKeyword PermitTunnel
167syn keyword sshdconfigKeyword PermitUserEnvironment
Bram Moolenaar256972a2015-12-29 19:10:25 +0100168syn keyword sshdconfigKeyword PermitUserRC
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100169syn keyword sshdconfigKeyword PidFile
170syn keyword sshdconfigKeyword Port
171syn keyword sshdconfigKeyword PrintLastLog
172syn keyword sshdconfigKeyword PrintMotd
173syn keyword sshdconfigKeyword Protocol
Bram Moolenaar256972a2015-12-29 19:10:25 +0100174syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaar5c736222010-01-06 20:54:52 +0100175syn keyword sshdconfigKeyword PubkeyAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100176syn keyword sshdconfigKeyword RSAAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100177syn keyword sshdconfigKeyword RekeyLimit
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100178syn keyword sshdconfigKeyword RevokedKeys
179syn keyword sshdconfigKeyword RhostsRSAAuthentication
180syn keyword sshdconfigKeyword ServerKeyBits
181syn keyword sshdconfigKeyword ShowPatchLevel
182syn keyword sshdconfigKeyword StrictModes
183syn keyword sshdconfigKeyword Subsystem
184syn keyword sshdconfigKeyword SyslogFacility
Bram Moolenaar5c736222010-01-06 20:54:52 +0100185syn keyword sshdconfigKeyword TCPKeepAlive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100186syn keyword sshdconfigKeyword TrustedUserCAKeys
187syn keyword sshdconfigKeyword UseDNS
188syn keyword sshdconfigKeyword UseLogin
189syn keyword sshdconfigKeyword UsePAM
190syn keyword sshdconfigKeyword UsePrivilegeSeparation
Bram Moolenaar256972a2015-12-29 19:10:25 +0100191syn keyword sshdconfigKeyword VersionAddendum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100192syn keyword sshdconfigKeyword X11DisplayOffset
193syn keyword sshdconfigKeyword X11Forwarding
194syn keyword sshdconfigKeyword X11UseLocalhost
195syn keyword sshdconfigKeyword XAuthLocation
196
Bram Moolenaar071d4272004-06-13 20:20:40 +0000197
198" Define the default highlighting
199if version >= 508 || !exists("did_sshdconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100200 if version < 508
201 let did_sshdconfig_syntax_inits = 1
202 command -nargs=+ HiLink hi link <args>
203 else
204 command -nargs=+ HiLink hi def link <args>
205 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000206
Bram Moolenaar256972a2015-12-29 19:10:25 +0100207 HiLink sshdconfigComment Comment
208 HiLink sshdconfigTodo Todo
209 HiLink sshdconfigHostPort sshdconfigConstant
210 HiLink sshdconfigTime sshdconfigConstant
211 HiLink sshdconfigNumber sshdconfigConstant
212 HiLink sshdconfigConstant Constant
213 HiLink sshdconfigYesNo sshdconfigEnum
214 HiLink sshdconfigAddressFamily sshdconfigEnum
215 HiLink sshdconfigPrivilegeSeparation sshdconfigEnum
216 HiLink sshdconfigTcpForwarding sshdconfigEnum
217 HiLink sshdconfigRootLogin sshdconfigEnum
218 HiLink sshdconfigCipher sshdconfigEnum
219 HiLink sshdconfigMAC sshdconfigEnum
220 HiLink sshdconfigRootLogin sshdconfigEnum
221 HiLink sshdconfigLogLevel sshdconfigEnum
222 HiLink sshdconfigSysLogFacility sshdconfigEnum
223 HiLink sshdconfigVar sshdconfigEnum
224 HiLink sshdconfigCompression sshdconfigEnum
225 HiLink sshdconfigIPQoS sshdconfigEnum
226 HiLink sshdconfigKexAlgo sshdconfigEnum
227 HiLink sshdconfigTunnel sshdconfigEnum
228 HiLink sshdconfigSubsystem sshdconfigEnum
229 HiLink sshdconfigEnum Function
230 HiLink sshdconfigSpecial Special
231 HiLink sshdconfigKeyword Keyword
232 HiLink sshdconfigMatch Type
Bram Moolenaar5c736222010-01-06 20:54:52 +0100233 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000234endif
235
236let b:current_syntax = "sshdconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100237
238" vim:set ts=8 sw=2 sts=2: