blob: f0a4b293af391a87e47e073811070a0750c99c8b [file] [log] [blame]
Ben Lindstrom9f049032002-06-21 00:59:05 +00001.\"
2.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
3.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
4.\" All rights reserved
5.\"
6.\" As far as I am concerned, the code I have written for this software
7.\" can be used freely for any purpose. Any derived versions of this
8.\" software must be clearly marked as such, and if the derived work is
9.\" incompatible with the protocol description in the RFC file, it must be
10.\" called by a name other than "ssh" or "Secure Shell".
11.\"
12.\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved.
13.\" Copyright (c) 1999 Aaron Campbell. All rights reserved.
14.\" Copyright (c) 1999 Theo de Raadt. All rights reserved.
15.\"
16.\" Redistribution and use in source and binary forms, with or without
17.\" modification, are permitted provided that the following conditions
18.\" are met:
19.\" 1. Redistributions of source code must retain the above copyright
20.\" notice, this list of conditions and the following disclaimer.
21.\" 2. Redistributions in binary form must reproduce the above copyright
22.\" notice, this list of conditions and the following disclaimer in the
23.\" documentation and/or other materials provided with the distribution.
24.\"
25.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
26.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
27.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
28.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
29.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
30.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
34.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35.\"
djm@openbsd.org5e39a492014-12-04 02:24:32 +000036.\" $OpenBSD: ssh_config.5,v 1.196 2014/12/04 02:24:32 djm Exp $
37.Dd $Mdocdate: December 4 2014 $
Ben Lindstrom9f049032002-06-21 00:59:05 +000038.Dt SSH_CONFIG 5
39.Os
40.Sh NAME
41.Nm ssh_config
42.Nd OpenSSH SSH client configuration files
43.Sh SYNOPSIS
Darren Tuckerbf6b3282007-02-19 22:08:17 +110044.Nm ~/.ssh/config
45.Nm /etc/ssh/ssh_config
Ben Lindstrom9f049032002-06-21 00:59:05 +000046.Sh DESCRIPTION
Damien Miller45ee2b92006-03-15 11:56:18 +110047.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +000048obtains configuration data from the following sources in
49the following order:
Damien Miller5c853b52006-03-15 11:37:02 +110050.Pp
Ben Lindstrom479b4762002-08-20 19:04:51 +000051.Bl -enum -offset indent -compact
52.It
53command-line options
54.It
55user's configuration file
Damien Miller167ea5d2005-05-26 12:04:02 +100056.Pq Pa ~/.ssh/config
Ben Lindstrom479b4762002-08-20 19:04:51 +000057.It
58system-wide configuration file
59.Pq Pa /etc/ssh/ssh_config
60.El
Ben Lindstrom9f049032002-06-21 00:59:05 +000061.Pp
62For each parameter, the first obtained value
63will be used.
Darren Tucker43d8e282005-02-09 09:51:08 +110064The configuration files contain sections separated by
Ben Lindstrom9f049032002-06-21 00:59:05 +000065.Dq Host
66specifications, and that section is only applied for hosts that
67match one of the patterns given in the specification.
djm@openbsd.org957fbce2014-10-08 22:20:25 +000068The matched host name is usually the one given on the command line
69(see the
70.Cm CanonicalizeHostname
71option for exceptions.)
Ben Lindstrom9f049032002-06-21 00:59:05 +000072.Pp
73Since the first obtained value for each parameter is used, more
74host-specific declarations should be given near the beginning of the
75file, and general defaults at the end.
76.Pp
77The configuration file has the following format:
78.Pp
79Empty lines and lines starting with
80.Ql #
81are comments.
Ben Lindstrom9f049032002-06-21 00:59:05 +000082Otherwise a line is of the format
83.Dq keyword arguments .
84Configuration options may be separated by whitespace or
85optional whitespace and exactly one
86.Ql = ;
87the latter format is useful to avoid the need to quote whitespace
88when specifying configuration options using the
89.Nm ssh ,
Damien Miller4aea9742006-03-15 11:59:39 +110090.Nm scp ,
Ben Lindstrom9f049032002-06-21 00:59:05 +000091and
92.Nm sftp
93.Fl o
94option.
Damien Miller306d1182006-03-15 12:05:59 +110095Arguments may optionally be enclosed in double quotes
96.Pq \&"
97in order to represent arguments containing spaces.
Ben Lindstrom9f049032002-06-21 00:59:05 +000098.Pp
99The possible
100keywords and their meanings are as follows (note that
101keywords are case-insensitive and arguments are case-sensitive):
102.Bl -tag -width Ds
103.It Cm Host
104Restricts the following declarations (up to the next
105.Cm Host
Damien Miller194fd902013-10-15 12:13:05 +1100106or
107.Cm Match
Ben Lindstrom9f049032002-06-21 00:59:05 +0000108keyword) to be only for those hosts that match one of the patterns
109given after the keyword.
Damien Millerfa51b162008-11-03 19:17:33 +1100110If more than one pattern is provided, they should be separated by whitespace.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000111A single
Damien Miller208f1ed2006-03-15 11:56:03 +1100112.Ql *
Ben Lindstrom9f049032002-06-21 00:59:05 +0000113as a pattern can be used to provide global
114defaults for all hosts.
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000115The host is usually the
Ben Lindstrom9f049032002-06-21 00:59:05 +0000116.Ar hostname
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000117argument given on the command line
118(see the
119.Cm CanonicalizeHostname
120option for exceptions.)
Damien Millerf54a4b92006-03-15 11:54:36 +1100121.Pp
Damien Millerfe924212011-05-15 08:44:45 +1000122A pattern entry may be negated by prefixing it with an exclamation mark
123.Pq Sq !\& .
124If a negated entry is matched, then the
125.Cm Host
126entry is ignored, regardless of whether any other patterns on the line
127match.
128Negated matches are therefore useful to provide exceptions for wildcard
129matches.
130.Pp
Damien Millerf54a4b92006-03-15 11:54:36 +1100131See
132.Sx PATTERNS
133for more information on patterns.
Damien Millerd77b81f2013-10-17 11:39:00 +1100134.It Cm Match
Damien Miller194fd902013-10-15 12:13:05 +1100135Restricts the following declarations (up to the next
136.Cm Host
137or
138.Cm Match
139keyword) to be used only when the conditions following the
140.Cm Match
141keyword are satisfied.
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000142Match conditions are specified using one or more critera
Damien Millercf31f382013-10-24 21:02:56 +1100143or the single token
144.Cm all
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000145which always matches.
146The available criteria keywords are:
147.Cm canonical ,
Damien Miller8a04be72013-10-23 16:29:40 +1100148.Cm exec ,
Damien Miller194fd902013-10-15 12:13:05 +1100149.Cm host ,
150.Cm originalhost ,
151.Cm user ,
152and
153.Cm localuser .
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000154The
155.Cm all
156criteria must appear alone or immediately after
jmc@openbsd.orgb1ba15f2014-10-09 06:21:31 +0000157.Cm canonical .
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000158Other criteria may be combined arbitrarily.
159All criteria but
160.Cm all
161and
162.Cm canonical
163require an argument.
164Criteria may be negated by prepending an exclamation mark
165.Pq Sq !\& .
Damien Miller194fd902013-10-15 12:13:05 +1100166.Pp
Damien Miller8e5a67f2013-10-23 16:30:25 +1100167The
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000168.Cm canonical
169keywork matches only when the configuration file is being re-parsed
170after hostname canonicalization (see the
171.Cm CanonicalizeHostname
172option.)
173This may be useful to specify conditions that work with canonical host
174names only.
175The
Damien Miller8a04be72013-10-23 16:29:40 +1100176.Cm exec
Damien Miller8e5a67f2013-10-23 16:30:25 +1100177keyword executes the specified command under the user's shell.
Damien Miller194fd902013-10-15 12:13:05 +1100178If the command returns a zero exit status then the condition is considered true.
179Commands containing whitespace characters must be quoted.
Damien Miller5c86ebd2013-10-23 16:29:12 +1100180The following character sequences in the command will be expanded prior to
181execution:
182.Ql %L
183will be substituted by the first component of the local host name,
184.Ql %l
185will be substituted by the local host name (including any domain name),
186.Ql %h
187will be substituted by the target host name,
188.Ql %n
189will be substituted by the original target host name
Damien Miller8a04be72013-10-23 16:29:40 +1100190specified on the command-line,
Damien Miller5c86ebd2013-10-23 16:29:12 +1100191.Ql %p
192the destination port,
193.Ql %r
194by the remote login username, and
195.Ql %u
196by the username of the user running
197.Xr ssh 1 .
Damien Miller194fd902013-10-15 12:13:05 +1100198.Pp
199The other keywords' criteria must be single entries or comma-separated
200lists and may use the wildcard and negation operators described in the
201.Sx PATTERNS
202section.
203The criteria for the
204.Cm host
205keyword are matched against the target hostname, after any substitution
206by the
207.Cm Hostname
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000208or
209.Cm CanonicalizeHostname
210options.
Damien Miller194fd902013-10-15 12:13:05 +1100211The
212.Cm originalhost
213keyword matches against the hostname as it was specified on the command-line.
214The
215.Cm user
216keyword matches against the target username on the remote host.
217The
218.Cm localuser
219keyword matches against the name of the local user running
220.Xr ssh 1
221(this keyword may be useful in system-wide
222.Nm
223files).
Damien Miller20a8f972003-05-18 20:50:30 +1000224.It Cm AddressFamily
Damien Millerfbf486b2003-05-23 18:44:23 +1000225Specifies which address family to use when connecting.
226Valid arguments are
Damien Miller20a8f972003-05-18 20:50:30 +1000227.Dq any ,
228.Dq inet
Damien Miller45ee2b92006-03-15 11:56:18 +1100229(use IPv4 only), or
Damien Miller20a8f972003-05-18 20:50:30 +1000230.Dq inet6
Darren Tucker79a7acf2005-02-09 09:48:57 +1100231(use IPv6 only).
Ben Lindstrom9f049032002-06-21 00:59:05 +0000232.It Cm BatchMode
233If set to
234.Dq yes ,
235passphrase/password querying will be disabled.
236This option is useful in scripts and other batch jobs where no user
237is present to supply the password.
238The argument must be
239.Dq yes
240or
241.Dq no .
242The default is
243.Dq no .
244.It Cm BindAddress
Darren Tucker89f4d472005-07-14 17:06:21 +1000245Use the specified address on the local machine as the source address of
Darren Tucker6c71d202005-07-14 17:06:50 +1000246the connection.
247Only useful on systems with more than one address.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000248Note that this option does not work if
249.Cm UsePrivilegedPort
250is set to
251.Dq yes .
Damien Miller0faf7472013-10-17 11:47:23 +1100252.It Cm CanonicalDomains
Damien Miller607af342013-10-17 11:47:51 +1100253When
Damien Miller38505592013-10-17 11:48:13 +1100254.Cm CanonicalizeHostname
Damien Miller0faf7472013-10-17 11:47:23 +1100255is enabled, this option specifies the list of domain suffixes in which to
256search for the specified destination host.
Damien Miller38505592013-10-17 11:48:13 +1100257.It Cm CanonicalizeFallbackLocal
Damien Miller51682fa2013-10-17 11:48:31 +1100258Specifies whether to fail with an error when hostname canonicalization fails.
Damien Miller607af342013-10-17 11:47:51 +1100259The default,
Darren Tuckerb7e01c02014-01-19 22:36:13 +1100260.Dq yes ,
Damien Miller607af342013-10-17 11:47:51 +1100261will attempt to look up the unqualified hostname using the system resolver's
Damien Miller0faf7472013-10-17 11:47:23 +1100262search rules.
263A value of
Darren Tuckerb7e01c02014-01-19 22:36:13 +1100264.Dq no
Damien Miller0faf7472013-10-17 11:47:23 +1100265will cause
266.Xr ssh 1
267to fail instantly if
Damien Miller38505592013-10-17 11:48:13 +1100268.Cm CanonicalizeHostname
Damien Miller0faf7472013-10-17 11:47:23 +1100269is enabled and the target hostname cannot be found in any of the domains
270specified by
271.Cm CanonicalDomains .
Damien Miller38505592013-10-17 11:48:13 +1100272.It Cm CanonicalizeHostname
Damien Miller51682fa2013-10-17 11:48:31 +1100273Controls whether explicit hostname canonicalization is performed.
Damien Miller607af342013-10-17 11:47:51 +1100274The default,
275.Dq no ,
Damien Miller0faf7472013-10-17 11:47:23 +1100276is not to perform any name rewriting and let the system resolver handle all
277hostname lookups.
278If set to
279.Dq yes
280then, for connections that do not use a
281.Cm ProxyCommand ,
282.Xr ssh 1
Damien Miller38505592013-10-17 11:48:13 +1100283will attempt to canonicalize the hostname specified on the command line
Damien Miller0faf7472013-10-17 11:47:23 +1100284using the
285.Cm CanonicalDomains
286suffixes and
Damien Miller38505592013-10-17 11:48:13 +1100287.Cm CanonicalizePermittedCNAMEs
Damien Miller0faf7472013-10-17 11:47:23 +1100288rules.
289If
Damien Miller38505592013-10-17 11:48:13 +1100290.Cm CanonicalizeHostname
Damien Miller0faf7472013-10-17 11:47:23 +1100291is set to
292.Dq always ,
Damien Miller51682fa2013-10-17 11:48:31 +1100293then canonicalization is applied to proxied connections too.
Damien Miller13f97b22014-02-24 15:57:55 +1100294.Pp
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000295If this option is enabled, then the configuration files are processed
296again using the new target name to pick up any new configuration in matching
Damien Miller13f97b22014-02-24 15:57:55 +1100297.Cm Host
djm@openbsd.org957fbce2014-10-08 22:20:25 +0000298and
299.Cm Match
Damien Miller13f97b22014-02-24 15:57:55 +1100300stanzas.
Damien Miller38505592013-10-17 11:48:13 +1100301.It Cm CanonicalizeMaxDots
Damien Miller607af342013-10-17 11:47:51 +1100302Specifies the maximum number of dot characters in a hostname before
Damien Miller51682fa2013-10-17 11:48:31 +1100303canonicalization is disabled.
Damien Miller607af342013-10-17 11:47:51 +1100304The default,
305.Dq 1 ,
306allows a single dot (i.e. hostname.subdomain).
Damien Miller38505592013-10-17 11:48:13 +1100307.It Cm CanonicalizePermittedCNAMEs
Damien Miller607af342013-10-17 11:47:51 +1100308Specifies rules to determine whether CNAMEs should be followed when
Damien Miller38505592013-10-17 11:48:13 +1100309canonicalizing hostnames.
Damien Miller0faf7472013-10-17 11:47:23 +1100310The rules consist of one or more arguments of
Damien Miller607af342013-10-17 11:47:51 +1100311.Ar source_domain_list : Ns Ar target_domain_list ,
Damien Miller0faf7472013-10-17 11:47:23 +1100312where
313.Ar source_domain_list
Damien Miller51682fa2013-10-17 11:48:31 +1100314is a pattern-list of domains that may follow CNAMEs in canonicalization,
Damien Miller0faf7472013-10-17 11:47:23 +1100315and
316.Ar target_domain_list
Damien Miller607af342013-10-17 11:47:51 +1100317is a pattern-list of domains that they may resolve to.
Damien Miller0faf7472013-10-17 11:47:23 +1100318.Pp
319For example,
320.Dq *.a.example.com:*.b.example.com,*.c.example.com
321will allow hostnames matching
322.Dq *.a.example.com
Damien Miller38505592013-10-17 11:48:13 +1100323to be canonicalized to names in the
Damien Miller0faf7472013-10-17 11:47:23 +1100324.Dq *.b.example.com
325or
326.Dq *.c.example.com
327domains.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000328.It Cm ChallengeResponseAuthentication
Damien Miller1faa7132006-03-15 11:55:31 +1100329Specifies whether to use challenge-response authentication.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000330The argument to this keyword must be
331.Dq yes
332or
333.Dq no .
334The default is
335.Dq yes .
336.It Cm CheckHostIP
337If this flag is set to
338.Dq yes ,
Damien Miller45ee2b92006-03-15 11:56:18 +1100339.Xr ssh 1
340will additionally check the host IP address in the
Ben Lindstrom9f049032002-06-21 00:59:05 +0000341.Pa known_hosts
342file.
343This allows ssh to detect if a host key changed due to DNS spoofing.
344If the option is set to
345.Dq no ,
346the check will not be executed.
347The default is
348.Dq yes .
349.It Cm Cipher
350Specifies the cipher to use for encrypting the session
351in protocol version 1.
352Currently,
353.Dq blowfish ,
354.Dq 3des ,
355and
356.Dq des
357are supported.
358.Ar des
359is only supported in the
Damien Miller45ee2b92006-03-15 11:56:18 +1100360.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +0000361client for interoperability with legacy protocol 1 implementations
362that do not support the
363.Ar 3des
Damien Miller495dca32003-04-01 21:42:14 +1000364cipher.
365Its use is strongly discouraged due to cryptographic weaknesses.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000366The default is
367.Dq 3des .
368.It Cm Ciphers
369Specifies the ciphers allowed for protocol version 2
370in order of preference.
371Multiple ciphers must be comma-separated.
Damien Miller0fde8ac2013-11-21 14:12:23 +1100372The supported ciphers are:
373.Pp
Damien Millerc1621c82014-04-20 13:22:46 +1000374.Bl -item -compact -offset indent
375.It
3763des-cbc
377.It
378aes128-cbc
379.It
380aes192-cbc
381.It
382aes256-cbc
383.It
384aes128-ctr
385.It
386aes192-ctr
387.It
388aes256-ctr
389.It
390aes128-gcm@openssh.com
391.It
392aes256-gcm@openssh.com
393.It
394arcfour
395.It
396arcfour128
397.It
398arcfour256
399.It
400blowfish-cbc
401.It
402cast128-cbc
403.It
404chacha20-poly1305@openssh.com
405.El
Damien Miller0fde8ac2013-11-21 14:12:23 +1100406.Pp
Damien Miller45ee2b92006-03-15 11:56:18 +1100407The default is:
Damien Millerc1621c82014-04-20 13:22:46 +1000408.Bd -literal -offset indent
409aes128-ctr,aes192-ctr,aes256-ctr,
Damien Miller1d75abf2013-01-09 16:12:19 +1100410aes128-gcm@openssh.com,aes256-gcm@openssh.com,
Damien Miller0fde8ac2013-11-21 14:12:23 +1100411chacha20-poly1305@openssh.com,
Damien Millerc1621c82014-04-20 13:22:46 +1000412arcfour256,arcfour128,
413aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,
414aes192-cbc,aes256-cbc,arcfour
Ben Lindstrom9f049032002-06-21 00:59:05 +0000415.Ed
Damien Miller0fde8ac2013-11-21 14:12:23 +1100416.Pp
417The list of available ciphers may also be obtained using the
418.Fl Q
419option of
420.Xr ssh 1 .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000421.It Cm ClearAllForwardings
Damien Miller45ee2b92006-03-15 11:56:18 +1100422Specifies that all local, remote, and dynamic port forwardings
Ben Lindstrom9f049032002-06-21 00:59:05 +0000423specified in the configuration files or on the command line be
Damien Miller495dca32003-04-01 21:42:14 +1000424cleared.
425This option is primarily useful when used from the
Damien Miller45ee2b92006-03-15 11:56:18 +1100426.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +0000427command line to clear port forwardings set in
428configuration files, and is automatically set by
429.Xr scp 1
430and
431.Xr sftp 1 .
432The argument must be
433.Dq yes
434or
435.Dq no .
436The default is
437.Dq no .
438.It Cm Compression
439Specifies whether to use compression.
440The argument must be
441.Dq yes
442or
443.Dq no .
444The default is
445.Dq no .
446.It Cm CompressionLevel
447Specifies the compression level to use if compression is enabled.
448The argument must be an integer from 1 (fast) to 9 (slow, best).
449The default level is 6, which is good for most applications.
450The meaning of the values is the same as in
451.Xr gzip 1 .
452Note that this option applies to protocol version 1 only.
453.It Cm ConnectionAttempts
454Specifies the number of tries (one per second) to make before exiting.
455The argument must be an integer.
456This may be useful in scripts if the connection sometimes fails.
457The default is 1.
Damien Millerb78d5eb2003-05-16 11:39:04 +1000458.It Cm ConnectTimeout
Damien Miller45ee2b92006-03-15 11:56:18 +1100459Specifies the timeout (in seconds) used when connecting to the
460SSH server, instead of using the default system TCP timeout.
Damien Millerfbf486b2003-05-23 18:44:23 +1000461This value is used only when the target is down or really unreachable,
462not when it refuses the connection.
Damien Miller0e220db2004-06-15 10:34:08 +1000463.It Cm ControlMaster
464Enables the sharing of multiple sessions over a single network connection.
465When set to
Damien Miller45ee2b92006-03-15 11:56:18 +1100466.Dq yes ,
467.Xr ssh 1
Damien Miller0e220db2004-06-15 10:34:08 +1000468will listen for connections on a control socket specified using the
469.Cm ControlPath
470argument.
471Additional sessions can connect to this socket using the same
472.Cm ControlPath
473with
474.Cm ControlMaster
475set to
476.Dq no
Damien Miller2234bac2004-06-30 22:38:52 +1000477(the default).
Damien Miller713de762005-11-05 15:13:49 +1100478These sessions will try to reuse the master instance's network connection
Damien Millerb3bfbb72005-11-05 15:11:48 +1100479rather than initiating new ones, but will fall back to connecting normally
480if the control socket does not exist, or is not listening.
481.Pp
Damien Miller23f07702004-06-18 01:19:03 +1000482Setting this to
483.Dq ask
Damien Miller45ee2b92006-03-15 11:56:18 +1100484will cause ssh
Damien Miller23f07702004-06-18 01:19:03 +1000485to listen for control connections, but require confirmation using the
486.Ev SSH_ASKPASS
487program before they are accepted (see
488.Xr ssh-add 1
Damien Miller2234bac2004-06-30 22:38:52 +1000489for details).
Damien Millerdadfd4d2005-05-26 12:07:13 +1000490If the
491.Cm ControlPath
Damien Miller45ee2b92006-03-15 11:56:18 +1100492cannot be opened,
493ssh will continue without connecting to a master instance.
Damien Millerd14b1e72005-06-16 13:19:41 +1000494.Pp
Damien Miller13390022005-07-06 09:44:19 +1000495X11 and
Damien Millerfd94fba2005-07-06 09:44:59 +1000496.Xr ssh-agent 1
Damien Miller13390022005-07-06 09:44:19 +1000497forwarding is supported over these multiplexed connections, however the
Darren Tucker63551872005-12-20 16:14:15 +1100498display and agent forwarded will be the one belonging to the master
Damien Millerfd94fba2005-07-06 09:44:59 +1000499connection i.e. it is not possible to forward multiple displays or agents.
Damien Miller13390022005-07-06 09:44:19 +1000500.Pp
Damien Millerd14b1e72005-06-16 13:19:41 +1000501Two additional options allow for opportunistic multiplexing: try to use a
502master connection but fall back to creating a new one if one does not already
503exist.
504These options are:
505.Dq auto
506and
507.Dq autoask .
508The latter requires confirmation like the
509.Dq ask
510option.
Damien Miller0e220db2004-06-15 10:34:08 +1000511.It Cm ControlPath
Damien Miller6476cad2005-06-16 13:18:34 +1000512Specify the path to the control socket used for connection sharing as described
513in the
Damien Miller0e220db2004-06-15 10:34:08 +1000514.Cm ControlMaster
Damien Miller8f74c8f2005-06-26 08:56:03 +1000515section above or the string
516.Dq none
517to disable connection sharing.
Damien Miller6476cad2005-06-16 13:18:34 +1000518In the path,
Damien Millerdfc85fa2011-05-15 08:44:02 +1000519.Ql %L
520will be substituted by the first component of the local host name,
Damien Miller3ec54c72006-03-15 11:30:13 +1100521.Ql %l
Damien Millerdfc85fa2011-05-15 08:44:02 +1000522will be substituted by the local host name (including any domain name),
Damien Miller6476cad2005-06-16 13:18:34 +1000523.Ql %h
524will be substituted by the target host name,
Damien Miller486dd2e2011-05-15 08:47:18 +1000525.Ql %n
526will be substituted by the original target host name
527specified on the command line,
Damien Miller6476cad2005-06-16 13:18:34 +1000528.Ql %p
Damien Miller5c86ebd2013-10-23 16:29:12 +1100529the destination port,
Damien Miller6476cad2005-06-16 13:18:34 +1000530.Ql %r
Damien Miller9c386432014-07-03 21:27:46 +1000531by the remote login username,
Damien Millerdfc85fa2011-05-15 08:44:02 +1000532.Ql %u
533by the username of the user running
Damien Miller9c386432014-07-03 21:27:46 +1000534.Xr ssh 1 , and
Damien Miller0f123412014-07-03 21:28:09 +1000535.Ql \&%C
Damien Miller9c386432014-07-03 21:27:46 +1000536by a hash of the concatenation: %l%h%p%r.
Damien Millerd14b1e72005-06-16 13:19:41 +1000537It is recommended that any
538.Cm ControlPath
539used for opportunistic connection sharing include
djm@openbsd.orgfc302562014-11-10 22:25:49 +0000540at least %h, %p, and %r (or alternatively %C) and be placed in a directory
541that is not writable by other users.
Damien Millerd14b1e72005-06-16 13:19:41 +1000542This ensures that shared connections are uniquely identified.
Damien Millere11e1ea2010-08-03 16:04:46 +1000543.It Cm ControlPersist
544When used in conjunction with
545.Cm ControlMaster ,
546specifies that the master connection should remain open
547in the background (waiting for future client connections)
548after the initial client connection has been closed.
549If set to
550.Dq no ,
551then the master connection will not be placed into the background,
552and will close as soon as the initial client connection is closed.
553If set to
djm@openbsd.orgfc302562014-11-10 22:25:49 +0000554.Dq yes
555or
556.Dq 0 ,
Damien Millere11e1ea2010-08-03 16:04:46 +1000557then the master connection will remain in the background indefinitely
558(until killed or closed via a mechanism such as the
559.Xr ssh 1
560.Dq Fl O No exit
561option).
562If set to a time in seconds, or a time in any of the formats documented in
563.Xr sshd_config 5 ,
564then the backgrounded master connection will automatically terminate
565after it has remained idle (with no client connections) for the
566specified time.
Damien Miller2234bac2004-06-30 22:38:52 +1000567.It Cm DynamicForward
Damien Millere9d001e2006-01-14 10:10:17 +1100568Specifies that a TCP port on the local machine be forwarded
Damien Miller2234bac2004-06-30 22:38:52 +1000569over the secure channel, and the application
570protocol is then used to determine where to connect to from the
571remote machine.
Darren Tuckerc8d64212005-10-03 18:13:42 +1000572.Pp
573The argument must be
574.Sm off
575.Oo Ar bind_address : Oc Ar port .
576.Sm on
Damien Miller7fa96602010-08-05 13:03:13 +1000577IPv6 addresses can be specified by enclosing addresses in square brackets.
Darren Tuckerc8d64212005-10-03 18:13:42 +1000578By default, the local port is bound in accordance with the
579.Cm GatewayPorts
580setting.
581However, an explicit
582.Ar bind_address
583may be used to bind the connection to a specific address.
584The
585.Ar bind_address
586of
587.Dq localhost
588indicates that the listening port be bound for local use only, while an
589empty address or
590.Sq *
591indicates that the port should be available from all interfaces.
592.Pp
Damien Miller2234bac2004-06-30 22:38:52 +1000593Currently the SOCKS4 and SOCKS5 protocols are supported, and
Damien Miller45ee2b92006-03-15 11:56:18 +1100594.Xr ssh 1
Damien Miller2234bac2004-06-30 22:38:52 +1000595will act as a SOCKS server.
596Multiple forwardings may be specified, and
597additional forwardings can be given on the command line.
598Only the superuser can forward privileged ports.
Darren Tucker674f71d2003-06-28 12:33:12 +1000599.It Cm EnableSSHKeysign
600Setting this option to
601.Dq yes
602in the global client configuration file
603.Pa /etc/ssh/ssh_config
604enables the use of the helper program
605.Xr ssh-keysign 8
606during
607.Cm HostbasedAuthentication .
608The argument must be
609.Dq yes
610or
611.Dq no .
612The default is
613.Dq no .
Darren Tuckerf132c672003-10-15 15:58:18 +1000614This option should be placed in the non-hostspecific section.
Darren Tucker674f71d2003-06-28 12:33:12 +1000615See
616.Xr ssh-keysign 8
617for more information.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000618.It Cm EscapeChar
619Sets the escape character (default:
620.Ql ~ ) .
621The escape character can also
622be set on the command line.
623The argument should be a single character,
624.Ql ^
625followed by a letter, or
626.Dq none
627to disable the escape
628character entirely (making the connection transparent for binary
629data).
Darren Tuckere7d4b192006-07-12 22:17:10 +1000630.It Cm ExitOnForwardFailure
631Specifies whether
632.Xr ssh 1
633should terminate the connection if it cannot set up all requested
Darren Tuckerfc5d1882007-08-15 22:20:22 +1000634dynamic, tunnel, local, and remote port forwardings.
Darren Tuckere7d4b192006-07-12 22:17:10 +1000635The argument must be
636.Dq yes
637or
638.Dq no .
639The default is
640.Dq no .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000641.It Cm ForwardAgent
642Specifies whether the connection to the authentication agent (if any)
643will be forwarded to the remote machine.
644The argument must be
645.Dq yes
646or
647.Dq no .
648The default is
649.Dq no .
Damien Milleraf653042002-09-04 16:40:37 +1000650.Pp
Damien Miller495dca32003-04-01 21:42:14 +1000651Agent forwarding should be enabled with caution.
652Users with the ability to bypass file permissions on the remote host
653(for the agent's Unix-domain socket)
654can access the local agent through the forwarded connection.
655An attacker cannot obtain key material from the agent,
Damien Milleraf653042002-09-04 16:40:37 +1000656however they can perform operations on the keys that enable them to
657authenticate using the identities loaded into the agent.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000658.It Cm ForwardX11
659Specifies whether X11 connections will be automatically redirected
660over the secure channel and
661.Ev DISPLAY
662set.
663The argument must be
664.Dq yes
665or
666.Dq no .
667The default is
668.Dq no .
Damien Milleraf653042002-09-04 16:40:37 +1000669.Pp
Damien Miller495dca32003-04-01 21:42:14 +1000670X11 forwarding should be enabled with caution.
671Users with the ability to bypass file permissions on the remote host
Darren Tucker0a118da2003-10-15 15:54:32 +1000672(for the user's X11 authorization database)
Damien Miller495dca32003-04-01 21:42:14 +1000673can access the local X11 display through the forwarded connection.
Darren Tucker0a118da2003-10-15 15:54:32 +1000674An attacker may then be able to perform activities such as keystroke monitoring
675if the
676.Cm ForwardX11Trusted
677option is also enabled.
Damien Miller1ab6a512010-06-26 10:02:24 +1000678.It Cm ForwardX11Timeout
Damien Millercede1db2010-07-02 13:33:48 +1000679Specify a timeout for untrusted X11 forwarding
680using the format described in the
Damien Millerfecfd112013-07-18 16:11:50 +1000681TIME FORMATS section of
Damien Miller1ab6a512010-06-26 10:02:24 +1000682.Xr sshd_config 5 .
683X11 connections received by
684.Xr ssh 1
685after this time will be refused.
686The default is to disable untrusted X11 forwarding after twenty minutes has
687elapsed.
Darren Tucker0a118da2003-10-15 15:54:32 +1000688.It Cm ForwardX11Trusted
Darren Tuckerdcf6ec42004-05-13 13:03:56 +1000689If this option is set to
Damien Miller45ee2b92006-03-15 11:56:18 +1100690.Dq yes ,
691remote X11 clients will have full access to the original X11 display.
Damien Miller1717fd42005-03-01 21:17:31 +1100692.Pp
Darren Tucker0a118da2003-10-15 15:54:32 +1000693If this option is set to
Damien Miller45ee2b92006-03-15 11:56:18 +1100694.Dq no ,
695remote X11 clients will be considered untrusted and prevented
Darren Tucker0a118da2003-10-15 15:54:32 +1000696from stealing or tampering with data belonging to trusted X11
697clients.
Damien Miller1717fd42005-03-01 21:17:31 +1100698Furthermore, the
699.Xr xauth 1
700token used for the session will be set to expire after 20 minutes.
701Remote clients will be refused access after this time.
Darren Tucker0a118da2003-10-15 15:54:32 +1000702.Pp
703The default is
704.Dq no .
705.Pp
706See the X11 SECURITY extension specification for full details on
707the restrictions imposed on untrusted clients.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000708.It Cm GatewayPorts
709Specifies whether remote hosts are allowed to connect to local
710forwarded ports.
711By default,
Damien Miller45ee2b92006-03-15 11:56:18 +1100712.Xr ssh 1
Damien Miller495dca32003-04-01 21:42:14 +1000713binds local port forwardings to the loopback address.
714This prevents other remote hosts from connecting to forwarded ports.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000715.Cm GatewayPorts
Damien Miller45ee2b92006-03-15 11:56:18 +1100716can be used to specify that ssh
Ben Lindstrom9f049032002-06-21 00:59:05 +0000717should bind local port forwardings to the wildcard address,
718thus allowing remote hosts to connect to forwarded ports.
719The argument must be
720.Dq yes
721or
722.Dq no .
723The default is
724.Dq no .
725.It Cm GlobalKnownHostsFile
Damien Miller295ee632011-05-29 21:42:31 +1000726Specifies one or more files to use for the global
727host key database, separated by whitespace.
728The default is
729.Pa /etc/ssh/ssh_known_hosts ,
730.Pa /etc/ssh/ssh_known_hosts2 .
Darren Tucker0efd1552003-08-26 11:49:55 +1000731.It Cm GSSAPIAuthentication
Damien Millerbaafb982003-12-17 16:32:23 +1100732Specifies whether user authentication based on GSSAPI is allowed.
Damien Millerc2b98272003-09-03 12:13:30 +1000733The default is
Darren Tuckera044f472003-10-15 15:52:03 +1000734.Dq no .
Darren Tucker0efd1552003-08-26 11:49:55 +1000735Note that this option applies to protocol version 2 only.
736.It Cm GSSAPIDelegateCredentials
737Forward (delegate) credentials to the server.
738The default is
739.Dq no .
740Note that this option applies to protocol version 2 only.
Damien Millere1776152005-03-01 21:47:37 +1100741.It Cm HashKnownHosts
742Indicates that
Damien Miller45ee2b92006-03-15 11:56:18 +1100743.Xr ssh 1
Damien Millere1776152005-03-01 21:47:37 +1100744should hash host names and addresses when they are added to
Damien Miller167ea5d2005-05-26 12:04:02 +1000745.Pa ~/.ssh/known_hosts .
Damien Millere1776152005-03-01 21:47:37 +1100746These hashed names may be used normally by
Damien Miller45ee2b92006-03-15 11:56:18 +1100747.Xr ssh 1
Damien Millere1776152005-03-01 21:47:37 +1100748and
Damien Miller45ee2b92006-03-15 11:56:18 +1100749.Xr sshd 8 ,
Damien Millere1776152005-03-01 21:47:37 +1100750but they do not reveal identifying information should the file's contents
751be disclosed.
752The default is
753.Dq no .
Damien Miller858bb7d2006-08-05 11:34:51 +1000754Note that existing names and addresses in known hosts files
755will not be converted automatically,
756but may be manually hashed using
Damien Miller4b42d7f2005-03-01 21:48:35 +1100757.Xr ssh-keygen 1 .
Ben Lindstrom9f049032002-06-21 00:59:05 +0000758.It Cm HostbasedAuthentication
759Specifies whether to try rhosts based authentication with public key
760authentication.
761The argument must be
762.Dq yes
763or
764.Dq no .
765The default is
766.Dq no .
767This option applies to protocol version 2 only and
768is similar to
769.Cm RhostsRSAAuthentication .
770.It Cm HostKeyAlgorithms
771Specifies the protocol version 2 host key algorithms
772that the client wants to use in order of preference.
773The default for this option is:
Damien Millereb8b60e2010-08-31 22:41:14 +1000774.Bd -literal -offset 3n
775ecdsa-sha2-nistp256-cert-v01@openssh.com,
776ecdsa-sha2-nistp384-cert-v01@openssh.com,
777ecdsa-sha2-nistp521-cert-v01@openssh.com,
Damien Miller8ba0ead2013-12-18 17:46:27 +1100778ssh-ed25519-cert-v01@openssh.com,
Damien Millereb8b60e2010-08-31 22:41:14 +1000779ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,
780ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,
781ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,
Damien Miller5be9d9e2013-12-07 11:24:01 +1100782ssh-ed25519,ssh-rsa,ssh-dss
Damien Millereb8b60e2010-08-31 22:41:14 +1000783.Ed
Damien Millerd925dcd2010-12-01 12:21:51 +1100784.Pp
785If hostkeys are known for the destination host then this default is modified
786to prefer their algorithms.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000787.It Cm HostKeyAlias
788Specifies an alias that should be used instead of the
789real host name when looking up or saving the host key
790in the host key database files.
Damien Miller45ee2b92006-03-15 11:56:18 +1100791This option is useful for tunneling SSH connections
Ben Lindstrom9f049032002-06-21 00:59:05 +0000792or for multiple servers running on a single host.
793.It Cm HostName
794Specifies the real host name to log into.
795This can be used to specify nicknames or abbreviations for hosts.
Damien Millerd0244d42010-07-16 13:56:43 +1000796If the hostname contains the character sequence
797.Ql %h ,
Damien Miller486dd2e2011-05-15 08:47:18 +1000798then this will be replaced with the host name specified on the command line
Damien Millerd0244d42010-07-16 13:56:43 +1000799(this is useful for manipulating unqualified names).
Damien Milleref9f13b2014-07-03 21:26:21 +1000800The character sequence
801.Ql %%
802will be replaced by a single
803.Ql %
804character, which may be used when specifying IPv6 link-local addresses.
805.Pp
Damien Miller45ee2b92006-03-15 11:56:18 +1100806The default is the name given on the command line.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000807Numeric IP addresses are also permitted (both on the command line and in
808.Cm HostName
809specifications).
Damien Millerbd394c32004-03-08 23:12:36 +1100810.It Cm IdentitiesOnly
811Specifies that
Damien Miller45ee2b92006-03-15 11:56:18 +1100812.Xr ssh 1
Damien Millerbd394c32004-03-08 23:12:36 +1100813should only use the authentication identity files configured in the
Damien Miller1a812582004-04-20 20:13:32 +1000814.Nm
Damien Millerbd394c32004-03-08 23:12:36 +1100815files,
Damien Miller45ee2b92006-03-15 11:56:18 +1100816even if
817.Xr ssh-agent 1
Damien Millercb6b68b2012-12-03 09:49:52 +1100818or a
819.Cm PKCS11Provider
Damien Millerbd394c32004-03-08 23:12:36 +1100820offers more identities.
821The argument to this keyword must be
822.Dq yes
823or
824.Dq no .
Damien Miller45ee2b92006-03-15 11:56:18 +1100825This option is intended for situations where ssh-agent
Damien Millerbd394c32004-03-08 23:12:36 +1100826offers many different identities.
827The default is
828.Dq no .
Damien Miller957d4e42005-12-13 19:30:45 +1100829.It Cm IdentityFile
sobrado@openbsd.orgf70b22b2014-08-30 15:33:50 +0000830Specifies a file from which the user's DSA, ECDSA, Ed25519 or RSA authentication
Damien Millereb8b60e2010-08-31 22:41:14 +1000831identity is read.
Damien Miller957d4e42005-12-13 19:30:45 +1100832The default is
833.Pa ~/.ssh/identity
834for protocol version 1, and
Damien Millereb8b60e2010-08-31 22:41:14 +1000835.Pa ~/.ssh/id_dsa ,
Damien Miller8ba0ead2013-12-18 17:46:27 +1100836.Pa ~/.ssh/id_ecdsa ,
837.Pa ~/.ssh/id_ed25519
Damien Miller957d4e42005-12-13 19:30:45 +1100838and
Damien Millereb8b60e2010-08-31 22:41:14 +1000839.Pa ~/.ssh/id_rsa
Damien Miller957d4e42005-12-13 19:30:45 +1100840for protocol version 2.
841Additionally, any identities represented by the authentication agent
Damien Miller7f2b4382013-07-18 16:10:29 +1000842will be used for authentication unless
843.Cm IdentitiesOnly
844is set.
Damien Miller5059d8d2010-03-05 21:31:11 +1100845.Xr ssh 1
846will try to load certificate information from the filename obtained by
847appending
848.Pa -cert.pub
849to the path of a specified
850.Cm IdentityFile .
Damien Miller6b1d53c2006-03-31 23:13:21 +1100851.Pp
Damien Miller957d4e42005-12-13 19:30:45 +1100852The file name may use the tilde
Damien Millerc6437cf2006-03-31 23:14:41 +1100853syntax to refer to a user's home directory or one of the following
Damien Miller6b1d53c2006-03-31 23:13:21 +1100854escape characters:
855.Ql %d
856(local user's home directory),
857.Ql %u
858(local user name),
859.Ql %l
860(local host name),
861.Ql %h
862(remote host name) or
Damien Millerdfc61832006-03-31 23:14:57 +1100863.Ql %r
Damien Miller6b1d53c2006-03-31 23:13:21 +1100864(remote user name).
865.Pp
Damien Miller957d4e42005-12-13 19:30:45 +1100866It is possible to have
867multiple identity files specified in configuration files; all these
868identities will be tried in sequence.
Damien Miller6029e072011-06-20 14:22:49 +1000869Multiple
870.Cm IdentityFile
871directives will add to the list of identities tried (this behaviour
872differs from that of other configuration directives).
Damien Miller7f2b4382013-07-18 16:10:29 +1000873.Pp
874.Cm IdentityFile
875may be used in conjunction with
876.Cm IdentitiesOnly
877to select which identities in an agent are offered during authentication.
Darren Tucker63e0df22013-05-16 20:30:31 +1000878.It Cm IgnoreUnknown
879Specifies a pattern-list of unknown options to be ignored if they are
880encountered in configuration parsing.
881This may be used to suppress errors if
882.Nm
883contains options that are unrecognised by
884.Xr ssh 1 .
885It is recommended that
886.Cm IgnoreUnknown
887be listed early in the configuration file as it will not be applied
888to unknown options that appear before it.
Damien Miller0dac6fb2010-11-20 15:19:38 +1100889.It Cm IPQoS
890Specifies the IPv4 type-of-service or DSCP class for connections.
891Accepted values are
892.Dq af11 ,
893.Dq af12 ,
894.Dq af13 ,
Damien Millerf6e758c2011-09-22 21:37:13 +1000895.Dq af21 ,
Damien Miller0dac6fb2010-11-20 15:19:38 +1100896.Dq af22 ,
897.Dq af23 ,
898.Dq af31 ,
899.Dq af32 ,
900.Dq af33 ,
901.Dq af41 ,
902.Dq af42 ,
903.Dq af43 ,
904.Dq cs0 ,
905.Dq cs1 ,
906.Dq cs2 ,
907.Dq cs3 ,
908.Dq cs4 ,
909.Dq cs5 ,
910.Dq cs6 ,
911.Dq cs7 ,
912.Dq ef ,
913.Dq lowdelay ,
914.Dq throughput ,
915.Dq reliability ,
916or a numeric value.
Damien Miller928362d2010-12-26 14:26:45 +1100917This option may take one or two arguments, separated by whitespace.
Damien Miller0dac6fb2010-11-20 15:19:38 +1100918If one argument is specified, it is used as the packet class unconditionally.
919If two values are specified, the first is automatically selected for
920interactive sessions and the second for non-interactive sessions.
921The default is
922.Dq lowdelay
923for interactive sessions and
924.Dq throughput
925for non-interactive sessions.
Damien Millercfb606c2007-10-26 14:24:48 +1000926.It Cm KbdInteractiveAuthentication
927Specifies whether to use keyboard-interactive authentication.
928The argument to this keyword must be
929.Dq yes
930or
931.Dq no .
932The default is
933.Dq yes .
Darren Tucker636ca902004-11-05 20:22:00 +1100934.It Cm KbdInteractiveDevices
935Specifies the list of methods to use in keyboard-interactive authentication.
936Multiple method names must be comma-separated.
937The default is to use the server specified list.
Damien Miller9cfbaec2006-03-15 11:57:55 +1100938The methods available vary depending on what the server supports.
939For an OpenSSH server,
940it may be zero or more of:
941.Dq bsdauth ,
942.Dq pam ,
943and
944.Dq skey .
Damien Millerd5f62bf2010-09-24 22:11:14 +1000945.It Cm KexAlgorithms
946Specifies the available KEX (Key Exchange) algorithms.
947Multiple algorithms must be comma-separated.
Damien Miller7fe2b1f2010-09-24 22:11:53 +1000948The default is:
949.Bd -literal -offset indent
Damien Miller0bd8f152013-11-04 08:55:43 +1100950curve25519-sha256@libssh.org,
Damien Miller7fe2b1f2010-09-24 22:11:53 +1000951ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
952diffie-hellman-group-exchange-sha256,
Damien Miller7fe2b1f2010-09-24 22:11:53 +1000953diffie-hellman-group14-sha1,
Damien Millerc1621c82014-04-20 13:22:46 +1000954diffie-hellman-group-exchange-sha1,
Damien Miller7fe2b1f2010-09-24 22:11:53 +1000955diffie-hellman-group1-sha1
956.Ed
Damien Millerd27b9472005-12-13 19:29:02 +1100957.It Cm LocalCommand
958Specifies a command to execute on the local machine after successfully
959connecting to the server.
960The command string extends to the end of the line, and is executed with
Darren Tucker63b31cb2007-12-02 23:09:30 +1100961the user's shell.
Darren Tuckerf6b01b72008-06-13 04:56:37 +1000962The following escape character substitutions will be performed:
963.Ql %d
964(local user's home directory),
965.Ql %h
966(remote host name),
967.Ql %l
968(local host name),
969.Ql %n
970(host name as provided on the command line),
971.Ql %p
972(remote port),
973.Ql %r
974(remote user name) or
975.Ql %u
Damien Miller9c386432014-07-03 21:27:46 +1000976(local user name) or
Damien Miller0f123412014-07-03 21:28:09 +1000977.Ql \&%C
Damien Miller9c386432014-07-03 21:27:46 +1000978by a hash of the concatenation: %l%h%p%r.
Darren Tucker78be8c52010-01-08 17:05:59 +1100979.Pp
980The command is run synchronously and does not have access to the
981session of the
982.Xr ssh 1
983that spawned it.
984It should not be used for interactive commands.
985.Pp
Damien Millerd27b9472005-12-13 19:29:02 +1100986This directive is ignored unless
987.Cm PermitLocalCommand
988has been enabled.
Ben Lindstrom9f049032002-06-21 00:59:05 +0000989.It Cm LocalForward
Damien Millere9d001e2006-01-14 10:10:17 +1100990Specifies that a TCP port on the local machine be forwarded over
Ben Lindstrom9f049032002-06-21 00:59:05 +0000991the secure channel to the specified host and port from the remote machine.
Darren Tucker5ede2ad2005-03-31 21:31:10 +1000992The first argument must be
Damien Millerf91ee4c2005-03-01 21:24:33 +1100993.Sm off
Darren Tucker5ede2ad2005-03-31 21:31:10 +1000994.Oo Ar bind_address : Oc Ar port
Damien Millerf91ee4c2005-03-01 21:24:33 +1100995.Sm on
Darren Tucker5ede2ad2005-03-31 21:31:10 +1000996and the second argument must be
997.Ar host : Ns Ar hostport .
Damien Miller7fa96602010-08-05 13:03:13 +1000998IPv6 addresses can be specified by enclosing addresses in square brackets.
Damien Millerf8c55462005-03-02 12:03:05 +1100999Multiple forwardings may be specified, and additional forwardings can be
Damien Millerf91ee4c2005-03-01 21:24:33 +11001000given on the command line.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001001Only the superuser can forward privileged ports.
Damien Millerf91ee4c2005-03-01 21:24:33 +11001002By default, the local port is bound in accordance with the
1003.Cm GatewayPorts
1004setting.
1005However, an explicit
1006.Ar bind_address
1007may be used to bind the connection to a specific address.
1008The
1009.Ar bind_address
1010of
1011.Dq localhost
Damien Millerf8c55462005-03-02 12:03:05 +11001012indicates that the listening port be bound for local use only, while an
1013empty address or
1014.Sq *
Damien Millerf91ee4c2005-03-01 21:24:33 +11001015indicates that the port should be available from all interfaces.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001016.It Cm LogLevel
1017Gives the verbosity level that is used when logging messages from
Damien Miller45ee2b92006-03-15 11:56:18 +11001018.Xr ssh 1 .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001019The possible values are:
Damien Miller45ee2b92006-03-15 11:56:18 +11001020QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
Damien Miller495dca32003-04-01 21:42:14 +10001021The default is INFO.
1022DEBUG and DEBUG1 are equivalent.
1023DEBUG2 and DEBUG3 each specify higher levels of verbose output.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001024.It Cm MACs
1025Specifies the MAC (message authentication code) algorithms
1026in order of preference.
1027The MAC algorithm is used in protocol version 2
1028for data integrity protection.
1029Multiple algorithms must be comma-separated.
Damien Milleraf43a7a2012-12-12 10:46:31 +11001030The algorithms that contain
1031.Dq -etm
1032calculate the MAC after encryption (encrypt-then-mac).
1033These are considered safer and their use recommended.
Damien Miller45ee2b92006-03-15 11:56:18 +11001034The default is:
Damien Miller5e7c30b2007-06-11 14:06:32 +10001035.Bd -literal -offset indent
Damien Milleraf43a7a2012-12-12 10:46:31 +11001036umac-64-etm@openssh.com,umac-128-etm@openssh.com,
1037hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,
Damien Millerc1621c82014-04-20 13:22:46 +10001038umac-64@openssh.com,umac-128@openssh.com,
1039hmac-sha2-256,hmac-sha2-512,
1040hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,
1041hmac-ripemd160-etm@openssh.com,
1042hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,
1043hmac-md5,hmac-sha1,hmac-ripemd160,
Darren Tuckerecbf14a2012-07-02 18:53:37 +10001044hmac-sha1-96,hmac-md5-96
Damien Miller5e7c30b2007-06-11 14:06:32 +10001045.Ed
Ben Lindstrom9f049032002-06-21 00:59:05 +00001046.It Cm NoHostAuthenticationForLocalhost
1047This option can be used if the home directory is shared across machines.
1048In this case localhost will refer to a different machine on each of
1049the machines and the user will get many warnings about changed host keys.
1050However, this option disables host authentication for localhost.
1051The argument to this keyword must be
1052.Dq yes
1053or
1054.Dq no .
1055The default is to check the host key for localhost.
1056.It Cm NumberOfPasswordPrompts
1057Specifies the number of password prompts before giving up.
1058The argument to this keyword must be an integer.
Damien Miller45ee2b92006-03-15 11:56:18 +11001059The default is 3.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001060.It Cm PasswordAuthentication
1061Specifies whether to use password authentication.
1062The argument to this keyword must be
1063.Dq yes
1064or
1065.Dq no .
1066The default is
1067.Dq yes .
Damien Millerd27b9472005-12-13 19:29:02 +11001068.It Cm PermitLocalCommand
1069Allow local command execution via the
1070.Ic LocalCommand
1071option or using the
Damien Miller4b2319f2005-12-13 19:30:27 +11001072.Ic !\& Ns Ar command
Damien Millerd27b9472005-12-13 19:29:02 +11001073escape sequence in
1074.Xr ssh 1 .
1075The argument must be
1076.Dq yes
1077or
1078.Dq no .
1079The default is
1080.Dq no .
Damien Miller7ea845e2010-02-12 09:21:02 +11001081.It Cm PKCS11Provider
1082Specifies which PKCS#11 provider to use.
Damien Miller8e1ea4e2010-11-20 15:20:10 +11001083The argument to this keyword is the PKCS#11 shared library
Damien Miller7ea845e2010-02-12 09:21:02 +11001084.Xr ssh 1
Damien Millera7618442010-02-12 09:26:02 +11001085should use to communicate with a PKCS#11 token providing the user's
Damien Miller7ea845e2010-02-12 09:21:02 +11001086private RSA key.
Damien Miller957d4e42005-12-13 19:30:45 +11001087.It Cm Port
1088Specifies the port number to connect on the remote host.
Damien Miller45ee2b92006-03-15 11:56:18 +11001089The default is 22.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001090.It Cm PreferredAuthentications
1091Specifies the order in which the client should try protocol 2
Damien Millerfbf486b2003-05-23 18:44:23 +10001092authentication methods.
Darren Tucker1adc2bd2005-03-14 23:14:20 +11001093This allows a client to prefer one method (e.g.\&
Ben Lindstrom9f049032002-06-21 00:59:05 +00001094.Cm keyboard-interactive )
Darren Tucker1adc2bd2005-03-14 23:14:20 +11001095over another method (e.g.\&
Damien Miller544378d2010-04-16 15:52:24 +10001096.Cm password ) .
1097The default is:
1098.Bd -literal -offset indent
1099gssapi-with-mic,hostbased,publickey,
1100keyboard-interactive,password
1101.Ed
Ben Lindstrom9f049032002-06-21 00:59:05 +00001102.It Cm Protocol
1103Specifies the protocol versions
Damien Miller45ee2b92006-03-15 11:56:18 +11001104.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001105should support in order of preference.
1106The possible values are
Damien Miller45ee2b92006-03-15 11:56:18 +11001107.Sq 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001108and
Damien Miller45ee2b92006-03-15 11:56:18 +11001109.Sq 2 .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001110Multiple versions must be comma-separated.
Darren Tuckerbad50762009-10-11 21:51:08 +11001111When this option is set to
Darren Tucker7a4a7652009-10-11 21:51:40 +11001112.Dq 2,1
Darren Tuckerbad50762009-10-11 21:51:08 +11001113.Nm ssh
1114will try version 2 and fall back to version 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001115if version 2 is not available.
Darren Tuckerbad50762009-10-11 21:51:08 +11001116The default is
Darren Tucker7a4a7652009-10-11 21:51:40 +11001117.Sq 2 .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001118.It Cm ProxyCommand
1119Specifies the command to use to connect to the server.
1120The command
Damien Miller079bac22014-07-09 13:06:25 +10001121string extends to the end of the line, and is executed
1122using the user's shell
1123.Ql exec
1124directive to avoid a lingering shell process.
1125.Pp
Damien Millerc4eddee2010-04-18 08:07:43 +10001126In the command string, any occurrence of
Ben Lindstrom9f049032002-06-21 00:59:05 +00001127.Ql %h
1128will be substituted by the host name to
Damien Millerb1b17042010-04-16 15:54:19 +10001129connect,
Ben Lindstrom9f049032002-06-21 00:59:05 +00001130.Ql %p
Damien Millerc4eddee2010-04-18 08:07:43 +10001131by the port, and
1132.Ql %r
Damien Millerb1b17042010-04-16 15:54:19 +10001133by the remote user name.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001134The command can be basically anything,
1135and should read from its standard input and write to its standard output.
1136It should eventually connect an
1137.Xr sshd 8
1138server running on some machine, or execute
1139.Ic sshd -i
1140somewhere.
1141Host key management will be done using the
1142HostName of the host being connected (defaulting to the name typed by
1143the user).
Damien Miller495dca32003-04-01 21:42:14 +10001144Setting the command to
1145.Dq none
Damien Miller9f1e33a2003-02-24 11:57:32 +11001146disables this option entirely.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001147Note that
1148.Cm CheckHostIP
1149is not available for connects with a proxy command.
1150.Pp
Damien Millerebcfedc2005-05-26 12:13:56 +10001151This directive is useful in conjunction with
1152.Xr nc 1
1153and its proxy support.
Damien Millerdfec2942005-05-26 12:14:32 +10001154For example, the following directive would connect via an HTTP proxy at
Damien Millerebcfedc2005-05-26 12:13:56 +10001155192.0.2.0:
1156.Bd -literal -offset 3n
1157ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
1158.Ed
Damien Miller1262b662013-08-21 02:44:24 +10001159.It Cm ProxyUseFdpass
Damien Millerf2f6c312013-08-21 02:44:58 +10001160Specifies that
Damien Miller1262b662013-08-21 02:44:24 +10001161.Cm ProxyCommand
1162will pass a connected file descriptor back to
Damien Millerf2f6c312013-08-21 02:44:58 +10001163.Xr ssh 1
Damien Miller1262b662013-08-21 02:44:24 +10001164instead of continuing to execute and pass data.
1165The default is
1166.Dq no .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001167.It Cm PubkeyAuthentication
1168Specifies whether to try public key authentication.
1169The argument to this keyword must be
1170.Dq yes
1171or
1172.Dq no .
1173The default is
1174.Dq yes .
1175This option applies to protocol version 2 only.
Darren Tucker62388b22006-01-20 11:31:47 +11001176.It Cm RekeyLimit
1177Specifies the maximum amount of data that may be transmitted before the
Darren Tuckerc53c2af2013-05-16 20:28:16 +10001178session key is renegotiated, optionally followed a maximum amount of
1179time that may pass before the session key is renegotiated.
1180The first argument is specified in bytes and may have a suffix of
Damien Millerddfddf12006-01-31 21:39:03 +11001181.Sq K ,
1182.Sq M ,
Darren Tucker62388b22006-01-20 11:31:47 +11001183or
Damien Millerddfddf12006-01-31 21:39:03 +11001184.Sq G
Darren Tucker62388b22006-01-20 11:31:47 +11001185to indicate Kilobytes, Megabytes, or Gigabytes, respectively.
1186The default is between
Damien Miller45ee2b92006-03-15 11:56:18 +11001187.Sq 1G
Darren Tucker62388b22006-01-20 11:31:47 +11001188and
Damien Miller45ee2b92006-03-15 11:56:18 +11001189.Sq 4G ,
Darren Tucker62388b22006-01-20 11:31:47 +11001190depending on the cipher.
Darren Tuckerc53c2af2013-05-16 20:28:16 +10001191The optional second value is specified in seconds and may use any of the
1192units documented in the
Damien Millerfecfd112013-07-18 16:11:50 +10001193TIME FORMATS section of
Darren Tuckerc53c2af2013-05-16 20:28:16 +10001194.Xr sshd_config 5 .
1195The default value for
1196.Cm RekeyLimit
1197is
1198.Dq default none ,
1199which means that rekeying is performed after the cipher's default amount
1200of data has been sent or received and no time based rekeying is done.
Damien Millerddfddf12006-01-31 21:39:03 +11001201This option applies to protocol version 2 only.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001202.It Cm RemoteForward
Damien Millere9d001e2006-01-14 10:10:17 +11001203Specifies that a TCP port on the remote machine be forwarded over
Ben Lindstrom9f049032002-06-21 00:59:05 +00001204the secure channel to the specified host and port from the local machine.
Darren Tucker5ede2ad2005-03-31 21:31:10 +10001205The first argument must be
Damien Millerf91ee4c2005-03-01 21:24:33 +11001206.Sm off
Darren Tucker5ede2ad2005-03-31 21:31:10 +10001207.Oo Ar bind_address : Oc Ar port
Damien Millerf91ee4c2005-03-01 21:24:33 +11001208.Sm on
Darren Tucker5ede2ad2005-03-31 21:31:10 +10001209and the second argument must be
1210.Ar host : Ns Ar hostport .
Damien Miller7fa96602010-08-05 13:03:13 +10001211IPv6 addresses can be specified by enclosing addresses in square brackets.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001212Multiple forwardings may be specified, and additional
1213forwardings can be given on the command line.
Damien Millerde7532e2008-11-03 19:24:45 +11001214Privileged ports can be forwarded only when
1215logging in as root on the remote machine.
Damien Millere379e102009-02-14 16:34:39 +11001216.Pp
Damien Miller85c6d8a2009-02-14 16:34:21 +11001217If the
1218.Ar port
1219argument is
1220.Ql 0 ,
1221the listen port will be dynamically allocated on the server and reported
1222to the client at run time.
Damien Millerf91ee4c2005-03-01 21:24:33 +11001223.Pp
1224If the
1225.Ar bind_address
1226is not specified, the default is to only bind to loopback addresses.
1227If the
1228.Ar bind_address
1229is
1230.Ql *
1231or an empty string, then the forwarding is requested to listen on all
1232interfaces.
1233Specifying a remote
1234.Ar bind_address
Damien Millerf8c55462005-03-02 12:03:05 +11001235will only succeed if the server's
1236.Cm GatewayPorts
Damien Millerf91ee4c2005-03-01 21:24:33 +11001237option is enabled (see
Damien Millerf8c55462005-03-02 12:03:05 +11001238.Xr sshd_config 5 ) .
Damien Miller21771e22011-05-15 08:45:50 +10001239.It Cm RequestTTY
1240Specifies whether to request a pseudo-tty for the session.
1241The argument may be one of:
1242.Dq no
1243(never request a TTY),
1244.Dq yes
1245(always request a TTY when standard input is a TTY),
1246.Dq force
1247(always request a TTY) or
1248.Dq auto
1249(request a TTY when opening a login session).
1250This option mirrors the
1251.Fl t
1252and
1253.Fl T
1254flags for
1255.Xr ssh 1 .
djm@openbsd.org5e39a492014-12-04 02:24:32 +00001256.It Cm RevokedHostKeys
1257Specifies revoked host public keys.
1258Keys listed in this file will be refused for host authentication.
1259Note that if this file does not exist or is not readable,
1260then host authentication will be refused for all hosts.
1261Keys may be specified as a text file, listing one public key per line, or as
1262an OpenSSH Key Revocation List (KRL) as generated by
1263.Xr ssh-keygen 1 .
1264For more information on KRLs, see the KEY REVOCATION LISTS section in
1265.Xr ssh-keygen 1 .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001266.It Cm RhostsRSAAuthentication
1267Specifies whether to try rhosts based authentication with RSA host
1268authentication.
1269The argument must be
1270.Dq yes
1271or
1272.Dq no .
1273The default is
1274.Dq no .
1275This option applies to protocol version 1 only and requires
Damien Miller45ee2b92006-03-15 11:56:18 +11001276.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001277to be setuid root.
1278.It Cm RSAAuthentication
1279Specifies whether to try RSA authentication.
1280The argument to this keyword must be
1281.Dq yes
1282or
1283.Dq no .
1284RSA authentication will only be
1285attempted if the identity file exists, or an authentication agent is
1286running.
1287The default is
1288.Dq yes .
1289Note that this option applies to protocol version 1 only.
Darren Tucker46bc0752004-05-02 22:11:30 +10001290.It Cm SendEnv
1291Specifies what variables from the local
1292.Xr environ 7
1293should be sent to the server.
Damien Miller45ee2b92006-03-15 11:56:18 +11001294Note that environment passing is only supported for protocol 2.
1295The server must also support it, and the server must be configured to
Darren Tucker1e0c9bf2004-05-02 22:12:48 +10001296accept these environment variables.
Darren Tucker46bc0752004-05-02 22:11:30 +10001297Refer to
1298.Cm AcceptEnv
1299in
1300.Xr sshd_config 5
1301for how to configure the server.
Damien Miller6def5512006-03-15 11:54:05 +11001302Variables are specified by name, which may contain wildcard characters.
Darren Tucker1e0c9bf2004-05-02 22:12:48 +10001303Multiple environment variables may be separated by whitespace or spread
Darren Tucker46bc0752004-05-02 22:11:30 +10001304across multiple
1305.Cm SendEnv
1306directives.
1307The default is not to send any environment variables.
Damien Millerf54a4b92006-03-15 11:54:36 +11001308.Pp
1309See
1310.Sx PATTERNS
1311for more information on patterns.
Damien Miller509b0102003-12-17 16:33:10 +11001312.It Cm ServerAliveCountMax
Damien Millerb7977702006-01-03 18:47:31 +11001313Sets the number of server alive messages (see below) which may be
Damien Miller509b0102003-12-17 16:33:10 +11001314sent without
Damien Miller45ee2b92006-03-15 11:56:18 +11001315.Xr ssh 1
Damien Miller509b0102003-12-17 16:33:10 +11001316receiving any messages back from the server.
1317If this threshold is reached while server alive messages are being sent,
Damien Miller45ee2b92006-03-15 11:56:18 +11001318ssh will disconnect from the server, terminating the session.
Damien Miller509b0102003-12-17 16:33:10 +11001319It is important to note that the use of server alive messages is very
1320different from
1321.Cm TCPKeepAlive
1322(below).
1323The server alive messages are sent through the encrypted channel
1324and therefore will not be spoofable.
1325The TCP keepalive option enabled by
1326.Cm TCPKeepAlive
1327is spoofable.
1328The server alive mechanism is valuable when the client or
1329server depend on knowing when a connection has become inactive.
1330.Pp
1331The default value is 3.
1332If, for example,
1333.Cm ServerAliveInterval
Damien Miller45ee2b92006-03-15 11:56:18 +11001334(see below) is set to 15 and
Damien Miller509b0102003-12-17 16:33:10 +11001335.Cm ServerAliveCountMax
Damien Miller45ee2b92006-03-15 11:56:18 +11001336is left at the default, if the server becomes unresponsive,
1337ssh will disconnect after approximately 45 seconds.
Damien Millercc3e8ba2006-03-15 12:06:55 +11001338This option applies to protocol version 2 only.
Damien Miller957d4e42005-12-13 19:30:45 +11001339.It Cm ServerAliveInterval
1340Sets a timeout interval in seconds after which if no data has been received
1341from the server,
Damien Miller45ee2b92006-03-15 11:56:18 +11001342.Xr ssh 1
Damien Miller957d4e42005-12-13 19:30:45 +11001343will send a message through the encrypted
1344channel to request a response from the server.
1345The default
1346is 0, indicating that these messages will not be sent to the server.
1347This option applies to protocol version 2 only.
Damien Miller7acefbb2014-07-18 14:11:24 +10001348.It Cm StreamLocalBindMask
1349Sets the octal file creation mode mask
1350.Pq umask
1351used when creating a Unix-domain socket file for local or remote
1352port forwarding.
1353This option is only used for port forwarding to a Unix-domain socket file.
1354.Pp
1355The default value is 0177, which creates a Unix-domain socket file that is
1356readable and writable only by the owner.
1357Note that not all operating systems honor the file mode on Unix-domain
1358socket files.
1359.It Cm StreamLocalBindUnlink
1360Specifies whether to remove an existing Unix-domain socket file for local
1361or remote port forwarding before creating a new one.
1362If the socket file already exists and
1363.Cm StreamLocalBindUnlink
1364is not enabled,
1365.Nm ssh
1366will be unable to forward the port to the Unix-domain socket file.
1367This option is only used for port forwarding to a Unix-domain socket file.
1368.Pp
1369The argument must be
1370.Dq yes
1371or
1372.Dq no .
1373The default is
1374.Dq no .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001375.It Cm StrictHostKeyChecking
1376If this flag is set to
1377.Dq yes ,
Damien Miller45ee2b92006-03-15 11:56:18 +11001378.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001379will never automatically add host keys to the
Damien Miller167ea5d2005-05-26 12:04:02 +10001380.Pa ~/.ssh/known_hosts
Ben Lindstrom9f049032002-06-21 00:59:05 +00001381file, and refuses to connect to hosts whose host key has changed.
1382This provides maximum protection against trojan horse attacks,
Damien Miller45ee2b92006-03-15 11:56:18 +11001383though it can be annoying when the
Ben Lindstrom9f049032002-06-21 00:59:05 +00001384.Pa /etc/ssh/ssh_known_hosts
Damien Miller45ee2b92006-03-15 11:56:18 +11001385file is poorly maintained or when connections to new hosts are
Ben Lindstrom9f049032002-06-21 00:59:05 +00001386frequently made.
1387This option forces the user to manually
1388add all new hosts.
1389If this flag is set to
1390.Dq no ,
Damien Miller45ee2b92006-03-15 11:56:18 +11001391ssh will automatically add new host keys to the
Ben Lindstrom9f049032002-06-21 00:59:05 +00001392user known hosts files.
1393If this flag is set to
1394.Dq ask ,
1395new host keys
1396will be added to the user known host files only after the user
1397has confirmed that is what they really want to do, and
Damien Miller45ee2b92006-03-15 11:56:18 +11001398ssh will refuse to connect to hosts whose host key has changed.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001399The host keys of
1400known hosts will be verified automatically in all cases.
1401The argument must be
1402.Dq yes ,
Damien Miller45ee2b92006-03-15 11:56:18 +11001403.Dq no ,
Ben Lindstrom9f049032002-06-21 00:59:05 +00001404or
1405.Dq ask .
1406The default is
1407.Dq ask .
Damien Miller12c150e2003-12-17 16:31:10 +11001408.It Cm TCPKeepAlive
1409Specifies whether the system should send TCP keepalive messages to the
1410other side.
1411If they are sent, death of the connection or crash of one
1412of the machines will be properly noticed.
1413However, this means that
1414connections will die if the route is down temporarily, and some people
1415find it annoying.
1416.Pp
1417The default is
1418.Dq yes
1419(to send TCP keepalive messages), and the client will notice
1420if the network goes down or the remote host dies.
1421This is important in scripts, and many users want it too.
1422.Pp
1423To disable TCP keepalive messages, the value should be set to
1424.Dq no .
Damien Millerd27b9472005-12-13 19:29:02 +11001425.It Cm Tunnel
Damien Miller991dba42006-07-10 20:16:27 +10001426Request
Damien Millerd27b9472005-12-13 19:29:02 +11001427.Xr tun 4
Damien Miller7746c392005-12-13 19:33:37 +11001428device forwarding between the client and the server.
Damien Millerd27b9472005-12-13 19:29:02 +11001429The argument must be
Damien Miller7b58e802005-12-13 19:33:19 +11001430.Dq yes ,
Damien Miller991dba42006-07-10 20:16:27 +10001431.Dq point-to-point
1432(layer 3),
1433.Dq ethernet
1434(layer 2),
Damien Millerd27b9472005-12-13 19:29:02 +11001435or
1436.Dq no .
Damien Miller991dba42006-07-10 20:16:27 +10001437Specifying
1438.Dq yes
1439requests the default tunnel mode, which is
1440.Dq point-to-point .
Damien Millerd27b9472005-12-13 19:29:02 +11001441The default is
1442.Dq no .
1443.It Cm TunnelDevice
Damien Miller991dba42006-07-10 20:16:27 +10001444Specifies the
Damien Millerd27b9472005-12-13 19:29:02 +11001445.Xr tun 4
Damien Miller991dba42006-07-10 20:16:27 +10001446devices to open on the client
1447.Pq Ar local_tun
1448and the server
1449.Pq Ar remote_tun .
1450.Pp
1451The argument must be
1452.Sm off
1453.Ar local_tun Op : Ar remote_tun .
1454.Sm on
1455The devices may be specified by numerical ID or the keyword
1456.Dq any ,
1457which uses the next available tunnel device.
1458If
1459.Ar remote_tun
1460is not specified, it defaults to
1461.Dq any .
1462The default is
1463.Dq any:any .
Damien Millere8cd7412005-12-24 14:55:47 +11001464.It Cm UsePrivilegedPort
1465Specifies whether to use a privileged port for outgoing connections.
1466The argument must be
1467.Dq yes
1468or
1469.Dq no .
1470The default is
1471.Dq no .
1472If set to
Damien Miller45ee2b92006-03-15 11:56:18 +11001473.Dq yes ,
1474.Xr ssh 1
Damien Millere8cd7412005-12-24 14:55:47 +11001475must be setuid root.
1476Note that this option must be set to
1477.Dq yes
1478for
1479.Cm RhostsRSAAuthentication
1480with older servers.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001481.It Cm User
1482Specifies the user to log in as.
1483This can be useful when a different user name is used on different machines.
1484This saves the trouble of
1485having to remember to give the user name on the command line.
1486.It Cm UserKnownHostsFile
Damien Miller295ee632011-05-29 21:42:31 +10001487Specifies one or more files to use for the user
1488host key database, separated by whitespace.
1489The default is
1490.Pa ~/.ssh/known_hosts ,
1491.Pa ~/.ssh/known_hosts2 .
Damien Miller37876e92003-05-15 10:19:46 +10001492.It Cm VerifyHostKeyDNS
1493Specifies whether to verify the remote key using DNS and SSHFP resource
1494records.
Damien Miller150b5572003-11-17 21:19:29 +11001495If this option is set to
1496.Dq yes ,
Damien Millerfe448472003-11-17 21:19:49 +11001497the client will implicitly trust keys that match a secure fingerprint
Damien Miller150b5572003-11-17 21:19:29 +11001498from DNS.
1499Insecure fingerprints will be handled as if this option was set to
1500.Dq ask .
1501If this option is set to
1502.Dq ask ,
1503information on fingerprint match will be displayed, but the user will still
1504need to confirm new host keys according to the
1505.Cm StrictHostKeyChecking
1506option.
1507The argument must be
1508.Dq yes ,
Damien Miller45ee2b92006-03-15 11:56:18 +11001509.Dq no ,
Damien Millerfe448472003-11-17 21:19:49 +11001510or
1511.Dq ask .
Damien Miller37876e92003-05-15 10:19:46 +10001512The default is
1513.Dq no .
Damien Millereacbb4f2003-06-02 19:10:41 +10001514Note that this option applies to protocol version 2 only.
Damien Miller45ee2b92006-03-15 11:56:18 +11001515.Pp
Damien Millerfecfd112013-07-18 16:11:50 +10001516See also VERIFYING HOST KEYS in
Damien Miller45ee2b92006-03-15 11:56:18 +11001517.Xr ssh 1 .
Damien Miller10288242008-06-30 00:04:03 +10001518.It Cm VisualHostKey
1519If this flag is set to
1520.Dq yes ,
1521an ASCII art representation of the remote host key fingerprint is
Damien Millera414cd32008-11-03 19:25:21 +11001522printed in addition to the hex fingerprint string at login and
1523for unknown host keys.
Damien Miller10288242008-06-30 00:04:03 +10001524If this flag is set to
1525.Dq no ,
Damien Millera414cd32008-11-03 19:25:21 +11001526no fingerprint strings are printed at login and
1527only the hex fingerprint string will be printed for unknown host keys.
Damien Miller10288242008-06-30 00:04:03 +10001528The default is
1529.Dq no .
Ben Lindstrom9f049032002-06-21 00:59:05 +00001530.It Cm XAuthLocation
Damien Miller05913ba2002-09-04 16:51:03 +10001531Specifies the full pathname of the
Ben Lindstrom9f049032002-06-21 00:59:05 +00001532.Xr xauth 1
1533program.
1534The default is
1535.Pa /usr/X11R6/bin/xauth .
1536.El
Damien Millerb5282c22006-03-15 11:59:08 +11001537.Sh PATTERNS
1538A
1539.Em pattern
1540consists of zero or more non-whitespace characters,
1541.Sq *
1542(a wildcard that matches zero or more characters),
1543or
1544.Sq ?\&
1545(a wildcard that matches exactly one character).
1546For example, to specify a set of declarations for any host in the
1547.Dq .co.uk
1548set of domains,
1549the following pattern could be used:
1550.Pp
1551.Dl Host *.co.uk
1552.Pp
1553The following pattern
1554would match any host in the 192.168.0.[0-9] network range:
1555.Pp
1556.Dl Host 192.168.0.?
1557.Pp
1558A
1559.Em pattern-list
1560is a comma-separated list of patterns.
1561Patterns within pattern-lists may be negated
1562by preceding them with an exclamation mark
1563.Pq Sq !\& .
1564For example,
Damien Miller51682fa2013-10-17 11:48:31 +11001565to allow a key to be used from anywhere within an organization
Damien Millerb5282c22006-03-15 11:59:08 +11001566except from the
1567.Dq dialup
1568pool,
1569the following entry (in authorized_keys) could be used:
1570.Pp
1571.Dl from=\&"!*.dialup.example.com,*.example.com\&"
Ben Lindstrom9f049032002-06-21 00:59:05 +00001572.Sh FILES
1573.Bl -tag -width Ds
Damien Miller167ea5d2005-05-26 12:04:02 +10001574.It Pa ~/.ssh/config
Ben Lindstrom9f049032002-06-21 00:59:05 +00001575This is the per-user configuration file.
1576The format of this file is described above.
Damien Miller45ee2b92006-03-15 11:56:18 +11001577This file is used by the SSH client.
Damien Millerc970cb92004-04-20 20:12:53 +10001578Because of the potential for abuse, this file must have strict permissions:
1579read/write for the user, and not accessible by others.
Ben Lindstrom9f049032002-06-21 00:59:05 +00001580.It Pa /etc/ssh/ssh_config
1581Systemwide configuration file.
1582This file provides defaults for those
1583values that are not specified in the user's configuration file, and
1584for those users who do not have a configuration file.
1585This file must be world-readable.
1586.El
Damien Millerf1ce5052003-06-11 22:04:39 +10001587.Sh SEE ALSO
1588.Xr ssh 1
Ben Lindstrom9f049032002-06-21 00:59:05 +00001589.Sh AUTHORS
1590OpenSSH is a derivative of the original and free
1591ssh 1.2.12 release by Tatu Ylonen.
1592Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
1593Theo de Raadt and Dug Song
1594removed many bugs, re-added newer features and
1595created OpenSSH.
1596Markus Friedl contributed the support for SSH
1597protocol versions 1.5 and 2.0.