1071d4279SBram Moolenaar" Vim syntax file 25c73622aSBram Moolenaar" Language: OpenSSH client configuration file (ssh_config) 3f1568ecaSBram Moolenaar" Author: David Necas (Yeti) 4256972a9SBram Moolenaar" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de> 5256972a9SBram Moolenaar" Contributor: Leonard Ehrenfried <[email protected]> 6345efa01SBram Moolenaar" Contributor: Karsten Hopp <[email protected]> 709521313SBram Moolenaar" Contributor: Dean, Adam Kenneth <[email protected]> 8*bc2eada5SBram Moolenaar" Last Change: 2016 Dec 28 9*bc2eada5SBram Moolenaar" SSH Version: 7.4p1 10f1568ecaSBram Moolenaar" 11071d4279SBram Moolenaar 12071d4279SBram Moolenaar" Setup 1389bcfda6SBram Moolenaar" quit when a syntax file was already loaded 14071d4279SBram Moolenaarif exists("b:current_syntax") 15071d4279SBram Moolenaar finish 16071d4279SBram Moolenaarendif 17071d4279SBram Moolenaar 18071d4279SBram Moolenaarsetlocal iskeyword=_,-,a-z,A-Z,48-57 19071d4279SBram Moolenaar 20f1568ecaSBram Moolenaar 21f1568ecaSBram Moolenaar" case on 22f1568ecaSBram Moolenaarsyn case match 23f1568ecaSBram Moolenaar 24071d4279SBram Moolenaar 25071d4279SBram Moolenaar" Comments 26f1568ecaSBram Moolenaarsyn match sshconfigComment "^#.*$" contains=sshconfigTodo 27f1568ecaSBram Moolenaarsyn match sshconfigComment "\s#.*$" contains=sshconfigTodo 28f1568ecaSBram Moolenaar 29f1568ecaSBram Moolenaarsyn keyword sshconfigTodo TODO FIXME NOTE contained 30f1568ecaSBram Moolenaar 31071d4279SBram Moolenaar 32071d4279SBram Moolenaar" Constants 33939a1abeSBram Moolenaarsyn keyword sshconfigYesNo yes no ask confirm 345c73622aSBram Moolenaarsyn keyword sshconfigYesNo any auto 35f1568ecaSBram Moolenaarsyn keyword sshconfigYesNo force autoask none 36f1568ecaSBram Moolenaar 37f1568ecaSBram Moolenaarsyn keyword sshconfigCipher 3des blowfish 38f1568ecaSBram Moolenaar 39328da0dcSBram Moolenaarsyn keyword sshconfigCiphers 3des-cbc 40328da0dcSBram Moolenaarsyn keyword sshconfigCiphers blowfish-cbc 41328da0dcSBram Moolenaarsyn keyword sshconfigCiphers cast128-cbc 42328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour 43328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour128 44328da0dcSBram Moolenaarsyn keyword sshconfigCiphers arcfour256 45328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes128-cbc 46328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes192-cbc 47328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes256-cbc 48328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>" 49328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes128-ctr 50328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes192-ctr 51328da0dcSBram Moolenaarsyn keyword sshconfigCiphers aes256-ctr 52328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>" 53328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>" 54328da0dcSBram Moolenaarsyn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>" 55328da0dcSBram Moolenaar 56328da0dcSBram Moolenaarsyn keyword sshconfigMAC hmac-sha1 57328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha1-96 58328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha2-256 59328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-sha2-512 60328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-md5 61328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-md5-96 62328da0dcSBram Moolenaarsyn keyword sshconfigMAC mac-ripemd160 63328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-ripemd160@openssh\.com\>" 645c73622aSBram Moolenaarsyn match sshconfigMAC "\<umac-64@openssh\.com\>" 65328da0dcSBram Moolenaarsyn match sshconfigMAC "\<umac-128@openssh\.com\>" 66328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>" 67328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>" 68328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>" 69328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>" 70328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-md5-etm@openssh\.com\>" 71328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>" 72328da0dcSBram Moolenaarsyn match sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>" 73328da0dcSBram Moolenaarsyn match sshconfigMAC "\<umac-64-etm@openssh\.com\>" 74328da0dcSBram Moolenaarsyn match sshconfigMAC "\<umac-128-etm@openssh\.com\>" 75f1568ecaSBram Moolenaar 76328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-ed25519 77328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>" 78328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-rsa 79328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ssh-dss 80328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256 81328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384 82328da0dcSBram Moolenaarsyn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521 83328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>" 84328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>" 85328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>" 86328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>" 87328da0dcSBram Moolenaarsyn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>" 88f1568ecaSBram Moolenaar 89f1568ecaSBram Moolenaarsyn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic 90071d4279SBram Moolenaarsyn keyword sshconfigPreferredAuth keyboard-interactive 91f1568ecaSBram Moolenaar 92071d4279SBram Moolenaarsyn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE 93071d4279SBram Moolenaarsyn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3 945c73622aSBram Moolenaarsyn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1 955c73622aSBram Moolenaarsyn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7 96f1568ecaSBram Moolenaarsyn keyword sshconfigAddressFamily inet inet6 97f1568ecaSBram Moolenaar 98345efa01SBram Moolenaarsyn match sshconfigIPQoS "af1[123]" 99345efa01SBram Moolenaarsyn match sshconfigIPQoS "af2[123]" 100f1568ecaSBram Moolenaarsyn match sshconfigIPQoS "af3[123]" 101f1568ecaSBram Moolenaarsyn match sshconfigIPQoS "af4[123]" 102f1568ecaSBram Moolenaarsyn match sshconfigIPQoS "cs[0-7]" 103f1568ecaSBram Moolenaarsyn keyword sshconfigIPQoS ef lowdelay throughput reliability 104f1568ecaSBram Moolenaarsyn keyword sshconfigKbdInteractive bsdauth pam skey 105f1568ecaSBram Moolenaar 106f1568ecaSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group1-sha1 107328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group14-sha1 108328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1 109328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256 110328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp256 111328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp384 112328da0dcSBram Moolenaarsyn keyword sshconfigKexAlgo ecdh-sha2-nistp521 113328da0dcSBram Moolenaarsyn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>" 114f1568ecaSBram Moolenaar 115f1568ecaSBram Moolenaarsyn keyword sshconfigTunnel point-to-point ethernet 116f1568ecaSBram Moolenaar 117f1568ecaSBram Moolenaarsyn match sshconfigVar "%[rhplLdun]\>" 118071d4279SBram Moolenaarsyn match sshconfigSpecial "[*?]" 119071d4279SBram Moolenaarsyn match sshconfigNumber "\d\+" 120071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>" 121071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>" 122071d4279SBram Moolenaarsyn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>" 123db7207e6SBram Moolenaarsyn match sshconfigHostPort "\(Host \)\@<=.\+" 124db7207e6SBram Moolenaarsyn match sshconfigHostPort "\(HostName \)\@<=.\+" 125f1568ecaSBram Moolenaar 126f1568ecaSBram Moolenaar" case off 127f1568ecaSBram Moolenaarsyn case ignore 128f1568ecaSBram Moolenaar 129f1568ecaSBram Moolenaar 130071d4279SBram Moolenaar" Keywords 131071d4279SBram Moolenaarsyn keyword sshconfigHostSect Host 132f1568ecaSBram Moolenaar 133256972a9SBram Moolenaarsyn keyword sshconfigMatch canonical exec host originalhost user localuser all 134256972a9SBram Moolenaar 1355c73622aSBram Moolenaarsyn keyword sshconfigKeyword AddressFamily 136939a1abeSBram Moolenaarsyn keyword sshconfigKeyword AddKeysToAgent 137f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword BatchMode 138f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword BindAddress 139345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalDomains 140345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeFallbackLocal 141345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeHostname 142345efa01SBram Moolenaarsyn keyword sshconfigKeyword CanonicalizeMaxDots 143328da0dcSBram Moolenaarsyn keyword sshconfigKeyword CertificateFile 144f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ChallengeResponseAuthentication 145f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword CheckHostIP 146f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Cipher 147f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Ciphers 148f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ClearAllForwardings 149f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Compression 150f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword CompressionLevel 151f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ConnectTimeout 152f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ConnectionAttempts 153f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlMaster 154f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlPath 155f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ControlPersist 156f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword DynamicForward 157f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword EnableSSHKeysign 158f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword EscapeChar 159f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ExitOnForwardFailure 160f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardAgent 161f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11 162f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11Timeout 1635c73622aSBram Moolenaarsyn keyword sshconfigKeyword ForwardX11Trusted 1645c73622aSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIAuthentication 165f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIClientIdentity 166f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIDelegateCredentials 167f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIKeyExchange 168f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIRenewalForcesRekey 169f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPIServerIdentity 170f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPITrustDNS 171f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GSSAPITrustDns 172f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword GatewayPorts 1735c73622aSBram Moolenaarsyn keyword sshconfigKeyword GlobalKnownHostsFile 174f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HashKnownHosts 175f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostKeyAlgorithms 176f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostKeyAlias 177f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostName 178f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword HostbasedAuthentication 179256972a9SBram Moolenaarsyn keyword sshconfigKeyword HostbasedKeyTypes 180f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IPQoS 181f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IdentitiesOnly 182f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword IdentityFile 183345efa01SBram Moolenaarsyn keyword sshconfigKeyword IgnoreUnknown 184*bc2eada5SBram Moolenaarsyn keyword sshconfigKeyword Include 185345efa01SBram Moolenaarsyn keyword sshconfigKeyword IPQoS 186f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KbdInteractiveAuthentication 187f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KbdInteractiveDevices 188f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword KexAlgorithms 189f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LocalCommand 190f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LocalForward 191f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword LogLevel 1925c73622aSBram Moolenaarsyn keyword sshconfigKeyword MACs 193256972a9SBram Moolenaarsyn keyword sshconfigKeyword Match 1945c73622aSBram Moolenaarsyn keyword sshconfigKeyword NoHostAuthenticationForLocalhost 1955c73622aSBram Moolenaarsyn keyword sshconfigKeyword NumberOfPasswordPrompts 196f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PKCS11Provider 197f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PasswordAuthentication 1985c73622aSBram Moolenaarsyn keyword sshconfigKeyword PermitLocalCommand 199f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Port 200f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PreferredAuthentications 201f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Protocol 202f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ProxyCommand 20309521313SBram Moolenaarsyn keyword sshconfigKeyword ProxyJump 204256972a9SBram Moolenaarsyn keyword sshconfigKeyword ProxyUseFDPass 205256972a9SBram Moolenaarsyn keyword sshconfigKeyword PubkeyAcceptedKeyTypes 206f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword PubkeyAuthentication 207f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RSAAuthentication 208f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RekeyLimit 209f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RemoteForward 210f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword RequestTTY 2115c73622aSBram Moolenaarsyn keyword sshconfigKeyword RhostsRSAAuthentication 212f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword SendEnv 213f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ServerAliveCountMax 214f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword ServerAliveInterval 215f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword SmartcardDevice 216f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword StrictHostKeyChecking 217f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword TCPKeepAlive 218f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword Tunnel 219f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword TunnelDevice 220f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword UseBlacklistedKeys 221f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword UsePrivilegedPort 222f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword User 2235c73622aSBram Moolenaarsyn keyword sshconfigKeyword UserKnownHostsFile 224345efa01SBram Moolenaarsyn keyword sshconfigKeyword UseRoaming 225f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword VerifyHostKeyDNS 226f1568ecaSBram Moolenaarsyn keyword sshconfigKeyword VisualHostKey 2275c73622aSBram Moolenaarsyn keyword sshconfigKeyword XAuthLocation 228071d4279SBram Moolenaar 229071d4279SBram Moolenaar" Define the default highlighting 230071d4279SBram Moolenaar 231f37506f6SBram Moolenaarhi def link sshconfigComment Comment 232f37506f6SBram Moolenaarhi def link sshconfigTodo Todo 233f37506f6SBram Moolenaarhi def link sshconfigHostPort sshconfigConstant 234f37506f6SBram Moolenaarhi def link sshconfigNumber sshconfigConstant 235f37506f6SBram Moolenaarhi def link sshconfigConstant Constant 236f37506f6SBram Moolenaarhi def link sshconfigYesNo sshconfigEnum 237f37506f6SBram Moolenaarhi def link sshconfigCipher sshconfigEnum 238f37506f6SBram Moolenaarhi def link sshconfigCiphers sshconfigEnum 239f37506f6SBram Moolenaarhi def link sshconfigMAC sshconfigEnum 240f37506f6SBram Moolenaarhi def link sshconfigHostKeyAlgo sshconfigEnum 241f37506f6SBram Moolenaarhi def link sshconfigLogLevel sshconfigEnum 242f37506f6SBram Moolenaarhi def link sshconfigSysLogFacility sshconfigEnum 243f37506f6SBram Moolenaarhi def link sshconfigAddressFamily sshconfigEnum 244f37506f6SBram Moolenaarhi def link sshconfigIPQoS sshconfigEnum 245f37506f6SBram Moolenaarhi def link sshconfigKbdInteractive sshconfigEnum 246f37506f6SBram Moolenaarhi def link sshconfigKexAlgo sshconfigEnum 247f37506f6SBram Moolenaarhi def link sshconfigTunnel sshconfigEnum 248f37506f6SBram Moolenaarhi def link sshconfigPreferredAuth sshconfigEnum 249f37506f6SBram Moolenaarhi def link sshconfigVar sshconfigEnum 250f37506f6SBram Moolenaarhi def link sshconfigEnum Identifier 251f37506f6SBram Moolenaarhi def link sshconfigSpecial Special 252f37506f6SBram Moolenaarhi def link sshconfigKeyword Keyword 253f37506f6SBram Moolenaarhi def link sshconfigHostSect Type 254f37506f6SBram Moolenaarhi def link sshconfigMatch Type 255071d4279SBram Moolenaar 256071d4279SBram Moolenaarlet b:current_syntax = "sshconfig" 257f1568ecaSBram Moolenaar 258f1568ecaSBram Moolenaar" vim:set ts=8 sw=2 sts=2: 259