1" Vim syntax file 2" Language: OpenSSH server configuration file (sshd_config) 3" 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 <[email protected]> 7" Contributor: Karsten Hopp <[email protected]> 8" Originally: 2009-07-09 9" Last Change: 2016 Jan 12 10" SSH Version: 7.1 11" 12 13" Setup 14if version >= 600 15 if exists("b:current_syntax") 16 finish 17 endif 18else 19 syntax clear 20endif 21 22if version >= 600 23 setlocal iskeyword=_,-,a-z,A-Z,48-57 24else 25 set iskeyword=_,-,a-z,A-Z,48-57 26endif 27 28 29" case on 30syn case match 31 32 33" Comments 34syn match sshdconfigComment "^#.*$" contains=sshdconfigTodo 35syn match sshdconfigComment "\s#.*$" contains=sshdconfigTodo 36 37syn keyword sshdconfigTodo TODO FIXME NOTE contained 38 39" Constants 40syn keyword sshdconfigYesNo yes no none 41 42syn keyword sshdconfigAddressFamily any inet inet6 43 44syn keyword sshdconfigPrivilegeSeparation sandbox 45 46syn keyword sshdconfigTcpForwarding local remote 47 48syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only 49 50syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc 51syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr 52syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc 53 54syn keyword sshdconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96 55syn keyword sshdconfigMAC hmac-md5-96 56syn 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 60syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only 61 62syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE 63syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3 64syn keyword sshdconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1 65syn keyword sshdconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 66 67syn keyword sshdconfigCompression delayed 68 69syn match sshdconfigIPQoS "af1[123]" 70syn match sshdconfigIPQoS "af2[123]" 71syn 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 89syn match sshdconfigSpecial "[*?]" 90 91syn 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\+\)\?\>" 94" FIXME: this matches quite a few things which are NOT valid IPv6 addresses 95syn match sshdconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}:\d\+\>" 96syn match sshdconfigTime "\<\(\d\+[sSmMhHdDwW]\)\+\>" 97 98 99" case off 100syn case ignore 101 102 103" Keywords 104syn keyword sshdconfigMatch Host User Group Address 105 106syn keyword sshdconfigKeyword AcceptEnv 107syn keyword sshdconfigKeyword AddressFamily 108syn keyword sshdconfigKeyword AllowAgentForwarding 109syn keyword sshdconfigKeyword AllowGroups 110syn keyword sshdconfigKeyword AllowStreamLocalForwarding 111syn keyword sshdconfigKeyword AllowTcpForwarding 112syn keyword sshdconfigKeyword AllowUsers 113syn keyword sshdconfigKeyword AuthenticationMethods 114syn keyword sshdconfigKeyword AuthorizedKeysFile 115syn keyword sshdconfigKeyword AuthorizedKeysCommand 116syn keyword sshdconfigKeyword AuthorizedKeysCommandUser 117syn keyword sshdconfigKeyword AuthorizedPrincipalsFile 118syn keyword sshdconfigKeyword Banner 119syn 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 128syn keyword sshdconfigKeyword ForceCommand 129syn keyword sshdconfigKeyword GSSAPIAuthentication 130syn keyword sshdconfigKeyword GSSAPICleanupCredentials 131syn keyword sshdconfigKeyword GSSAPIKeyExchange 132syn keyword sshdconfigKeyword GSSAPIStoreCredentialsOnRekey 133syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck 134syn keyword sshdconfigKeyword GatewayPorts 135syn keyword sshdconfigKeyword HostCertificate 136syn keyword sshdconfigKeyword HostKey 137syn keyword sshdconfigKeyword HostKeyAgent 138syn keyword sshdconfigKeyword HostKeyAlgorithms 139syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes 140syn 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 151syn keyword sshdconfigKeyword KeyRegenerationInterval 152syn 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 165syn keyword sshdconfigKeyword PermitTTY 166syn keyword sshdconfigKeyword PermitTunnel 167syn keyword sshdconfigKeyword PermitUserEnvironment 168syn keyword sshdconfigKeyword PermitUserRC 169syn keyword sshdconfigKeyword PidFile 170syn keyword sshdconfigKeyword Port 171syn keyword sshdconfigKeyword PrintLastLog 172syn keyword sshdconfigKeyword PrintMotd 173syn keyword sshdconfigKeyword Protocol 174syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes 175syn keyword sshdconfigKeyword PubkeyAuthentication 176syn keyword sshdconfigKeyword RSAAuthentication 177syn keyword sshdconfigKeyword RekeyLimit 178syn 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 185syn keyword sshdconfigKeyword TCPKeepAlive 186syn keyword sshdconfigKeyword TrustedUserCAKeys 187syn keyword sshdconfigKeyword UseDNS 188syn keyword sshdconfigKeyword UseLogin 189syn keyword sshdconfigKeyword UsePAM 190syn keyword sshdconfigKeyword UsePrivilegeSeparation 191syn keyword sshdconfigKeyword VersionAddendum 192syn keyword sshdconfigKeyword X11DisplayOffset 193syn keyword sshdconfigKeyword X11Forwarding 194syn keyword sshdconfigKeyword X11UseLocalhost 195syn keyword sshdconfigKeyword XAuthLocation 196 197 198" Define the default highlighting 199if version >= 508 || !exists("did_sshdconfig_syntax_inits") 200 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 206 207 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 233 delcommand HiLink 234endif 235 236let b:current_syntax = "sshdconfig" 237 238" vim:set ts=8 sw=2 sts=2: 239