blob: f381668d16bae4c65ec2911f4d7a3fe6e90d8675 [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 Moolenaar7dd64a32019-05-31 21:41:05 +02009" Last Change: 2019-05-31
10" SSH Version: 7.9p1
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010011"
Bram Moolenaar071d4272004-06-13 20:20:40 +000012
13" Setup
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020014" quit when a syntax file was already loaded
15if exists("b:current_syntax")
16 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000017endif
18
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020019setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000020
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010021
22" case on
23syn case match
24
Bram Moolenaar071d4272004-06-13 20:20:40 +000025
26" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010027syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo
28syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo
29
30syn keyword sshdconfigTodo TODO FIXME NOTE contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
32" Constants
Bram Moolenaar5c736222010-01-06 20:54:52 +010033syn keyword sshdconfigYesNo yes no none
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010034
Bram Moolenaar5c736222010-01-06 20:54:52 +010035syn keyword sshdconfigAddressFamily any inet inet6
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010036
Bram Moolenaar256972a2015-12-29 19:10:25 +010037syn keyword sshdconfigPrivilegeSeparation sandbox
38
39syn keyword sshdconfigTcpForwarding local remote
40
41syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
42
Bram Moolenaar328da0d2016-03-04 22:22:32 +010043syn keyword sshdconfigCiphers 3des-cbc
44syn keyword sshdconfigCiphers blowfish-cbc
45syn keyword sshdconfigCiphers cast128-cbc
46syn keyword sshdconfigCiphers arcfour
47syn keyword sshdconfigCiphers arcfour128
48syn keyword sshdconfigCiphers arcfour256
49syn keyword sshdconfigCiphers aes128-cbc
50syn keyword sshdconfigCiphers aes192-cbc
51syn keyword sshdconfigCiphers aes256-cbc
52syn match sshdconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
53syn keyword sshdconfigCiphers aes128-ctr
54syn keyword sshdconfigCiphers aes192-ctr
55syn keyword sshdconfigCiphers aes256-ctr
56syn match sshdconfigCiphers "\<aes128-gcm@openssh\.com\>"
57syn match sshdconfigCiphers "\<aes256-gcm@openssh\.com\>"
58syn match sshdconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010059
Bram Moolenaar328da0d2016-03-04 22:22:32 +010060syn keyword sshdconfigMAC hmac-sha1
61syn keyword sshdconfigMAC mac-sha1-96
62syn keyword sshdconfigMAC mac-sha2-256
63syn keyword sshdconfigMAC mac-sha2-512
64syn keyword sshdconfigMAC mac-md5
65syn keyword sshdconfigMAC mac-md5-96
66syn keyword sshdconfigMAC mac-ripemd160
67syn match sshdconfigMAC "\<hmac-ripemd160@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010068syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar328da0d2016-03-04 22:22:32 +010069syn match sshdconfigMAC "\<umac-128@openssh\.com\>"
70syn match sshdconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
71syn match sshdconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
72syn match sshdconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
73syn match sshdconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
74syn match sshdconfigMAC "\<hmac-md5-etm@openssh\.com\>"
75syn match sshdconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
76syn match sshdconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
77syn match sshdconfigMAC "\<umac-64-etm@openssh\.com\>"
78syn match sshdconfigMAC "\<umac-128-etm@openssh\.com\>"
79
80syn keyword sshdconfigHostKeyAlgo ssh-ed25519
81syn match sshdconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
82syn keyword sshdconfigHostKeyAlgo ssh-rsa
83syn keyword sshdconfigHostKeyAlgo ssh-dss
84syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp256
85syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp384
86syn keyword sshdconfigHostKeyAlgo ecdsa-sha2-nistp521
87syn match sshdconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
88syn match sshdconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
89syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
90syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
91syn match sshdconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010092
Bram Moolenaar256972a2015-12-29 19:10:25 +010093syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010094
Bram Moolenaar071d4272004-06-13 20:20:40 +000095syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
96syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010097syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
98syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010099
100syn keyword sshdconfigCompression delayed
101
Bram Moolenaar345efa02016-01-15 20:57:49 +0100102syn match sshdconfigIPQoS "af1[123]"
103syn match sshdconfigIPQoS "af2[123]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100104syn match sshdconfigIPQoS "af3[123]"
105syn match sshdconfigIPQoS "af4[123]"
106syn match sshdconfigIPQoS "cs[0-7]"
107syn keyword sshdconfigIPQoS ef lowdelay throughput reliability
108
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100109syn keyword sshdconfigKexAlgo diffie-hellman-group1-sha1
110syn keyword sshdconfigKexAlgo diffie-hellman-group14-sha1
111syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha1
112syn keyword sshdconfigKexAlgo diffie-hellman-group-exchange-sha256
113syn keyword sshdconfigKexAlgo ecdh-sha2-nistp256
114syn keyword sshdconfigKexAlgo ecdh-sha2-nistp384
115syn keyword sshdconfigKexAlgo ecdh-sha2-nistp521
116syn match sshdconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100117
118syn keyword sshdconfigTunnel point-to-point ethernet
119
120syn keyword sshdconfigSubsystem internal-sftp
121
122syn match sshdconfigVar "%[hu]\>"
123syn match sshdconfigVar "%%"
124
Bram Moolenaar071d4272004-06-13 20:20:40 +0000125syn match sshdconfigSpecial "[*?]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100126
Bram Moolenaar071d4272004-06-13 20:20:40 +0000127syn match sshdconfigNumber "\d\+"
128syn match sshdconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
129syn match sshdconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
Bram Moolenaar5c736222010-01-06 20:54:52 +0100130" FIXME: this matches quite a few things which are NOT valid IPv6 addresses
Bram Moolenaar071d4272004-06-13 20:20:40 +0000131syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>"
132syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>"
133
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100134
135" case off
136syn case ignore
137
138
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139" Keywords
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200140" Also includes RDomain, but that is a keyword.
141syn keyword sshdconfigMatch Host User Group Address LocalAddress LocalPort
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100142
143syn keyword sshdconfigKeyword AcceptEnv
144syn keyword sshdconfigKeyword AddressFamily
145syn keyword sshdconfigKeyword AllowAgentForwarding
146syn keyword sshdconfigKeyword AllowGroups
Bram Moolenaar256972a2015-12-29 19:10:25 +0100147syn keyword sshdconfigKeyword AllowStreamLocalForwarding
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100148syn keyword sshdconfigKeyword AllowTcpForwarding
149syn keyword sshdconfigKeyword AllowUsers
Bram Moolenaar345efa02016-01-15 20:57:49 +0100150syn keyword sshdconfigKeyword AuthenticationMethods
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100151syn keyword sshdconfigKeyword AuthorizedKeysFile
Bram Moolenaar256972a2015-12-29 19:10:25 +0100152syn keyword sshdconfigKeyword AuthorizedKeysCommand
153syn keyword sshdconfigKeyword AuthorizedKeysCommandUser
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200154syn keyword sshdconfigKeyword AuthorizedPrincipalsCommand
155syn keyword sshdconfigKeyword AuthorizedPrincipalsCommandUser
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100156syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
Bram Moolenaar5c736222010-01-06 20:54:52 +0100157syn keyword sshdconfigKeyword Banner
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200158syn keyword sshdconfigKeyword CASignatureAlgorithms
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100159syn keyword sshdconfigKeyword ChallengeResponseAuthentication
160syn keyword sshdconfigKeyword ChrootDirectory
161syn keyword sshdconfigKeyword Ciphers
162syn keyword sshdconfigKeyword ClientAliveCountMax
163syn keyword sshdconfigKeyword ClientAliveInterval
164syn keyword sshdconfigKeyword Compression
165syn keyword sshdconfigKeyword DebianBanner
166syn keyword sshdconfigKeyword DenyGroups
167syn keyword sshdconfigKeyword DenyUsers
Bram Moolenaarbc2eada2017-01-02 21:27:47 +0100168syn keyword sshdconfigKeyword DisableForwarding
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200169syn keyword sshdconfigKeyword ExposeAuthInfo
170syn keyword sshdconfigKeyword FingerprintHash
Bram Moolenaar5c736222010-01-06 20:54:52 +0100171syn keyword sshdconfigKeyword ForceCommand
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200172syn keyword sshdconfigKeyword GatewayPorts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100173syn keyword sshdconfigKeyword GSSAPIAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100174syn keyword sshdconfigKeyword GSSAPICleanupCredentials
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200175syn keyword sshdconfigKeyword GSSAPIEnablek5users
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100176syn keyword sshdconfigKeyword GSSAPIKeyExchange
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200177syn keyword sshdconfigKeyword GSSAPIKexAlgorithms
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100178syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey
179syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100180syn keyword sshdconfigKeyword HostCertificate
181syn keyword sshdconfigKeyword HostKey
Bram Moolenaar345efa02016-01-15 20:57:49 +0100182syn keyword sshdconfigKeyword HostKeyAgent
Bram Moolenaar256972a2015-12-29 19:10:25 +0100183syn keyword sshdconfigKeyword HostKeyAlgorithms
184syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100185syn keyword sshdconfigKeyword HostbasedAuthentication
186syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
187syn keyword sshdconfigKeyword IPQoS
188syn keyword sshdconfigKeyword IgnoreRhosts
189syn keyword sshdconfigKeyword IgnoreUserKnownHosts
190syn keyword sshdconfigKeyword KbdInteractiveAuthentication
191syn keyword sshdconfigKeyword KerberosAuthentication
192syn keyword sshdconfigKeyword KerberosGetAFSToken
193syn keyword sshdconfigKeyword KerberosOrLocalPasswd
194syn keyword sshdconfigKeyword KerberosTicketCleanup
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200195syn keyword sshdconfigKeyword KerberosUniqueCCache
196syn keyword sshdconfigKeyword KerberosUseKuserok
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100197syn keyword sshdconfigKeyword KexAlgorithms
Bram Moolenaar5c736222010-01-06 20:54:52 +0100198syn keyword sshdconfigKeyword KeyRegenerationInterval
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100199syn keyword sshdconfigKeyword ListenAddress
200syn keyword sshdconfigKeyword LogLevel
201syn keyword sshdconfigKeyword LoginGraceTime
202syn keyword sshdconfigKeyword MACs
203syn keyword sshdconfigKeyword Match
204syn keyword sshdconfigKeyword MaxAuthTries
205syn keyword sshdconfigKeyword MaxSessions
206syn keyword sshdconfigKeyword MaxStartups
207syn keyword sshdconfigKeyword PasswordAuthentication
208syn keyword sshdconfigKeyword PermitBlacklistedKeys
209syn keyword sshdconfigKeyword PermitEmptyPasswords
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200210syn keyword sshdconfigKeyword PermitListen
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100211syn keyword sshdconfigKeyword PermitOpen
212syn keyword sshdconfigKeyword PermitRootLogin
Bram Moolenaar256972a2015-12-29 19:10:25 +0100213syn keyword sshdconfigKeyword PermitTTY
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100214syn keyword sshdconfigKeyword PermitTunnel
215syn keyword sshdconfigKeyword PermitUserEnvironment
Bram Moolenaar256972a2015-12-29 19:10:25 +0100216syn keyword sshdconfigKeyword PermitUserRC
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100217syn keyword sshdconfigKeyword PidFile
218syn keyword sshdconfigKeyword Port
219syn keyword sshdconfigKeyword PrintLastLog
220syn keyword sshdconfigKeyword PrintMotd
221syn keyword sshdconfigKeyword Protocol
Bram Moolenaar256972a2015-12-29 19:10:25 +0100222syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaar5c736222010-01-06 20:54:52 +0100223syn keyword sshdconfigKeyword PubkeyAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100224syn keyword sshdconfigKeyword RSAAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100225syn keyword sshdconfigKeyword RekeyLimit
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100226syn keyword sshdconfigKeyword RevokedKeys
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200227syn keyword sshdconfigKeyword RDomain
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100228syn keyword sshdconfigKeyword RhostsRSAAuthentication
229syn keyword sshdconfigKeyword ServerKeyBits
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200230syn keyword sshdconfigKeyword SetEnv
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100231syn keyword sshdconfigKeyword ShowPatchLevel
232syn keyword sshdconfigKeyword StrictModes
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200233syn keyword sshdconfigKeyword StreamLocalBindMask
234syn keyword sshdconfigKeyword StreamLocalBindUnlink
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100235syn keyword sshdconfigKeyword Subsystem
236syn keyword sshdconfigKeyword SyslogFacility
Bram Moolenaar5c736222010-01-06 20:54:52 +0100237syn keyword sshdconfigKeyword TCPKeepAlive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100238syn keyword sshdconfigKeyword TrustedUserCAKeys
239syn keyword sshdconfigKeyword UseDNS
240syn keyword sshdconfigKeyword UseLogin
241syn keyword sshdconfigKeyword UsePAM
Bram Moolenaar256972a2015-12-29 19:10:25 +0100242syn keyword sshdconfigKeyword VersionAddendum
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100243syn keyword sshdconfigKeyword X11DisplayOffset
244syn keyword sshdconfigKeyword X11Forwarding
Bram Moolenaar7dd64a32019-05-31 21:41:05 +0200245syn keyword sshdconfigKeyword X11MaxDisplays
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100246syn keyword sshdconfigKeyword X11UseLocalhost
247syn keyword sshdconfigKeyword XAuthLocation
248
Bram Moolenaar071d4272004-06-13 20:20:40 +0000249
250" Define the default highlighting
Bram Moolenaar071d4272004-06-13 20:20:40 +0000251
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200252hi def link sshdconfigComment Comment
253hi def link sshdconfigTodo Todo
254hi def link sshdconfigHostPort sshdconfigConstant
255hi def link sshdconfigTime sshdconfigConstant
256hi def link sshdconfigNumber sshdconfigConstant
257hi def link sshdconfigConstant Constant
258hi def link sshdconfigYesNo sshdconfigEnum
259hi def link sshdconfigAddressFamily sshdconfigEnum
260hi def link sshdconfigPrivilegeSeparation sshdconfigEnum
261hi def link sshdconfigTcpForwarding sshdconfigEnum
262hi def link sshdconfigRootLogin sshdconfigEnum
263hi def link sshdconfigCiphers sshdconfigEnum
264hi def link sshdconfigMAC sshdconfigEnum
265hi def link sshdconfigHostKeyAlgo sshdconfigEnum
266hi def link sshdconfigRootLogin sshdconfigEnum
267hi def link sshdconfigLogLevel sshdconfigEnum
268hi def link sshdconfigSysLogFacility sshdconfigEnum
269hi def link sshdconfigVar sshdconfigEnum
270hi def link sshdconfigCompression sshdconfigEnum
271hi def link sshdconfigIPQoS sshdconfigEnum
272hi def link sshdconfigKexAlgo sshdconfigEnum
273hi def link sshdconfigTunnel sshdconfigEnum
274hi def link sshdconfigSubsystem sshdconfigEnum
275hi def link sshdconfigEnum Function
276hi def link sshdconfigSpecial Special
277hi def link sshdconfigKeyword Keyword
278hi def link sshdconfigMatch Type
Bram Moolenaar071d4272004-06-13 20:20:40 +0000279
280let b:current_syntax = "sshdconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100281
282" vim:set ts=8 sw=2 sts=2: