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