1" Vim syntax file 2" Language: OpenSSH client configuration file (ssh_config) 3" Author: David Necas (Yeti) 4" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de> 5" Contributor: Leonard Ehrenfried <[email protected]> 6" Last Change: 2015 Dec 3 7" SSH Version: 7.0 8" 9 10" Setup 11if version >= 600 12 if exists("b:current_syntax") 13 finish 14 endif 15else 16 syntax clear 17endif 18 19if version >= 600 20 setlocal iskeyword=_,-,a-z,A-Z,48-57 21else 22 set iskeyword=_,-,a-z,A-Z,48-57 23endif 24 25 26" case on 27syn case match 28 29 30" Comments 31syn match sshconfigComment "^#.*$" contains=sshconfigTodo 32syn match sshconfigComment "\s#.*$" contains=sshconfigTodo 33 34syn keyword sshconfigTodo TODO FIXME NOTE contained 35 36 37" Constants 38syn keyword sshconfigYesNo yes no ask 39syn keyword sshconfigYesNo any auto 40syn keyword sshconfigYesNo force autoask none 41 42syn keyword sshconfigCipher 3des blowfish 43syn keyword sshconfigCiphers aes128-cbc 3des-cbc blowfish blowfish-cbc cast128-cbc 44syn keyword sshconfigCiphers aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr 45syn keyword sshconfigCiphers arcfour arcfour128 arcfour256 cast128-cbc 46 47syn keyword sshconfigMAC hmac-md5 hmac-sha1 hmac-ripemd160 hmac-sha1-96 48syn keyword sshconfigMAC hmac-md5-96 49syn keyword sshconfigMAC hmac-sha2-256 hmac-sha2-256-96 hmac-sha2-512 50syn keyword sshconfigMAC hmac-sha2-512-96 51syn match sshconfigMAC "\<umac-64@openssh\.com\>" 52 53syn keyword sshconfigHostKeyAlg ssh-rsa ssh-dss 54syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>" 55syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>" 56syn match sshconfigHostKeyAlg "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>" 57syn match sshconfigHostKeyAlg "\<ssh-rsa-cert-v01@openssh\.com\>" 58syn match sshconfigHostKeyAlg "\<ssh-dss-cert-v01@openssh\.com\>" 59syn match sshconfigHostKeyAlg "\<ssh-rsa-cert-v00@openssh\.com\>" 60syn match sshconfigHostKeyAlg "\<ssh-dss-cert-v00@openssh\.com\>" 61syn keyword sshconfigHostKeyAlg ecdsa-sha2-nistp256 ecdsa-sha2-nistp384 ecdsa-sha2-nistp521 62 63syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic 64syn keyword sshconfigPreferredAuth keyboard-interactive 65 66syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE 67syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3 68syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1 69syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 70syn keyword sshconfigAddressFamily inet inet6 71 72syn match sshconfigIPQoS "af1[1234]" 73syn match sshconfigIPQoS "af2[23]" 74syn match sshconfigIPQoS "af3[123]" 75syn match sshconfigIPQoS "af4[123]" 76syn match sshconfigIPQoS "cs[0-7]" 77syn keyword sshconfigIPQoS ef lowdelay throughput reliability 78syn keyword sshconfigKbdInteractive bsdauth pam skey 79 80syn keyword sshconfigKexAlgo ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 81syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256 82syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1 83syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1 84syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1 85 86syn keyword sshconfigTunnel point-to-point ethernet 87 88syn match sshconfigVar "%[rhplLdun]\>" 89syn match sshconfigSpecial "[*?]" 90syn match sshconfigNumber "\d\+" 91syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>" 92syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>" 93syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>" 94syn match sshconfigHostPort "\(Host \)\@<=.\+" 95syn match sshconfigHostPort "\(HostName \)\@<=.\+" 96 97" case off 98syn case ignore 99 100 101" Keywords 102syn keyword sshconfigHostSect Host 103 104syn keyword sshconfigMatch canonical exec host originalhost user localuser all 105 106syn keyword sshconfigKeyword AddressFamily 107syn keyword sshconfigKeyword BatchMode 108syn keyword sshconfigKeyword BindAddress 109syn keyword sshconfigKeyword ChallengeResponseAuthentication 110syn keyword sshconfigKeyword CheckHostIP 111syn keyword sshconfigKeyword Cipher 112syn keyword sshconfigKeyword Ciphers 113syn keyword sshconfigKeyword ClearAllForwardings 114syn keyword sshconfigKeyword Compression 115syn keyword sshconfigKeyword CompressionLevel 116syn keyword sshconfigKeyword ConnectTimeout 117syn keyword sshconfigKeyword ConnectionAttempts 118syn keyword sshconfigKeyword ControlMaster 119syn keyword sshconfigKeyword ControlPath 120syn keyword sshconfigKeyword ControlPersist 121syn keyword sshconfigKeyword DynamicForward 122syn keyword sshconfigKeyword EnableSSHKeysign 123syn keyword sshconfigKeyword EscapeChar 124syn keyword sshconfigKeyword ExitOnForwardFailure 125syn keyword sshconfigKeyword ForwardAgent 126syn keyword sshconfigKeyword ForwardX11 127syn keyword sshconfigKeyword ForwardX11Timeout 128syn keyword sshconfigKeyword ForwardX11Trusted 129syn keyword sshconfigKeyword GSSAPIAuthentication 130syn keyword sshconfigKeyword GSSAPIClientIdentity 131syn keyword sshconfigKeyword GSSAPIDelegateCredentials 132syn keyword sshconfigKeyword GSSAPIKeyExchange 133syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey 134syn keyword sshconfigKeyword GSSAPIServerIdentity 135syn keyword sshconfigKeyword GSSAPITrustDNS 136syn keyword sshconfigKeyword GSSAPITrustDns 137syn keyword sshconfigKeyword GatewayPorts 138syn keyword sshconfigKeyword GlobalKnownHostsFile 139syn keyword sshconfigKeyword HashKnownHosts 140syn keyword sshconfigKeyword HostKeyAlgorithms 141syn keyword sshconfigKeyword HostKeyAlias 142syn keyword sshconfigKeyword HostName 143syn keyword sshconfigKeyword HostbasedAuthentication 144syn keyword sshconfigKeyword HostbasedKeyTypes 145syn keyword sshconfigKeyword IPQoS 146syn keyword sshconfigKeyword IdentitiesOnly 147syn keyword sshconfigKeyword IdentityFile 148syn keyword sshconfigKeyword KbdInteractiveAuthentication 149syn keyword sshconfigKeyword KbdInteractiveDevices 150syn keyword sshconfigKeyword KexAlgorithms 151syn keyword sshconfigKeyword LocalCommand 152syn keyword sshconfigKeyword LocalForward 153syn keyword sshconfigKeyword LogLevel 154syn keyword sshconfigKeyword MACs 155syn keyword sshconfigKeyword Match 156syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost 157syn keyword sshconfigKeyword NumberOfPasswordPrompts 158syn keyword sshconfigKeyword PKCS11Provider 159syn keyword sshconfigKeyword PasswordAuthentication 160syn keyword sshconfigKeyword PermitLocalCommand 161syn keyword sshconfigKeyword Port 162syn keyword sshconfigKeyword PreferredAuthentications 163syn keyword sshconfigKeyword Protocol 164syn keyword sshconfigKeyword ProxyCommand 165syn keyword sshconfigKeyword ProxyUseFDPass 166syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes 167syn keyword sshconfigKeyword PubkeyAuthentication 168syn keyword sshconfigKeyword RSAAuthentication 169syn keyword sshconfigKeyword RekeyLimit 170syn keyword sshconfigKeyword RemoteForward 171syn keyword sshconfigKeyword RequestTTY 172syn keyword sshconfigKeyword RhostsRSAAuthentication 173syn keyword sshconfigKeyword SendEnv 174syn keyword sshconfigKeyword ServerAliveCountMax 175syn keyword sshconfigKeyword ServerAliveInterval 176syn keyword sshconfigKeyword SmartcardDevice 177syn keyword sshconfigKeyword StrictHostKeyChecking 178syn keyword sshconfigKeyword TCPKeepAlive 179syn keyword sshconfigKeyword Tunnel 180syn keyword sshconfigKeyword TunnelDevice 181syn keyword sshconfigKeyword UseBlacklistedKeys 182syn keyword sshconfigKeyword UsePrivilegedPort 183syn keyword sshconfigKeyword User 184syn keyword sshconfigKeyword UserKnownHostsFile 185syn keyword sshconfigKeyword VerifyHostKeyDNS 186syn keyword sshconfigKeyword VisualHostKey 187syn keyword sshconfigKeyword XAuthLocation 188 189" Define the default highlighting 190if version >= 508 || !exists("did_sshconfig_syntax_inits") 191 if version < 508 192 let did_sshconfig_syntax_inits = 1 193 command -nargs=+ HiLink hi link <args> 194 else 195 command -nargs=+ HiLink hi def link <args> 196 endif 197 198 HiLink sshconfigComment Comment 199 HiLink sshconfigTodo Todo 200 HiLink sshconfigHostPort sshconfigConstant 201 HiLink sshconfigNumber sshconfigConstant 202 HiLink sshconfigConstant Constant 203 HiLink sshconfigYesNo sshconfigEnum 204 HiLink sshconfigCipher sshconfigEnum 205 HiLink sshconfigCiphers sshconfigEnum 206 HiLink sshconfigMAC sshconfigEnum 207 HiLink sshconfigHostKeyAlg sshconfigEnum 208 HiLink sshconfigLogLevel sshconfigEnum 209 HiLink sshconfigSysLogFacility sshconfigEnum 210 HiLink sshconfigAddressFamily sshconfigEnum 211 HiLink sshconfigIPQoS sshconfigEnum 212 HiLink sshconfigKbdInteractive sshconfigEnum 213 HiLink sshconfigKexAlgo sshconfigEnum 214 HiLink sshconfigTunnel sshconfigEnum 215 HiLink sshconfigPreferredAuth sshconfigEnum 216 HiLink sshconfigVar sshconfigEnum 217 HiLink sshconfigEnum Identifier 218 HiLink sshconfigSpecial Special 219 HiLink sshconfigKeyword Keyword 220 HiLink sshconfigHostSect Type 221 HiLink sshconfigMatch Type 222 delcommand HiLink 223endif 224 225let b:current_syntax = "sshconfig" 226 227" vim:set ts=8 sw=2 sts=2: 228