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