ssh_config.0 revision 207311
1SSH_CONFIG(5)             OpenBSD Programmer's Manual            SSH_CONFIG(5)
2
3NAME
4     ssh_config - OpenSSH SSH client configuration files
5
6SYNOPSIS
7     ~/.ssh/config
8     /etc/ssh/ssh_config
9
10DESCRIPTION
11     ssh(1) obtains configuration data from the following sources in the fol-
12     lowing order:
13
14           1.   command-line options
15           2.   user's configuration file (~/.ssh/config)
16           3.   system-wide configuration file (/etc/ssh/ssh_config)
17
18     For each parameter, the first obtained value will be used.  The configu-
19     ration files contain sections separated by ``Host'' specifications, and
20     that section is only applied for hosts that match one of the patterns
21     given in the specification.  The matched host name is the one given on
22     the command line.
23
24     Since the first obtained value for each parameter is used, more host-spe-
25     cific declarations should be given near the beginning of the file, and
26     general defaults at the end.
27
28     The configuration file has the following format:
29
30     Empty lines and lines starting with `#' are comments.  Otherwise a line
31     is of the format ``keyword arguments''.  Configuration options may be
32     separated by whitespace or optional whitespace and exactly one `='; the
33     latter format is useful to avoid the need to quote whitespace when speci-
34     fying configuration options using the ssh, scp, and sftp -o option.  Ar-
35     guments may optionally be enclosed in double quotes (") in order to rep-
36     resent arguments containing spaces.
37
38     The possible keywords and their meanings are as follows (note that key-
39     words are case-insensitive and arguments are case-sensitive):
40
41     Host    Restricts the following declarations (up to the next Host key-
42             word) to be only for those hosts that match one of the patterns
43             given after the keyword.  If more than one pattern is provided,
44             they should be separated by whitespace.  A single `*' as a pat-
45             tern can be used to provide global defaults for all hosts.  The
46             host is the hostname argument given on the command line (i.e. the
47             name is not converted to a canonicalized host name before match-
48             ing).
49
50             See PATTERNS for more information on patterns.
51
52     AddressFamily
53             Specifies which address family to use when connecting.  Valid ar-
54             guments are ``any'', ``inet'' (use IPv4 only), or ``inet6'' (use
55             IPv6 only).
56
57     BatchMode
58             If set to ``yes'', passphrase/password querying will be disabled.
59             This option is useful in scripts and other batch jobs where no
60             user is present to supply the password.  The argument must be
61             ``yes'' or ``no''.  The default is ``no''.
62
63     BindAddress
64             Use the specified address on the local machine as the source ad-
65             dress of the connection.  Only useful on systems with more than
66             one address.  Note that this option does not work if
67             UsePrivilegedPort is set to ``yes''.
68
69     ChallengeResponseAuthentication
70             Specifies whether to use challenge-response authentication.  The
71             argument to this keyword must be ``yes'' or ``no''.  The default
72             is ``yes''.
73
74     CheckHostIP
75             If this flag is set to ``yes'', ssh(1) will additionally check
76             the host IP address in the known_hosts file.  This allows ssh to
77             detect if a host key changed due to DNS spoofing.  If the option
78             is set to ``no'', the check will not be executed.  The default is
79             ``yes''.
80
81     Cipher  Specifies the cipher to use for encrypting the session in proto-
82             col version 1.  Currently, ``blowfish'', ``3des'', and ``des''
83             are supported.  des is only supported in the ssh(1) client for
84             interoperability with legacy protocol 1 implementations that do
85             not support the 3des cipher.  Its use is strongly discouraged due
86             to cryptographic weaknesses.  The default is ``3des''.
87
88     Ciphers
89             Specifies the ciphers allowed for protocol version 2 in order of
90             preference.  Multiple ciphers must be comma-separated.  The sup-
91             ported ciphers are ``3des-cbc'', ``aes128-cbc'', ``aes192-cbc'',
92             ``aes256-cbc'', ``aes128-ctr'', ``aes192-ctr'', ``aes256-ctr'',
93             ``arcfour128'', ``arcfour256'', ``arcfour'', ``blowfish-cbc'',
94             and ``cast128-cbc''.  The default is:
95
96                aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
97                aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
98                aes256-cbc,arcfour
99
100     ClearAllForwardings
101             Specifies that all local, remote, and dynamic port forwardings
102             specified in the configuration files or on the command line be
103             cleared.  This option is primarily useful when used from the
104             ssh(1) command line to clear port forwardings set in configura-
105             tion files, and is automatically set by scp(1) and sftp(1).  The
106             argument must be ``yes'' or ``no''.  The default is ``no''.
107
108     Compression
109             Specifies whether to use compression.  The argument must be
110             ``yes'' or ``no''.  The default is ``no''.
111
112     CompressionLevel
113             Specifies the compression level to use if compression is enabled.
114             The argument must be an integer from 1 (fast) to 9 (slow, best).
115             The default level is 6, which is good for most applications.  The
116             meaning of the values is the same as in gzip(1).  Note that this
117             option applies to protocol version 1 only.
118
119     ConnectionAttempts
120             Specifies the number of tries (one per second) to make before ex-
121             iting.  The argument must be an integer.  This may be useful in
122             scripts if the connection sometimes fails.  The default is 1.
123
124     ConnectTimeout
125             Specifies the timeout (in seconds) used when connecting to the
126             SSH server, instead of using the default system TCP timeout.
127             This value is used only when the target is down or really un-
128             reachable, not when it refuses the connection.
129
130     ControlMaster
131             Enables the sharing of multiple sessions over a single network
132             connection.  When set to ``yes'', ssh(1) will listen for connec-
133             tions on a control socket specified using the ControlPath argu-
134             ment.  Additional sessions can connect to this socket using the
135             same ControlPath with ControlMaster set to ``no'' (the default).
136             These sessions will try to reuse the master instance's network
137             connection rather than initiating new ones, but will fall back to
138             connecting normally if the control socket does not exist, or is
139             not listening.
140
141             Setting this to ``ask'' will cause ssh to listen for control con-
142             nections, but require confirmation using the SSH_ASKPASS program
143             before they are accepted (see ssh-add(1) for details).  If the
144             ControlPath cannot be opened, ssh will continue without connect-
145             ing to a master instance.
146
147             X11 and ssh-agent(1) forwarding is supported over these multi-
148             plexed connections, however the display and agent forwarded will
149             be the one belonging to the master connection i.e. it is not pos-
150             sible to forward multiple displays or agents.
151
152             Two additional options allow for opportunistic multiplexing: try
153             to use a master connection but fall back to creating a new one if
154             one does not already exist.  These options are: ``auto'' and
155             ``autoask''.  The latter requires confirmation like the ``ask''
156             option.
157
158     ControlPath
159             Specify the path to the control socket used for connection shar-
160             ing as described in the ControlMaster section above or the string
161             ``none'' to disable connection sharing.  In the path, `%l' will
162             be substituted by the local host name, `%h' will be substituted
163             by the target host name, `%p' the port, and `%r' by the remote
164             login username.  It is recommended that any ControlPath used for
165             opportunistic connection sharing include at least %h, %p, and %r.
166             This ensures that shared connections are uniquely identified.
167
168     DynamicForward
169             Specifies that a TCP port on the local machine be forwarded over
170             the secure channel, and the application protocol is then used to
171             determine where to connect to from the remote machine.
172
173             The argument must be [bind_address:]port.  IPv6 addresses can be
174             specified by enclosing addresses in square brackets or by using
175             an alternative syntax: [bind_address/]port.  By default, the lo-
176             cal port is bound in accordance with the GatewayPorts setting.
177             However, an explicit bind_address may be used to bind the connec-
178             tion to a specific address.  The bind_address of ``localhost''
179             indicates that the listening port be bound for local use only,
180             while an empty address or `*' indicates that the port should be
181             available from all interfaces.
182
183             Currently the SOCKS4 and SOCKS5 protocols are supported, and
184             ssh(1) will act as a SOCKS server.  Multiple forwardings may be
185             specified, and additional forwardings can be given on the command
186             line.  Only the superuser can forward privileged ports.
187
188     EnableSSHKeysign
189             Setting this option to ``yes'' in the global client configuration
190             file /etc/ssh/ssh_config enables the use of the helper program
191             ssh-keysign(8) during HostbasedAuthentication.  The argument must
192             be ``yes'' or ``no''.  The default is ``no''.  This option should
193             be placed in the non-hostspecific section.  See ssh-keysign(8)
194             for more information.
195
196     EscapeChar
197             Sets the escape character (default: `~').  The escape character
198             can also be set on the command line.  The argument should be a
199             single character, `^' followed by a letter, or ``none'' to dis-
200             able the escape character entirely (making the connection trans-
201             parent for binary data).
202
203     ExitOnForwardFailure
204             Specifies whether ssh(1) should terminate the connection if it
205             cannot set up all requested dynamic, tunnel, local, and remote
206             port forwardings.  The argument must be ``yes'' or ``no''.  The
207             default is ``no''.
208
209     ForwardAgent
210             Specifies whether the connection to the authentication agent (if
211             any) will be forwarded to the remote machine.  The argument must
212             be ``yes'' or ``no''.  The default is ``no''.
213
214             Agent forwarding should be enabled with caution.  Users with the
215             ability to bypass file permissions on the remote host (for the
216             agent's Unix-domain socket) can access the local agent through
217             the forwarded connection.  An attacker cannot obtain key material
218             from the agent, however they can perform operations on the keys
219             that enable them to authenticate using the identities loaded into
220             the agent.
221
222     ForwardX11
223             Specifies whether X11 connections will be automatically redirect-
224             ed over the secure channel and DISPLAY set.  The argument must be
225             ``yes'' or ``no''.  The default is ``no''.
226
227             X11 forwarding should be enabled with caution.  Users with the
228             ability to bypass file permissions on the remote host (for the
229             user's X11 authorization database) can access the local X11 dis-
230             play through the forwarded connection.  An attacker may then be
231             able to perform activities such as keystroke monitoring if the
232             ForwardX11Trusted option is also enabled.
233
234     ForwardX11Trusted
235             If this option is set to ``yes'', remote X11 clients will have
236             full access to the original X11 display.
237
238             If this option is set to ``no'', remote X11 clients will be con-
239             sidered untrusted and prevented from stealing or tampering with
240             data belonging to trusted X11 clients.  Furthermore, the xauth(1)
241             token used for the session will be set to expire after 20 min-
242             utes.  Remote clients will be refused access after this time.
243
244             The default is ``no''.
245
246             See the X11 SECURITY extension specification for full details on
247             the restrictions imposed on untrusted clients.
248
249     GatewayPorts
250             Specifies whether remote hosts are allowed to connect to local
251             forwarded ports.  By default, ssh(1) binds local port forwardings
252             to the loopback address.  This prevents other remote hosts from
253             connecting to forwarded ports.  GatewayPorts can be used to spec-
254             ify that ssh should bind local port forwardings to the wildcard
255             address, thus allowing remote hosts to connect to forwarded
256             ports.  The argument must be ``yes'' or ``no''.  The default is
257             ``no''.
258
259     GlobalKnownHostsFile
260             Specifies a file to use for the global host key database instead
261             of /etc/ssh/ssh_known_hosts.
262
263     GSSAPIAuthentication
264             Specifies whether user authentication based on GSSAPI is allowed.
265             The default is ``no''.  Note that this option applies to protocol
266             version 2 only.
267
268     GSSAPIDelegateCredentials
269             Forward (delegate) credentials to the server.  The default is
270             ``no''.  Note that this option applies to protocol version 2 on-
271             ly.
272
273     HashKnownHosts
274             Indicates that ssh(1) should hash host names and addresses when
275             they are added to ~/.ssh/known_hosts.  These hashed names may be
276             used normally by ssh(1) and sshd(8), but they do not reveal iden-
277             tifying information should the file's contents be disclosed.  The
278             default is ``no''.  Note that existing names and addresses in
279             known hosts files will not be converted automatically, but may be
280             manually hashed using ssh-keygen(1).
281
282     HostbasedAuthentication
283             Specifies whether to try rhosts based authentication with public
284             key authentication.  The argument must be ``yes'' or ``no''.  The
285             default is ``no''.  This option applies to protocol version 2 on-
286             ly and is similar to RhostsRSAAuthentication.
287
288     HostKeyAlgorithms
289             Specifies the protocol version 2 host key algorithms that the
290             client wants to use in order of preference.  The default for this
291             option is: ``ssh-rsa,ssh-dss''.
292
293     HostKeyAlias
294             Specifies an alias that should be used instead of the real host
295             name when looking up or saving the host key in the host key
296             database files.  This option is useful for tunneling SSH connec-
297             tions or for multiple servers running on a single host.
298
299     HostName
300             Specifies the real host name to log into.  This can be used to
301             specify nicknames or abbreviations for hosts.  The default is the
302             name given on the command line.  Numeric IP addresses are also
303             permitted (both on the command line and in HostName specifica-
304             tions).
305
306     IdentitiesOnly
307             Specifies that ssh(1) should only use the authentication identity
308             files configured in the ssh_config files, even if ssh-agent(1)
309             offers more identities.  The argument to this keyword must be
310             ``yes'' or ``no''.  This option is intended for situations where
311             ssh-agent offers many different identities.  The default is
312             ``no''.
313
314     IdentityFile
315             Specifies a file from which the user's RSA or DSA authentication
316             identity is read.  The default is ~/.ssh/identity for protocol
317             version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol ver-
318             sion 2.  Additionally, any identities represented by the authen-
319             tication agent will be used for authentication.  ssh(1) will try
320             to load certificate information from the filename obtained by ap-
321             pending -cert.pub to the path of a specified IdentityFile.
322
323             The file name may use the tilde syntax to refer to a user's home
324             directory or one of the following escape characters: `%d' (local
325             user's home directory), `%u' (local user name), `%l' (local host
326             name), `%h' (remote host name) or `%r' (remote user name).
327
328             It is possible to have multiple identity files specified in con-
329             figuration files; all these identities will be tried in sequence.
330
331     KbdInteractiveAuthentication
332             Specifies whether to use keyboard-interactive authentication.
333             The argument to this keyword must be ``yes'' or ``no''.  The de-
334             fault is ``yes''.
335
336     KbdInteractiveDevices
337             Specifies the list of methods to use in keyboard-interactive au-
338             thentication.  Multiple method names must be comma-separated.
339             The default is to use the server specified list.  The methods
340             available vary depending on what the server supports.  For an
341             OpenSSH server, it may be zero or more of: ``bsdauth'', ``pam'',
342             and ``skey''.
343
344     LocalCommand
345             Specifies a command to execute on the local machine after suc-
346             cessfully connecting to the server.  The command string extends
347             to the end of the line, and is executed with the user's shell.
348             The following escape character substitutions will be performed:
349             `%d' (local user's home directory), `%h' (remote host name), `%l'
350             (local host name), `%n' (host name as provided on the command
351             line), `%p' (remote port), `%r' (remote user name) or `%u' (local
352             user name).
353
354             The command is run synchronously and does not have access to the
355             session of the ssh(1) that spawned it.  It should not be used for
356             interactive commands.
357
358             This directive is ignored unless PermitLocalCommand has been en-
359             abled.
360
361     LocalForward
362             Specifies that a TCP port on the local machine be forwarded over
363             the secure channel to the specified host and port from the remote
364             machine.  The first argument must be [bind_address:]port and the
365             second argument must be host:hostport.  IPv6 addresses can be
366             specified by enclosing addresses in square brackets or by using
367             an alternative syntax: [bind_address/]port and host/hostport.
368             Multiple forwardings may be specified, and additional forwardings
369             can be given on the command line.  Only the superuser can forward
370             privileged ports.  By default, the local port is bound in accor-
371             dance with the GatewayPorts setting.  However, an explicit
372             bind_address may be used to bind the connection to a specific ad-
373             dress.  The bind_address of ``localhost'' indicates that the lis-
374             tening port be bound for local use only, while an empty address
375             or `*' indicates that the port should be available from all in-
376             terfaces.
377
378     LogLevel
379             Gives the verbosity level that is used when logging messages from
380             ssh(1).  The possible values are: QUIET, FATAL, ERROR, INFO, VER-
381             BOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.  The default is INFO.
382             DEBUG and DEBUG1 are equivalent.  DEBUG2 and DEBUG3 each specify
383             higher levels of verbose output.
384
385     MACs    Specifies the MAC (message authentication code) algorithms in or-
386             der of preference.  The MAC algorithm is used in protocol version
387             2 for data integrity protection.  Multiple algorithms must be
388             comma-separated.  The default is:
389
390                   hmac-md5,hmac-sha1,umac-64@openssh.com,
391                   hmac-ripemd160,hmac-sha1-96,hmac-md5-96
392
393     NoHostAuthenticationForLocalhost
394             This option can be used if the home directory is shared across
395             machines.  In this case localhost will refer to a different ma-
396             chine on each of the machines and the user will get many warnings
397             about changed host keys.  However, this option disables host au-
398             thentication for localhost.  The argument to this keyword must be
399             ``yes'' or ``no''.  The default is to check the host key for lo-
400             calhost.
401
402     NumberOfPasswordPrompts
403             Specifies the number of password prompts before giving up.  The
404             argument to this keyword must be an integer.  The default is 3.
405
406     PasswordAuthentication
407             Specifies whether to use password authentication.  The argument
408             to this keyword must be ``yes'' or ``no''.  The default is
409             ``yes''.
410
411     PermitLocalCommand
412             Allow local command execution via the LocalCommand option or us-
413             ing the !command escape sequence in ssh(1).  The argument must be
414             ``yes'' or ``no''.  The default is ``no''.
415
416     PKCS11Provider
417             Specifies which PKCS#11 provider to use.  The argument to this
418             keyword is the PKCS#11 shared libary ssh(1) should use to commu-
419             nicate with a PKCS#11 token providing the user's private RSA key.
420
421     Port    Specifies the port number to connect on the remote host.  The de-
422             fault is 22.
423
424     PreferredAuthentications
425             Specifies the order in which the client should try protocol 2 au-
426             thentication methods.  This allows a client to prefer one method
427             (e.g. keyboard-interactive) over another method (e.g. password)
428             The default for this option is: ``gssapi-with-
429             mic,hostbased,publickey,keyboard-interactive,password''.
430
431     Protocol
432             Specifies the protocol versions ssh(1) should support in order of
433             preference.  The possible values are `1' and `2'.  Multiple ver-
434             sions must be comma-separated.  When this option is set to
435             ``2,1'' ssh will try version 2 and fall back to version 1 if ver-
436             sion 2 is not available.  The default is `2'.
437
438     ProxyCommand
439             Specifies the command to use to connect to the server.  The com-
440             mand string extends to the end of the line, and is executed with
441             the user's shell.  In the command string, `%h' will be substitut-
442             ed by the host name to connect and `%p' by the port.  The command
443             can be basically anything, and should read from its standard in-
444             put and write to its standard output.  It should eventually con-
445             nect an sshd(8) server running on some machine, or execute sshd
446             -i somewhere.  Host key management will be done using the Host-
447             Name of the host being connected (defaulting to the name typed by
448             the user).  Setting the command to ``none'' disables this option
449             entirely.  Note that CheckHostIP is not available for connects
450             with a proxy command.
451
452             This directive is useful in conjunction with nc(1) and its proxy
453             support.  For example, the following directive would connect via
454             an HTTP proxy at 192.0.2.0:
455
456                ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
457
458     PubkeyAuthentication
459             Specifies whether to try public key authentication.  The argument
460             to this keyword must be ``yes'' or ``no''.  The default is
461             ``yes''.  This option applies to protocol version 2 only.
462
463     RekeyLimit
464             Specifies the maximum amount of data that may be transmitted be-
465             fore the session key is renegotiated.  The argument is the number
466             of bytes, with an optional suffix of `K', `M', or `G' to indicate
467             Kilobytes, Megabytes, or Gigabytes, respectively.  The default is
468             between `1G' and `4G', depending on the cipher.  This option ap-
469             plies to protocol version 2 only.
470
471     RemoteForward
472             Specifies that a TCP port on the remote machine be forwarded over
473             the secure channel to the specified host and port from the local
474             machine.  The first argument must be [bind_address:]port and the
475             second argument must be host:hostport.  IPv6 addresses can be
476             specified by enclosing addresses in square brackets or by using
477             an alternative syntax: [bind_address/]port and host/hostport.
478             Multiple forwardings may be specified, and additional forwardings
479             can be given on the command line.  Privileged ports can be for-
480             warded only when logging in as root on the remote machine.
481
482             If the port argument is `0', the listen port will be dynamically
483             allocated on the server and reported to the client at run time.
484
485             If the bind_address is not specified, the default is to only bind
486             to loopback addresses.  If the bind_address is `*' or an empty
487             string, then the forwarding is requested to listen on all inter-
488             faces.  Specifying a remote bind_address will only succeed if the
489             server's GatewayPorts option is enabled (see sshd_config(5)).
490
491     RhostsRSAAuthentication
492             Specifies whether to try rhosts based authentication with RSA
493             host authentication.  The argument must be ``yes'' or ``no''.
494             The default is ``no''.  This option applies to protocol version 1
495             only and requires ssh(1) to be setuid root.
496
497     RSAAuthentication
498             Specifies whether to try RSA authentication.  The argument to
499             this keyword must be ``yes'' or ``no''.  RSA authentication will
500             only be attempted if the identity file exists, or an authentica-
501             tion agent is running.  The default is ``yes''.  Note that this
502             option applies to protocol version 1 only.
503
504     SendEnv
505             Specifies what variables from the local environ(7) should be sent
506             to the server.  Note that environment passing is only supported
507             for protocol 2.  The server must also support it, and the server
508             must be configured to accept these environment variables.  Refer
509             to AcceptEnv in sshd_config(5) for how to configure the server.
510             Variables are specified by name, which may contain wildcard char-
511             acters.  Multiple environment variables may be separated by
512             whitespace or spread across multiple SendEnv directives.  The de-
513             fault is not to send any environment variables.
514
515             See PATTERNS for more information on patterns.
516
517     ServerAliveCountMax
518             Sets the number of server alive messages (see below) which may be
519             sent without ssh(1) receiving any messages back from the server.
520             If this threshold is reached while server alive messages are be-
521             ing sent, ssh will disconnect from the server, terminating the
522             session.  It is important to note that the use of server alive
523             messages is very different from TCPKeepAlive (below).  The server
524             alive messages are sent through the encrypted channel and there-
525             fore will not be spoofable.  The TCP keepalive option enabled by
526             TCPKeepAlive is spoofable.  The server alive mechanism is valu-
527             able when the client or server depend on knowing when a connec-
528             tion has become inactive.
529
530             The default value is 3.  If, for example, ServerAliveInterval
531             (see below) is set to 15 and ServerAliveCountMax is left at the
532             default, if the server becomes unresponsive, ssh will disconnect
533             after approximately 45 seconds.  This option applies to protocol
534             version 2 only.
535
536     ServerAliveInterval
537             Sets a timeout interval in seconds after which if no data has
538             been received from the server, ssh(1) will send a message through
539             the encrypted channel to request a response from the server.  The
540             default is 0, indicating that these messages will not be sent to
541             the server.  This option applies to protocol version 2 only.
542
543     StrictHostKeyChecking
544             If this flag is set to ``yes'', ssh(1) will never automatically
545             add host keys to the ~/.ssh/known_hosts file, and refuses to con-
546             nect to hosts whose host key has changed.  This provides maximum
547             protection against trojan horse attacks, though it can be annoy-
548             ing when the /etc/ssh/ssh_known_hosts file is poorly maintained
549             or when connections to new hosts are frequently made.  This op-
550             tion forces the user to manually add all new hosts.  If this flag
551             is set to ``no'', ssh will automatically add new host keys to the
552             user known hosts files.  If this flag is set to ``ask'', new host
553             keys will be added to the user known host files only after the
554             user has confirmed that is what they really want to do, and ssh
555             will refuse to connect to hosts whose host key has changed.  The
556             host keys of known hosts will be verified automatically in all
557             cases.  The argument must be ``yes'', ``no'', or ``ask''.  The
558             default is ``ask''.
559
560     TCPKeepAlive
561             Specifies whether the system should send TCP keepalive messages
562             to the other side.  If they are sent, death of the connection or
563             crash of one of the machines will be properly noticed.  However,
564             this means that connections will die if the route is down tem-
565             porarily, and some people find it annoying.
566
567             The default is ``yes'' (to send TCP keepalive messages), and the
568             client will notice if the network goes down or the remote host
569             dies.  This is important in scripts, and many users want it too.
570
571             To disable TCP keepalive messages, the value should be set to
572             ``no''.
573
574     Tunnel  Request tun(4) device forwarding between the client and the serv-
575             er.  The argument must be ``yes'', ``point-to-point'' (layer 3),
576             ``ethernet'' (layer 2), or ``no''.  Specifying ``yes'' requests
577             the default tunnel mode, which is ``point-to-point''.  The de-
578             fault is ``no''.
579
580     TunnelDevice
581             Specifies the tun(4) devices to open on the client (local_tun)
582             and the server (remote_tun).
583
584             The argument must be local_tun[:remote_tun].  The devices may be
585             specified by numerical ID or the keyword ``any'', which uses the
586             next available tunnel device.  If remote_tun is not specified, it
587             defaults to ``any''.  The default is ``any:any''.
588
589     UsePrivilegedPort
590             Specifies whether to use a privileged port for outgoing connec-
591             tions.  The argument must be ``yes'' or ``no''.  The default is
592             ``no''.  If set to ``yes'', ssh(1) must be setuid root.  Note
593             that this option must be set to ``yes'' for
594             RhostsRSAAuthentication with older servers.
595
596     User    Specifies the user to log in as.  This can be useful when a dif-
597             ferent user name is used on different machines.  This saves the
598             trouble of having to remember to give the user name on the com-
599             mand line.
600
601     UserKnownHostsFile
602             Specifies a file to use for the user host key database instead of
603             ~/.ssh/known_hosts.
604
605     VerifyHostKeyDNS
606             Specifies whether to verify the remote key using DNS and SSHFP
607             resource records.  If this option is set to ``yes'', the client
608             will implicitly trust keys that match a secure fingerprint from
609             DNS.  Insecure fingerprints will be handled as if this option was
610             set to ``ask''.  If this option is set to ``ask'', information on
611             fingerprint match will be displayed, but the user will still need
612             to confirm new host keys according to the StrictHostKeyChecking
613             option.  The argument must be ``yes'', ``no'', or ``ask''.  The
614             default is ``no''.  Note that this option applies to protocol
615             version 2 only.
616
617             See also VERIFYING HOST KEYS in ssh(1).
618
619     VisualHostKey
620             If this flag is set to ``yes'', an ASCII art representation of
621             the remote host key fingerprint is printed in addition to the hex
622             fingerprint string at login and for unknown host keys.  If this
623             flag is set to ``no'', no fingerprint strings are printed at lo-
624             gin and only the hex fingerprint string will be printed for un-
625             known host keys.  The default is ``no''.
626
627     XAuthLocation
628             Specifies the full pathname of the xauth(1) program.  The default
629             is /usr/X11R6/bin/xauth.
630
631PATTERNS
632     A pattern consists of zero or more non-whitespace characters, `*' (a
633     wildcard that matches zero or more characters), or `?' (a wildcard that
634     matches exactly one character).  For example, to specify a set of decla-
635     rations for any host in the ``.co.uk'' set of domains, the following pat-
636     tern could be used:
637
638           Host *.co.uk
639
640     The following pattern would match any host in the 192.168.0.[0-9] network
641     range:
642
643           Host 192.168.0.?
644
645     A pattern-list is a comma-separated list of patterns.  Patterns within
646     pattern-lists may be negated by preceding them with an exclamation mark
647     (`!').  For example, to allow a key to be used from anywhere within an
648     organisation except from the ``dialup'' pool, the following entry (in au-
649     thorized_keys) could be used:
650
651           from="!*.dialup.example.com,*.example.com"
652
653FILES
654     ~/.ssh/config
655             This is the per-user configuration file.  The format of this file
656             is described above.  This file is used by the SSH client.  Be-
657             cause of the potential for abuse, this file must have strict per-
658             missions: read/write for the user, and not accessible by others.
659
660     /etc/ssh/ssh_config
661             Systemwide configuration file.  This file provides defaults for
662             those values that are not specified in the user's configuration
663             file, and for those users who do not have a configuration file.
664             This file must be world-readable.
665
666SEE ALSO
667     ssh(1)
668
669AUTHORS
670     OpenSSH is a derivative of the original and free ssh 1.2.12 release by
671     Tatu Ylonen.  Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo
672     de Raadt and Dug Song removed many bugs, re-added newer features and cre-
673     ated OpenSSH.  Markus Friedl contributed the support for SSH protocol
674     versions 1.5 and 2.0.
675
676OpenBSD 4.7                     March 26, 2010                              11
677