blob: 53bc09de0dc08ed25103af67537d85226a408a6d [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)
3" Maintainer: David Necas (Yeti)
4" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
5" Modified By: Thilo Six
6" Originally: 2009-07-09
7" Last Change: 2011 Oct 31
8" SSH Version: 5.9p1
9"
Bram Moolenaar071d4272004-06-13 20:20:40 +000010
11" Setup
12if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010013 if exists("b:current_syntax")
14 finish
15 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +000016else
Bram Moolenaar5c736222010-01-06 20:54:52 +010017 syntax clear
Bram Moolenaar071d4272004-06-13 20:20:40 +000018endif
19
20if version >= 600
Bram Moolenaar5c736222010-01-06 20:54:52 +010021 setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000022else
Bram Moolenaar5c736222010-01-06 20:54:52 +010023 set iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000024endif
25
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010026
27" case on
28syn case match
29
Bram Moolenaar071d4272004-06-13 20:20:40 +000030
31" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010032syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo
33syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo
34
35syn keyword sshdconfigTodo TODO FIXME NOTE contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000036
37" Constants
Bram Moolenaar5c736222010-01-06 20:54:52 +010038syn keyword sshdconfigYesNo yes no none
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010039
Bram Moolenaar5c736222010-01-06 20:54:52 +010040syn keyword sshdconfigAddressFamily any inet inet6
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010041
Bram Moolenaar071d4272004-06-13 20:20:40 +000042syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010043syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
Bram Moolenaar362e1a32006-03-06 23:29:24 +000044syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010045
Bram Moolenaar071d4272004-06-13 20:20:40 +000046syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96
47syn keyword sshdconfigMAC hmac-md5-96
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010048syn keyword sshdconfigMAC hmac-sha2-256 hmac-sha256-96 hmac-sha2-512
49syn keyword sshdconfigMAC hmac-sha2-512-96
50syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
51
Bram Moolenaar071d4272004-06-13 20:20:40 +000052syn keyword sshdconfigRootLogin without-password forced-commands-only
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010053
Bram Moolenaar071d4272004-06-13 20:20:40 +000054syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
55syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010056syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
57syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010058
59syn keyword sshdconfigCompression delayed
60
61syn match sshdconfigIPQoS "af1[1234]"
62syn match sshdconfigIPQoS "af2[23]"
63syn match sshdconfigIPQoS "af3[123]"
64syn match sshdconfigIPQoS "af4[123]"
65syn match sshdconfigIPQoS "cs[0-7]"
66syn keyword sshdconfigIPQoS ef lowdelay throughput reliability
67
68syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
69syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256
70syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1
71syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
72syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
73
74syn keyword sshdconfigTunnel point-to-point ethernet
75
76syn keyword sshdconfigSubsystem internal-sftp
77
78syn match sshdconfigVar "%[hu]\>"
79syn match sshdconfigVar "%%"
80
Bram Moolenaar071d4272004-06-13 20:20:40 +000081syn match sshdconfigSpecial "[*?]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010082
Bram Moolenaar071d4272004-06-13 20:20:40 +000083syn match sshdconfigNumber "\d\+"
84syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
85syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +010086" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +000087syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
88syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
89
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010090
91" case off
92syn case ignore
93
94
Bram Moolenaar071d4272004-06-13 20:20:40 +000095" Keywords
Bram Moolenaar5c736222010-01-06 20:54:52 +010096syn keyword sshdconfigMatch Host User Group Address
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010097
98syn keyword sshdconfigKeyword AcceptEnv
99syn keyword sshdconfigKeyword AddressFamily
100syn keyword sshdconfigKeyword AllowAgentForwarding
101syn keyword sshdconfigKeyword AllowGroups
102syn keyword sshdconfigKeyword AllowTcpForwarding
103syn keyword sshdconfigKeyword AllowUsers
104syn keyword sshdconfigKeyword AuthorizedKeysFile
105syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
Bram Moolenaar5c736222010-01-06 20:54:52 +0100106syn keyword sshdconfigKeyword Banner
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100107syn keyword sshdconfigKeyword ChallengeResponseAuthentication
108syn keyword sshdconfigKeyword ChrootDirectory
109syn keyword sshdconfigKeyword Ciphers
110syn keyword sshdconfigKeyword ClientAliveCountMax
111syn keyword sshdconfigKeyword ClientAliveInterval
112syn keyword sshdconfigKeyword Compression
113syn keyword sshdconfigKeyword DebianBanner
114syn keyword sshdconfigKeyword DenyGroups
115syn keyword sshdconfigKeyword DenyUsers
Bram Moolenaar5c736222010-01-06 20:54:52 +0100116syn keyword sshdconfigKeyword ForceCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100117syn keyword sshdconfigKeyword GSSAPIAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100118syn keyword sshdconfigKeyword GSSAPICleanupCredentials
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100119syn keyword sshdconfigKeyword GSSAPIKeyExchange
120syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
121syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
122syn keyword sshdconfigKeyword GatewayPorts
123syn keyword sshdconfigKeyword HostCertificate
124syn keyword sshdconfigKeyword HostKey
125syn keyword sshdconfigKeyword HostbasedAuthentication
126syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
127syn keyword sshdconfigKeyword IPQoS
128syn keyword sshdconfigKeyword IgnoreRhosts
129syn keyword sshdconfigKeyword IgnoreUserKnownHosts
130syn keyword sshdconfigKeyword KbdInteractiveAuthentication
131syn keyword sshdconfigKeyword KerberosAuthentication
132syn keyword sshdconfigKeyword KerberosGetAFSToken
133syn keyword sshdconfigKeyword KerberosOrLocalPasswd
134syn keyword sshdconfigKeyword KerberosTicketCleanup
135syn keyword sshdconfigKeyword KexAlgorithms
Bram Moolenaar5c736222010-01-06 20:54:52 +0100136syn keyword sshdconfigKeyword KeyRegenerationInterval
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100137syn keyword sshdconfigKeyword ListenAddress
138syn keyword sshdconfigKeyword LogLevel
139syn keyword sshdconfigKeyword LoginGraceTime
140syn keyword sshdconfigKeyword MACs
141syn keyword sshdconfigKeyword Match
142syn keyword sshdconfigKeyword MaxAuthTries
143syn keyword sshdconfigKeyword MaxSessions
144syn keyword sshdconfigKeyword MaxStartups
145syn keyword sshdconfigKeyword PasswordAuthentication
146syn keyword sshdconfigKeyword PermitBlacklistedKeys
147syn keyword sshdconfigKeyword PermitEmptyPasswords
148syn keyword sshdconfigKeyword PermitOpen
149syn keyword sshdconfigKeyword PermitRootLogin
150syn keyword sshdconfigKeyword PermitTunnel
151syn keyword sshdconfigKeyword PermitUserEnvironment
152syn keyword sshdconfigKeyword PidFile
153syn keyword sshdconfigKeyword Port
154syn keyword sshdconfigKeyword PrintLastLog
155syn keyword sshdconfigKeyword PrintMotd
156syn keyword sshdconfigKeyword Protocol
Bram Moolenaar5c736222010-01-06 20:54:52 +0100157syn keyword sshdconfigKeyword PubkeyAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100158syn keyword sshdconfigKeyword RSAAuthentication
159syn keyword sshdconfigKeyword RevokedKeys
160syn keyword sshdconfigKeyword RhostsRSAAuthentication
161syn keyword sshdconfigKeyword ServerKeyBits
162syn keyword sshdconfigKeyword ShowPatchLevel
163syn keyword sshdconfigKeyword StrictModes
164syn keyword sshdconfigKeyword Subsystem
165syn keyword sshdconfigKeyword SyslogFacility
Bram Moolenaar5c736222010-01-06 20:54:52 +0100166syn keyword sshdconfigKeyword TCPKeepAlive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100167syn keyword sshdconfigKeyword TrustedUserCAKeys
168syn keyword sshdconfigKeyword UseDNS
169syn keyword sshdconfigKeyword UseLogin
170syn keyword sshdconfigKeyword UsePAM
171syn keyword sshdconfigKeyword UsePrivilegeSeparation
172syn keyword sshdconfigKeyword X11DisplayOffset
173syn keyword sshdconfigKeyword X11Forwarding
174syn keyword sshdconfigKeyword X11UseLocalhost
175syn keyword sshdconfigKeyword XAuthLocation
176
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177
178" Define the default highlighting
179if version >= 508 || !exists("did_sshdconfig_syntax_inits")
Bram Moolenaar5c736222010-01-06 20:54:52 +0100180 if version < 508
181 let did_sshdconfig_syntax_inits = 1
182 command -nargs=+ HiLink hi link <args>
183 else
184 command -nargs=+ HiLink hi def link <args>
185 endif
Bram Moolenaar071d4272004-06-13 20:20:40 +0000186
Bram Moolenaar5c736222010-01-06 20:54:52 +0100187 HiLink sshdconfigComment Comment
188 HiLink sshdconfigTodo Todo
189 HiLink sshdconfigHostPort sshdconfigConstant
190 HiLink sshdconfigTime sshdconfigConstant
191 HiLink sshdconfigNumber sshdconfigConstant
192 HiLink sshdconfigConstant Constant
193 HiLink sshdconfigYesNo sshdconfigEnum
194 HiLink sshdconfigAddressFamily sshdconfigEnum
195 HiLink sshdconfigCipher sshdconfigEnum
196 HiLink sshdconfigMAC sshdconfigEnum
197 HiLink sshdconfigRootLogin sshdconfigEnum
198 HiLink sshdconfigLogLevel sshdconfigEnum
199 HiLink sshdconfigSysLogFacility sshdconfigEnum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100200 HiLink sshdconfigVar sshdconfigEnum
201 HiLink sshdconfigCompression sshdconfigEnum
202 HiLink sshdconfigIPQoS sshdconfigEnum
203 HiLink sshdconfigKexAlgo sshdconfigEnum
204 HiLink sshdconfigTunnel sshdconfigEnum
205 HiLink sshdconfigSubsystem sshdconfigEnum
Bram Moolenaar5c736222010-01-06 20:54:52 +0100206 HiLink sshdconfigEnum Function
207 HiLink sshdconfigSpecial Special
208 HiLink sshdconfigKeyword Keyword
209 HiLink sshdconfigMatch Type
210 delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000211endif
212
213let b:current_syntax = "sshdconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100214
215" vim:set ts=8 sw=2 sts=2: