blob: 755d08e7687b5319602843067a417bf5de835fb4 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
Bram Moolenaarf1568ec2011-12-14 21:17:39 +01002" Language: OpenSSH client configuration file (ssh_config)
3" Author: David Necas (Yeti)
Bram Moolenaar256972a2015-12-29 19:10:25 +01004" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de>
Bram Moolenaar345efa02016-01-15 20:57:49 +01005" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
6" Contributor: Karsten Hopp <karsten@redhat.com>
Bram Moolenaar09521312016-08-12 22:54:35 +02007" Contributor: Dean, Adam Kenneth <adam.ken.dean@hpe.com>
Bram Moolenaarbc2eada2017-01-02 21:27:47 +01008" Last Change: 2016 Dec 28
9" SSH Version: 7.4p1
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010010"
Bram Moolenaar071d4272004-06-13 20:20:40 +000011
12" Setup
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020013" quit when a syntax file was already loaded
14if exists("b:current_syntax")
15 finish
Bram Moolenaar071d4272004-06-13 20:20:40 +000016endif
17
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020018setlocal iskeyword=_,-,a-z,A-Z,48-57
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010020
21" case on
22syn case match
23
Bram Moolenaar071d4272004-06-13 20:20:40 +000024
25" Comments
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010026syn match sshconfigComment "^#.*$" contains=sshconfigTodo
27syn match sshconfigComment "\s#.*$" contains=sshconfigTodo
28
29syn keyword sshconfigTodo TODO FIXME NOTE contained
30
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
32" Constants
Bram Moolenaar939a1ab2016-04-10 01:31:25 +020033syn keyword sshconfigYesNo yes no ask confirm
Bram Moolenaar5c736222010-01-06 20:54:52 +010034syn keyword sshconfigYesNo any auto
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010035syn keyword sshconfigYesNo force autoask none
36
Bram Moolenaar328da0d2016-03-04 22:22:32 +010037syn keyword sshconfigCipher 3des blowfish
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010038
Bram Moolenaar328da0d2016-03-04 22:22:32 +010039syn keyword sshconfigCiphers 3des-cbc
40syn keyword sshconfigCiphers blowfish-cbc
41syn keyword sshconfigCiphers cast128-cbc
42syn keyword sshconfigCiphers arcfour
43syn keyword sshconfigCiphers arcfour128
44syn keyword sshconfigCiphers arcfour256
45syn keyword sshconfigCiphers aes128-cbc
46syn keyword sshconfigCiphers aes192-cbc
47syn keyword sshconfigCiphers aes256-cbc
48syn match sshconfigCiphers "\<rijndael-cbc@lysator\.liu.se\>"
49syn keyword sshconfigCiphers aes128-ctr
50syn keyword sshconfigCiphers aes192-ctr
51syn keyword sshconfigCiphers aes256-ctr
52syn match sshconfigCiphers "\<aes128-gcm@openssh\.com\>"
53syn match sshconfigCiphers "\<aes256-gcm@openssh\.com\>"
54syn match sshconfigCiphers "\<chacha20-poly1305@openssh\.com\>"
55
56syn keyword sshconfigMAC hmac-sha1
57syn keyword sshconfigMAC mac-sha1-96
58syn keyword sshconfigMAC mac-sha2-256
59syn keyword sshconfigMAC mac-sha2-512
60syn keyword sshconfigMAC mac-md5
61syn keyword sshconfigMAC mac-md5-96
62syn keyword sshconfigMAC mac-ripemd160
63syn match sshconfigMAC "\<hmac-ripemd160@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010064syn match sshconfigMAC "\<umac-64@openssh\.com\>"
Bram Moolenaar328da0d2016-03-04 22:22:32 +010065syn match sshconfigMAC "\<umac-128@openssh\.com\>"
66syn match sshconfigMAC "\<hmac-sha1-etm@openssh\.com\>"
67syn match sshconfigMAC "\<hmac-sha1-96-etm@openssh\.com\>"
68syn match sshconfigMAC "\<hmac-sha2-256-etm@openssh\.com\>"
69syn match sshconfigMAC "\<hmac-sha2-512-etm@openssh\.com\>"
70syn match sshconfigMAC "\<hmac-md5-etm@openssh\.com\>"
71syn match sshconfigMAC "\<hmac-md5-96-etm@openssh\.com\>"
72syn match sshconfigMAC "\<hmac-ripemd160-etm@openssh\.com\>"
73syn match sshconfigMAC "\<umac-64-etm@openssh\.com\>"
74syn match sshconfigMAC "\<umac-128-etm@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010075
Bram Moolenaar328da0d2016-03-04 22:22:32 +010076syn keyword sshconfigHostKeyAlgo ssh-ed25519
77syn match sshconfigHostKeyAlgo "\<ssh-ed25519-cert-v01@openssh\.com\>"
78syn keyword sshconfigHostKeyAlgo ssh-rsa
79syn keyword sshconfigHostKeyAlgo ssh-dss
80syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp256
81syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp384
82syn keyword sshconfigHostKeyAlgo ecdsa-sha2-nistp521
83syn match sshconfigHostKeyAlgo "\<ssh-rsa-cert-v01@openssh\.com\>"
84syn match sshconfigHostKeyAlgo "\<ssh-dss-cert-v01@openssh\.com\>"
85syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp256-cert-v01@openssh\.com\>"
86syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp384-cert-v01@openssh\.com\>"
87syn match sshconfigHostKeyAlgo "\<ecdsa-sha2-nistp521-cert-v01@openssh\.com\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010088
89syn keyword sshconfigPreferredAuth hostbased publickey password gssapi-with-mic
Bram Moolenaar071d4272004-06-13 20:20:40 +000090syn keyword sshconfigPreferredAuth keyboard-interactive
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010091
Bram Moolenaar071d4272004-06-13 20:20:40 +000092syn keyword sshconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
93syn keyword sshconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
Bram Moolenaar5c736222010-01-06 20:54:52 +010094syn keyword sshconfigSysLogFacility DAEMON USER AUTH AUTHPRIV LOCAL0 LOCAL1
95syn keyword sshconfigSysLogFacility LOCAL2 LOCAL3 LOCAL4 LOCAL5 LOCAL6 LOCAL7
Bram Moolenaarf1568ec2011-12-14 21:17:39 +010096syn keyword sshconfigAddressFamily inet inet6
97
Bram Moolenaar345efa02016-01-15 20:57:49 +010098syn match sshconfigIPQoS "af1[123]"
99syn match sshconfigIPQoS "af2[123]"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100100syn match sshconfigIPQoS "af3[123]"
101syn match sshconfigIPQoS "af4[123]"
102syn match sshconfigIPQoS "cs[0-7]"
103syn keyword sshconfigIPQoS ef lowdelay throughput reliability
104syn keyword sshconfigKbdInteractive bsdauth pam skey
105
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100106syn keyword sshconfigKexAlgo diffie-hellman-group1-sha1
107syn keyword sshconfigKexAlgo diffie-hellman-group14-sha1
108syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha1
109syn keyword sshconfigKexAlgo diffie-hellman-group-exchange-sha256
110syn keyword sshconfigKexAlgo ecdh-sha2-nistp256
111syn keyword sshconfigKexAlgo ecdh-sha2-nistp384
112syn keyword sshconfigKexAlgo ecdh-sha2-nistp521
113syn match sshconfigKexAlgo "\<curve25519-sha256@libssh\.org\>"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100114
115syn keyword sshconfigTunnel point-to-point ethernet
116
117syn match sshconfigVar "%[rhplLdun]\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000118syn match sshconfigSpecial "[*?]"
119syn match sshconfigNumber "\d\+"
120syn match sshconfigHostPort "\<\(\d\{1,3}\.\)\{3}\d\{1,3}\(:\d\+\)\?\>"
121syn match sshconfigHostPort "\<\([-a-zA-Z0-9]\+\.\)\+[-a-zA-Z0-9]\{2,}\(:\d\+\)\?\>"
122syn match sshconfigHostPort "\<\(\x\{,4}:\)\+\x\{,4}[:/]\d\+\>"
Bram Moolenaardb7207e2012-02-22 17:30:19 +0100123syn match sshconfigHostPort "\(Host \)\@<=.\+"
124syn match sshconfigHostPort "\(HostName \)\@<=.\+"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100125
126" case off
127syn case ignore
128
129
Bram Moolenaar071d4272004-06-13 20:20:40 +0000130" Keywords
131syn keyword sshconfigHostSect Host
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100132
Bram Moolenaar256972a2015-12-29 19:10:25 +0100133syn keyword sshconfigMatch canonical exec host originalhost user localuser all
134
Bram Moolenaar5c736222010-01-06 20:54:52 +0100135syn keyword sshconfigKeyword AddressFamily
Bram Moolenaar939a1ab2016-04-10 01:31:25 +0200136syn keyword sshconfigKeyword AddKeysToAgent
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100137syn keyword sshconfigKeyword BatchMode
138syn keyword sshconfigKeyword BindAddress
Bram Moolenaar345efa02016-01-15 20:57:49 +0100139syn keyword sshconfigKeyword CanonicalDomains
140syn keyword sshconfigKeyword CanonicalizeFallbackLocal
141syn keyword sshconfigKeyword CanonicalizeHostname
142syn keyword sshconfigKeyword CanonicalizeMaxDots
Bram Moolenaar328da0d2016-03-04 22:22:32 +0100143syn keyword sshconfigKeyword CertificateFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100144syn keyword sshconfigKeyword ChallengeResponseAuthentication
145syn keyword sshconfigKeyword CheckHostIP
146syn keyword sshconfigKeyword Cipher
147syn keyword sshconfigKeyword Ciphers
148syn keyword sshconfigKeyword ClearAllForwardings
149syn keyword sshconfigKeyword Compression
150syn keyword sshconfigKeyword CompressionLevel
151syn keyword sshconfigKeyword ConnectTimeout
152syn keyword sshconfigKeyword ConnectionAttempts
153syn keyword sshconfigKeyword ControlMaster
154syn keyword sshconfigKeyword ControlPath
155syn keyword sshconfigKeyword ControlPersist
156syn keyword sshconfigKeyword DynamicForward
157syn keyword sshconfigKeyword EnableSSHKeysign
158syn keyword sshconfigKeyword EscapeChar
159syn keyword sshconfigKeyword ExitOnForwardFailure
160syn keyword sshconfigKeyword ForwardAgent
161syn keyword sshconfigKeyword ForwardX11
162syn keyword sshconfigKeyword ForwardX11Timeout
Bram Moolenaar5c736222010-01-06 20:54:52 +0100163syn keyword sshconfigKeyword ForwardX11Trusted
164syn keyword sshconfigKeyword GSSAPIAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100165syn keyword sshconfigKeyword GSSAPIClientIdentity
166syn keyword sshconfigKeyword GSSAPIDelegateCredentials
167syn keyword sshconfigKeyword GSSAPIKeyExchange
168syn keyword sshconfigKeyword GSSAPIRenewalForcesRekey
169syn keyword sshconfigKeyword GSSAPIServerIdentity
170syn keyword sshconfigKeyword GSSAPITrustDNS
171syn keyword sshconfigKeyword GSSAPITrustDns
172syn keyword sshconfigKeyword GatewayPorts
Bram Moolenaar5c736222010-01-06 20:54:52 +0100173syn keyword sshconfigKeyword GlobalKnownHostsFile
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100174syn keyword sshconfigKeyword HashKnownHosts
175syn keyword sshconfigKeyword HostKeyAlgorithms
176syn keyword sshconfigKeyword HostKeyAlias
177syn keyword sshconfigKeyword HostName
178syn keyword sshconfigKeyword HostbasedAuthentication
Bram Moolenaar256972a2015-12-29 19:10:25 +0100179syn keyword sshconfigKeyword HostbasedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100180syn keyword sshconfigKeyword IPQoS
181syn keyword sshconfigKeyword IdentitiesOnly
182syn keyword sshconfigKeyword IdentityFile
Bram Moolenaar345efa02016-01-15 20:57:49 +0100183syn keyword sshconfigKeyword IgnoreUnknown
Bram Moolenaarbc2eada2017-01-02 21:27:47 +0100184syn keyword sshconfigKeyword Include
Bram Moolenaar345efa02016-01-15 20:57:49 +0100185syn keyword sshconfigKeyword IPQoS
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100186syn keyword sshconfigKeyword KbdInteractiveAuthentication
187syn keyword sshconfigKeyword KbdInteractiveDevices
188syn keyword sshconfigKeyword KexAlgorithms
189syn keyword sshconfigKeyword LocalCommand
190syn keyword sshconfigKeyword LocalForward
191syn keyword sshconfigKeyword LogLevel
Bram Moolenaar5c736222010-01-06 20:54:52 +0100192syn keyword sshconfigKeyword MACs
Bram Moolenaar256972a2015-12-29 19:10:25 +0100193syn keyword sshconfigKeyword Match
Bram Moolenaar5c736222010-01-06 20:54:52 +0100194syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
195syn keyword sshconfigKeyword NumberOfPasswordPrompts
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100196syn keyword sshconfigKeyword PKCS11Provider
197syn keyword sshconfigKeyword PasswordAuthentication
Bram Moolenaar5c736222010-01-06 20:54:52 +0100198syn keyword sshconfigKeyword PermitLocalCommand
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100199syn keyword sshconfigKeyword Port
200syn keyword sshconfigKeyword PreferredAuthentications
201syn keyword sshconfigKeyword Protocol
202syn keyword sshconfigKeyword ProxyCommand
Bram Moolenaar09521312016-08-12 22:54:35 +0200203syn keyword sshconfigKeyword ProxyJump
Bram Moolenaar256972a2015-12-29 19:10:25 +0100204syn keyword sshconfigKeyword ProxyUseFDPass
205syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100206syn keyword sshconfigKeyword PubkeyAuthentication
207syn keyword sshconfigKeyword RSAAuthentication
208syn keyword sshconfigKeyword RekeyLimit
209syn keyword sshconfigKeyword RemoteForward
210syn keyword sshconfigKeyword RequestTTY
Bram Moolenaar5c736222010-01-06 20:54:52 +0100211syn keyword sshconfigKeyword RhostsRSAAuthentication
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100212syn keyword sshconfigKeyword SendEnv
213syn keyword sshconfigKeyword ServerAliveCountMax
214syn keyword sshconfigKeyword ServerAliveInterval
215syn keyword sshconfigKeyword SmartcardDevice
216syn keyword sshconfigKeyword StrictHostKeyChecking
217syn keyword sshconfigKeyword TCPKeepAlive
218syn keyword sshconfigKeyword Tunnel
219syn keyword sshconfigKeyword TunnelDevice
220syn keyword sshconfigKeyword UseBlacklistedKeys
221syn keyword sshconfigKeyword UsePrivilegedPort
222syn keyword sshconfigKeyword User
Bram Moolenaar5c736222010-01-06 20:54:52 +0100223syn keyword sshconfigKeyword UserKnownHostsFile
Bram Moolenaar345efa02016-01-15 20:57:49 +0100224syn keyword sshconfigKeyword UseRoaming
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100225syn keyword sshconfigKeyword VerifyHostKeyDNS
226syn keyword sshconfigKeyword VisualHostKey
Bram Moolenaar5c736222010-01-06 20:54:52 +0100227syn keyword sshconfigKeyword XAuthLocation
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228
229" Define the default highlighting
Bram Moolenaar071d4272004-06-13 20:20:40 +0000230
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200231hi def link sshconfigComment Comment
232hi def link sshconfigTodo Todo
233hi def link sshconfigHostPort sshconfigConstant
234hi def link sshconfigNumber sshconfigConstant
235hi def link sshconfigConstant Constant
236hi def link sshconfigYesNo sshconfigEnum
237hi def link sshconfigCipher sshconfigEnum
238hi def link sshconfigCiphers sshconfigEnum
239hi def link sshconfigMAC sshconfigEnum
240hi def link sshconfigHostKeyAlgo sshconfigEnum
241hi def link sshconfigLogLevel sshconfigEnum
242hi def link sshconfigSysLogFacility sshconfigEnum
243hi def link sshconfigAddressFamily sshconfigEnum
244hi def link sshconfigIPQoS sshconfigEnum
245hi def link sshconfigKbdInteractive sshconfigEnum
246hi def link sshconfigKexAlgo sshconfigEnum
247hi def link sshconfigTunnel sshconfigEnum
248hi def link sshconfigPreferredAuth sshconfigEnum
249hi def link sshconfigVar sshconfigEnum
250hi def link sshconfigEnum Identifier
251hi def link sshconfigSpecial Special
252hi def link sshconfigKeyword Keyword
253hi def link sshconfigHostSect Type
254hi def link sshconfigMatch Type
Bram Moolenaar071d4272004-06-13 20:20:40 +0000255
256let b:current_syntax = "sshconfig"
Bram Moolenaarf1568ec2011-12-14 21:17:39 +0100257
258" vim:set ts=8 sw=2 sts=2: