1" Vim syntax file 2" Language: OpenSSH server configuration file (sshd_config) 3" Maintainer: David Necas (Yeti) 4" Maintainer: Leonard Ehrenfried <[email protected]> 5" Modified By: Thilo Six 6" Originally: 2009-07-09 7" Last Change: 2011 Oct 31 8" SSH Version: 5.9p1 9" 10 11" Setup 12if version >= 600 13 if exists("b:current_syntax") 14 finish 15 endif 16else 17 syntax clear 18endif 19 20if version >= 600 21 setlocal iskeyword=_,-,a-z,A-Z,48-57 22else 23 set iskeyword=_,-,a-z,A-Z,48-57 24endif 25 26 27" case on 28syn case match 29 30 31" Comments 32syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo 33syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo 34 35syn keyword sshdconfigTodo TODO FIXME NOTE contained 36 37" Constants 38syn keyword sshdconfigYesNo yes no none 39 40syn keyword sshdconfigAddressFamily any inet inet6 41 42syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc 43syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr 44syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc 45 46syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96 47syn keyword sshdconfigMAC hmac-md5-96 48syn 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 52syn keyword sshdconfigRootLogin without-password forced-commands-only 53 54syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE 55syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3 56syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1 57syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 58 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 81syn match sshdconfigSpecial "[*?]" 82 83syn 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\+\)\?\>" 86" FIXME: this matches quite a few things which are NOT valid IPv6 addresses 87syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>" 88syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>" 89 90 91" case off 92syn case ignore 93 94 95" Keywords 96syn keyword sshdconfigMatch Host User Group Address 97 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 106syn keyword sshdconfigKeyword Banner 107syn 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 116syn keyword sshdconfigKeyword ForceCommand 117syn keyword sshdconfigKeyword GSSAPIAuthentication 118syn keyword sshdconfigKeyword GSSAPICleanupCredentials 119syn 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 136syn keyword sshdconfigKeyword KeyRegenerationInterval 137syn 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 157syn keyword sshdconfigKeyword PubkeyAuthentication 158syn 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 166syn keyword sshdconfigKeyword TCPKeepAlive 167syn 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 177 178" Define the default highlighting 179if version >= 508 || !exists("did_sshdconfig_syntax_inits") 180 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 186 187 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 200 HiLink sshdconfigVar sshdconfigEnum 201 HiLink sshdconfigCompression sshdconfigEnum 202 HiLink sshdconfigIPQoS sshdconfigEnum 203 HiLink sshdconfigKexAlgo sshdconfigEnum 204 HiLink sshdconfigTunnel sshdconfigEnum 205 HiLink sshdconfigSubsystem sshdconfigEnum 206 HiLink sshdconfigEnum Function 207 HiLink sshdconfigSpecial Special 208 HiLink sshdconfigKeyword Keyword 209 HiLink sshdconfigMatch Type 210 delcommand HiLink 211endif 212 213let b:current_syntax = "sshdconfig" 214 215" vim:set ts=8 sw=2 sts=2: 216