]> andersk Git - gssapi-openssh.git/blame - openssh/ssh_config.5
Initial revision
[gssapi-openssh.git] / openssh / ssh_config.5
CommitLineData
884dc78b 1.\" -*- nroff -*-
2.\"
3.\" Author: Tatu Ylonen <ylo@cs.hut.fi>
4.\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5.\" All rights reserved
6.\"
7.\" As far as I am concerned, the code I have written for this software
8.\" can be used freely for any purpose. Any derived versions of this
9.\" software must be clearly marked as such, and if the derived work is
10.\" incompatible with the protocol description in the RFC file, it must be
11.\" called by a name other than "ssh" or "Secure Shell".
12.\"
13.\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved.
14.\" Copyright (c) 1999 Aaron Campbell. All rights reserved.
15.\" Copyright (c) 1999 Theo de Raadt. All rights reserved.
16.\"
17.\" Redistribution and use in source and binary forms, with or without
18.\" modification, are permitted provided that the following conditions
19.\" are met:
20.\" 1. Redistributions of source code must retain the above copyright
21.\" notice, this list of conditions and the following disclaimer.
22.\" 2. Redistributions in binary form must reproduce the above copyright
23.\" notice, this list of conditions and the following disclaimer in the
24.\" documentation and/or other materials provided with the distribution.
25.\"
26.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
27.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
28.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
29.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
30.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
31.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36.\"
2ce0bfe4 37.\" $OpenBSD: ssh_config.5,v 1.61 2005/07/08 12:53:10 jmc Exp $
884dc78b 38.Dd September 25, 1999
39.Dt SSH_CONFIG 5
40.Os
41.Sh NAME
42.Nm ssh_config
43.Nd OpenSSH SSH client configuration files
44.Sh SYNOPSIS
45.Bl -tag -width Ds -compact
2ce0bfe4 46.It Pa ~/.ssh/config
884dc78b 47.It Pa /etc/ssh/ssh_config
48.El
49.Sh DESCRIPTION
50.Nm ssh
51obtains configuration data from the following sources in
52the following order:
d03f4262 53.Bl -enum -offset indent -compact
54.It
55command-line options
56.It
44a053a3 57user's configuration file
2ce0bfe4 58.Pq Pa ~/.ssh/config
d03f4262 59.It
d6862c36 60GSSAPI configuration file
d03f4262 61.Pq Pa $HOME/.ssh/config.gssapi
62.It
d6862c36 63Kerberos configuration file
d03f4262 64.Pq Pa $HOME/.ssh/config.krb
65.It
d03f4262 66system-wide configuration file
67.Pq Pa /etc/ssh/ssh_config
44a053a3 68.El
884dc78b 69.Pp
70For each parameter, the first obtained value
71will be used.
dfddba3d 72The configuration files contain sections separated by
884dc78b 73.Dq Host
74specifications, and that section is only applied for hosts that
75match one of the patterns given in the specification.
76The matched host name is the one given on the command line.
77.Pp
78Since the first obtained value for each parameter is used, more
79host-specific declarations should be given near the beginning of the
80file, and general defaults at the end.
81.Pp
82The configuration file has the following format:
83.Pp
84Empty lines and lines starting with
85.Ql #
86are comments.
87.Pp
88Otherwise a line is of the format
89.Dq keyword arguments .
90Configuration options may be separated by whitespace or
91optional whitespace and exactly one
92.Ql = ;
93the latter format is useful to avoid the need to quote whitespace
94when specifying configuration options using the
95.Nm ssh ,
96.Nm scp
97and
98.Nm sftp
99.Fl o
100option.
101.Pp
102The possible
103keywords and their meanings are as follows (note that
104keywords are case-insensitive and arguments are case-sensitive):
105.Bl -tag -width Ds
106.It Cm Host
107Restricts the following declarations (up to the next
108.Cm Host
109keyword) to be only for those hosts that match one of the patterns
110given after the keyword.
111.Ql \&*
112and
7cac2b65 113.Ql \&?
884dc78b 114can be used as wildcards in the
115patterns.
116A single
117.Ql \&*
118as a pattern can be used to provide global
119defaults for all hosts.
120The host is the
121.Ar hostname
122argument given on the command line (i.e., the name is not converted to
123a canonicalized host name before matching).
7cac2b65 124.It Cm AddressFamily
125Specifies which address family to use when connecting.
126Valid arguments are
127.Dq any ,
128.Dq inet
dfddba3d 129(use IPv4 only) or
7cac2b65 130.Dq inet6
dfddba3d 131(use IPv6 only).
884dc78b 132.It Cm BatchMode
133If set to
134.Dq yes ,
135passphrase/password querying will be disabled.
136This option is useful in scripts and other batch jobs where no user
137is present to supply the password.
138The argument must be
139.Dq yes
140or
141.Dq no .
142The default is
143.Dq no .
144.It Cm BindAddress
2ce0bfe4 145Use the specified address on the local machine as the source address of
146the connection.
147Only useful on systems with more than one address.
884dc78b 148Note that this option does not work if
149.Cm UsePrivilegedPort
150is set to
151.Dq yes .
152.It Cm ChallengeResponseAuthentication
153Specifies whether to use challenge response authentication.
154The argument to this keyword must be
155.Dq yes
156or
157.Dq no .
158The default is
159.Dq yes .
160.It Cm CheckHostIP
161If this flag is set to
162.Dq yes ,
163ssh will additionally check the host IP address in the
164.Pa known_hosts
165file.
166This allows ssh to detect if a host key changed due to DNS spoofing.
167If the option is set to
168.Dq no ,
169the check will not be executed.
170The default is
171.Dq yes .
172.It Cm Cipher
173Specifies the cipher to use for encrypting the session
174in protocol version 1.
175Currently,
176.Dq blowfish ,
177.Dq 3des ,
178and
179.Dq des
180are supported.
181.Ar des
182is only supported in the
183.Nm ssh
184client for interoperability with legacy protocol 1 implementations
185that do not support the
186.Ar 3des
bfe49944 187cipher.
188Its use is strongly discouraged due to cryptographic weaknesses.
884dc78b 189The default is
190.Dq 3des .
191.It Cm Ciphers
192Specifies the ciphers allowed for protocol version 2
193in order of preference.
194Multiple ciphers must be comma-separated.
7e82606e 195The supported ciphers are
196.Dq 3des-cbc ,
197.Dq aes128-cbc ,
198.Dq aes192-cbc ,
199.Dq aes256-cbc ,
200.Dq aes128-ctr ,
201.Dq aes192-ctr ,
202.Dq aes256-ctr ,
2ce0bfe4 203.Dq arcfour128 ,
204.Dq arcfour256 ,
7e82606e 205.Dq arcfour ,
206.Dq blowfish-cbc ,
207and
208.Dq cast128-cbc .
884dc78b 209The default is
884dc78b 210.Bd -literal
2ce0bfe4 211 ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,
212 arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr,
213 aes192-ctr,aes256-ctr''
884dc78b 214.Ed
215.It Cm ClearAllForwardings
216Specifies that all local, remote and dynamic port forwardings
217specified in the configuration files or on the command line be
bfe49944 218cleared.
219This option is primarily useful when used from the
884dc78b 220.Nm ssh
221command line to clear port forwardings set in
222configuration files, and is automatically set by
223.Xr scp 1
224and
225.Xr sftp 1 .
226The argument must be
227.Dq yes
228or
229.Dq no .
230The default is
231.Dq no .
232.It Cm Compression
233Specifies whether to use compression.
234The argument must be
235.Dq yes
236or
237.Dq no .
238The default is
239.Dq no .
240.It Cm CompressionLevel
241Specifies the compression level to use if compression is enabled.
242The argument must be an integer from 1 (fast) to 9 (slow, best).
243The default level is 6, which is good for most applications.
244The meaning of the values is the same as in
245.Xr gzip 1 .
246Note that this option applies to protocol version 1 only.
247.It Cm ConnectionAttempts
248Specifies the number of tries (one per second) to make before exiting.
249The argument must be an integer.
250This may be useful in scripts if the connection sometimes fails.
251The default is 1.
7cac2b65 252.It Cm ConnectTimeout
253Specifies the timeout (in seconds) used when connecting to the ssh
254server, instead of using the default system TCP timeout.
255This value is used only when the target is down or really unreachable,
256not when it refuses the connection.
7e82606e 257.It Cm ControlMaster
258Enables the sharing of multiple sessions over a single network connection.
259When set to
260.Dq yes
261.Nm ssh
262will listen for connections on a control socket specified using the
263.Cm ControlPath
264argument.
265Additional sessions can connect to this socket using the same
266.Cm ControlPath
267with
268.Cm ControlMaster
269set to
270.Dq no
271(the default).
272These sessions will reuse the master instance's network connection rather
273than initiating new ones.
274Setting this to
275.Dq ask
276will cause
277.Nm ssh
278to listen for control connections, but require confirmation using the
279.Ev SSH_ASKPASS
280program before they are accepted (see
281.Xr ssh-add 1
282for details).
2ce0bfe4 283If the
284.Cm ControlPath
285can not be opened,
286.Nm ssh
287will continue without connecting to a master instance.
288.Pp
289X11 and
290.Xr ssh-agent 1
291forwarding is supported over these multiplexed connections, however the
292display and agent fowarded will be the one belonging to the master
293connection i.e. it is not possible to forward multiple displays or agents.
294.Pp
295Two additional options allow for opportunistic multiplexing: try to use a
296master connection but fall back to creating a new one if one does not already
297exist.
298These options are:
299.Dq auto
300and
301.Dq autoask .
302The latter requires confirmation like the
303.Dq ask
304option.
7e82606e 305.It Cm ControlPath
2ce0bfe4 306Specify the path to the control socket used for connection sharing as described
307in the
7e82606e 308.Cm ControlMaster
2ce0bfe4 309section above or the string
310.Dq none
311to disable connection sharing.
312In the path,
313.Ql %h
314will be substituted by the target host name,
315.Ql %p
316the port and
317.Ql %r
318by the remote login username.
319It is recommended that any
320.Cm ControlPath
321used for opportunistic connection sharing include
322all three of these escape sequences.
323This ensures that shared connections are uniquely identified.
884dc78b 324.It Cm DynamicForward
325Specifies that a TCP/IP port on the local machine be forwarded
326over the secure channel, and the application
327protocol is then used to determine where to connect to from the
bfe49944 328remote machine.
329The argument must be a port number.
7cac2b65 330Currently the SOCKS4 and SOCKS5 protocols are supported, and
884dc78b 331.Nm ssh
7cac2b65 332will act as a SOCKS server.
884dc78b 333Multiple forwardings may be specified, and
bfe49944 334additional forwardings can be given on the command line.
335Only the superuser can forward privileged ports.
7cac2b65 336.It Cm EnableSSHKeysign
337Setting this option to
338.Dq yes
339in the global client configuration file
340.Pa /etc/ssh/ssh_config
341enables the use of the helper program
342.Xr ssh-keysign 8
343during
344.Cm HostbasedAuthentication .
345The argument must be
346.Dq yes
347or
348.Dq no .
349The default is
350.Dq no .
540d72c3 351This option should be placed in the non-hostspecific section.
7cac2b65 352See
353.Xr ssh-keysign 8
354for more information.
884dc78b 355.It Cm EscapeChar
356Sets the escape character (default:
357.Ql ~ ) .
358The escape character can also
359be set on the command line.
360The argument should be a single character,
361.Ql ^
362followed by a letter, or
363.Dq none
364to disable the escape
365character entirely (making the connection transparent for binary
366data).
367.It Cm ForwardAgent
368Specifies whether the connection to the authentication agent (if any)
369will be forwarded to the remote machine.
370The argument must be
371.Dq yes
372or
373.Dq no .
374The default is
375.Dq no .
d03f4262 376.Pp
bfe49944 377Agent forwarding should be enabled with caution.
378Users with the ability to bypass file permissions on the remote host
379(for the agent's Unix-domain socket)
380can access the local agent through the forwarded connection.
381An attacker cannot obtain key material from the agent,
d03f4262 382however they can perform operations on the keys that enable them to
383authenticate using the identities loaded into the agent.
884dc78b 384.It Cm ForwardX11
385Specifies whether X11 connections will be automatically redirected
386over the secure channel and
387.Ev DISPLAY
388set.
389The argument must be
390.Dq yes
391or
392.Dq no .
393The default is
394.Dq no .
d03f4262 395.Pp
bfe49944 396X11 forwarding should be enabled with caution.
397Users with the ability to bypass file permissions on the remote host
540d72c3 398(for the user's X11 authorization database)
bfe49944 399can access the local X11 display through the forwarded connection.
540d72c3 400An attacker may then be able to perform activities such as keystroke monitoring
401if the
402.Cm ForwardX11Trusted
403option is also enabled.
404.It Cm ForwardX11Trusted
7e82606e 405If this option is set to
540d72c3 406.Dq yes
407then remote X11 clients will have full access to the original X11 display.
dfddba3d 408.Pp
540d72c3 409If this option is set to
410.Dq no
411then remote X11 clients will be considered untrusted and prevented
412from stealing or tampering with data belonging to trusted X11
413clients.
dfddba3d 414Furthermore, the
415.Xr xauth 1
416token used for the session will be set to expire after 20 minutes.
417Remote clients will be refused access after this time.
540d72c3 418.Pp
419The default is
420.Dq no .
421.Pp
422See the X11 SECURITY extension specification for full details on
423the restrictions imposed on untrusted clients.
884dc78b 424.It Cm GatewayPorts
425Specifies whether remote hosts are allowed to connect to local
426forwarded ports.
427By default,
428.Nm ssh
bfe49944 429binds local port forwardings to the loopback address.
430This prevents other remote hosts from connecting to forwarded ports.
884dc78b 431.Cm GatewayPorts
432can be used to specify that
433.Nm ssh
434should bind local port forwardings to the wildcard address,
435thus allowing remote hosts to connect to forwarded ports.
436The argument must be
437.Dq yes
438or
439.Dq no .
440The default is
441.Dq no .
442.It Cm GlobalKnownHostsFile
443Specifies a file to use for the global
444host key database instead of
445.Pa /etc/ssh/ssh_known_hosts .
7cac2b65 446.It Cm GSSAPIAuthentication
540d72c3 447Specifies whether user authentication based on GSSAPI is allowed.
44a053a3 448The default is
449.Dq yes .
85740ad2 450Note that this option applies to protocol version 2 only.
7cac2b65 451.It Cm GSSAPIKeyExchange
7a056ed1 452Specifies whether key exchange based on GSSAPI may be used. When using
453GSSAPI key exchange the server need not have a host key.
454The default is
455.Dq yes .
85740ad2 456Note that this option applies to protocol version 2 only.
7cac2b65 457.It Cm GSSAPIDelegateCredentials
85740ad2 458Forward (delegate) credentials to the server.
44a053a3 459The default is
460.Dq yes .
85740ad2 461Note that this option applies to protocol version 2 only.
fe4ad273 462.It Cm GSSAPITrustDns
463Set to
464.Dq yes to indicate that the DNS is trusted to securely canonicalize
465the name of the host being connected to. If
466.Dq no, the hostname entered on the
467command line will be passed untouched to the GSSAPI library.
468The default is
469.Dq yes .
470This option only applies to protocol version 2 connections using GSSAPI
471key exchange.
dfddba3d 472.It Cm HashKnownHosts
473Indicates that
474.Nm ssh
475should hash host names and addresses when they are added to
2ce0bfe4 476.Pa ~/.ssh/known_hosts .
dfddba3d 477These hashed names may be used normally by
478.Nm ssh
479and
480.Nm sshd ,
481but they do not reveal identifying information should the file's contents
482be disclosed.
483The default is
484.Dq no .
485Note that hashing of names and addresses will not be retrospectively applied
486to existing known hosts files, but these may be manually hashed using
487.Xr ssh-keygen 1 .
884dc78b 488.It Cm HostbasedAuthentication
489Specifies whether to try rhosts based authentication with public key
490authentication.
491The argument must be
492.Dq yes
493or
494.Dq no .
495The default is
496.Dq no .
497This option applies to protocol version 2 only and
498is similar to
499.Cm RhostsRSAAuthentication .
500.It Cm HostKeyAlgorithms
501Specifies the protocol version 2 host key algorithms
502that the client wants to use in order of preference.
503The default for this option is:
504.Dq ssh-rsa,ssh-dss .
505.It Cm HostKeyAlias
506Specifies an alias that should be used instead of the
507real host name when looking up or saving the host key
508in the host key database files.
509This option is useful for tunneling ssh connections
510or for multiple servers running on a single host.
511.It Cm HostName
512Specifies the real host name to log into.
513This can be used to specify nicknames or abbreviations for hosts.
514Default is the name given on the command line.
515Numeric IP addresses are also permitted (both on the command line and in
516.Cm HostName
517specifications).
518.It Cm IdentityFile
519Specifies a file from which the user's RSA or DSA authentication identity
7cac2b65 520is read.
521The default is
2ce0bfe4 522.Pa ~/.ssh/identity
884dc78b 523for protocol version 1, and
2ce0bfe4 524.Pa ~/.ssh/id_rsa
884dc78b 525and
2ce0bfe4 526.Pa ~/.ssh/id_dsa
884dc78b 527for protocol version 2.
528Additionally, any identities represented by the authentication agent
529will be used for authentication.
530The file name may use the tilde
531syntax to refer to a user's home directory.
532It is possible to have
533multiple identity files specified in configuration files; all these
534identities will be tried in sequence.
12a403af 535.It Cm IdentitiesOnly
536Specifies that
537.Nm ssh
538should only use the authentication identity files configured in the
7e82606e 539.Nm
12a403af 540files,
541even if the
542.Nm ssh-agent
543offers more identities.
544The argument to this keyword must be
545.Dq yes
546or
547.Dq no .
548This option is intented for situations where
549.Nm ssh-agent
550offers many different identities.
551The default is
552.Dq no .
dfddba3d 553.It Cm KbdInteractiveDevices
554Specifies the list of methods to use in keyboard-interactive authentication.
555Multiple method names must be comma-separated.
556The default is to use the server specified list.
884dc78b 557.It Cm LocalForward
558Specifies that a TCP/IP port on the local machine be forwarded over
559the secure channel to the specified host and port from the remote machine.
8b32eddc 560The first argument must be
dfddba3d 561.Sm off
8b32eddc 562.Oo Ar bind_address : Oc Ar port
dfddba3d 563.Sm on
8b32eddc 564and the second argument must be
565.Ar host : Ns Ar hostport .
dfddba3d 566IPv6 addresses can be specified by enclosing addresses in square brackets or
567by using an alternative syntax:
8b32eddc 568.Oo Ar bind_address Ns / Oc Ns Ar port
569and
570.Ar host Ns / Ns Ar hostport .
dfddba3d 571Multiple forwardings may be specified, and additional forwardings can be
572given on the command line.
884dc78b 573Only the superuser can forward privileged ports.
dfddba3d 574By default, the local port is bound in accordance with the
575.Cm GatewayPorts
576setting.
577However, an explicit
578.Ar bind_address
579may be used to bind the connection to a specific address.
580The
581.Ar bind_address
582of
583.Dq localhost
584indicates that the listening port be bound for local use only, while an
585empty address or
586.Sq *
587indicates that the port should be available from all interfaces.
884dc78b 588.It Cm LogLevel
589Gives the verbosity level that is used when logging messages from
590.Nm ssh .
591The possible values are:
592QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.
bfe49944 593The default is INFO.
594DEBUG and DEBUG1 are equivalent.
595DEBUG2 and DEBUG3 each specify higher levels of verbose output.
884dc78b 596.It Cm MACs
597Specifies the MAC (message authentication code) algorithms
598in order of preference.
599The MAC algorithm is used in protocol version 2
600for data integrity protection.
601Multiple algorithms must be comma-separated.
602The default is
603.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
604.It Cm NoHostAuthenticationForLocalhost
605This option can be used if the home directory is shared across machines.
606In this case localhost will refer to a different machine on each of
607the machines and the user will get many warnings about changed host keys.
608However, this option disables host authentication for localhost.
609The argument to this keyword must be
610.Dq yes
611or
612.Dq no .
613The default is to check the host key for localhost.
614.It Cm NumberOfPasswordPrompts
615Specifies the number of password prompts before giving up.
616The argument to this keyword must be an integer.
617Default is 3.
618.It Cm PasswordAuthentication
619Specifies whether to use password authentication.
620The argument to this keyword must be
621.Dq yes
622or
623.Dq no .
624The default is
625.Dq yes .
626.It Cm Port
627Specifies the port number to connect on the remote host.
628Default is 22.
629.It Cm PreferredAuthentications
630Specifies the order in which the client should try protocol 2
7cac2b65 631authentication methods.
8b32eddc 632This allows a client to prefer one method (e.g.\&
884dc78b 633.Cm keyboard-interactive )
8b32eddc 634over another method (e.g.\&
884dc78b 635.Cm password )
636The default for this option is:
fe4ad273 637.Dq publickey,gssapi-keyex,external-keyx,gssapi-with-mic,gssapi,password,keyboard-interactive .
884dc78b 638.It Cm Protocol
639Specifies the protocol versions
640.Nm ssh
641should support in order of preference.
642The possible values are
643.Dq 1
644and
645.Dq 2 .
646Multiple versions must be comma-separated.
647The default is
648.Dq 2,1 .
649This means that
650.Nm ssh
651tries version 2 and falls back to version 1
652if version 2 is not available.
653.It Cm ProxyCommand
654Specifies the command to use to connect to the server.
655The command
656string extends to the end of the line, and is executed with
657.Pa /bin/sh .
658In the command string,
659.Ql %h
660will be substituted by the host name to
661connect and
662.Ql %p
663by the port.
664The command can be basically anything,
665and should read from its standard input and write to its standard output.
666It should eventually connect an
667.Xr sshd 8
668server running on some machine, or execute
669.Ic sshd -i
670somewhere.
671Host key management will be done using the
672HostName of the host being connected (defaulting to the name typed by
673the user).
bfe49944 674Setting the command to
675.Dq none
676disables this option entirely.
884dc78b 677Note that
678.Cm CheckHostIP
679is not available for connects with a proxy command.
680.Pp
2ce0bfe4 681This directive is useful in conjunction with
682.Xr nc 1
683and its proxy support.
684For example, the following directive would connect via an HTTP proxy at
685192.0.2.0:
686.Bd -literal -offset 3n
687ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
688.Ed
884dc78b 689.It Cm PubkeyAuthentication
690Specifies whether to try public key authentication.
691The argument to this keyword must be
692.Dq yes
693or
694.Dq no .
695The default is
696.Dq yes .
697This option applies to protocol version 2 only.
698.It Cm RemoteForward
699Specifies that a TCP/IP port on the remote machine be forwarded over
700the secure channel to the specified host and port from the local machine.
8b32eddc 701The first argument must be
dfddba3d 702.Sm off
8b32eddc 703.Oo Ar bind_address : Oc Ar port
dfddba3d 704.Sm on
8b32eddc 705and the second argument must be
706.Ar host : Ns Ar hostport .
707IPv6 addresses can be specified by enclosing addresses in square brackets
708or by using an alternative syntax:
709.Oo Ar bind_address Ns / Oc Ns Ar port
710and
711.Ar host Ns / Ns Ar hostport .
884dc78b 712Multiple forwardings may be specified, and additional
713forwardings can be given on the command line.
714Only the superuser can forward privileged ports.
dfddba3d 715.Pp
716If the
717.Ar bind_address
718is not specified, the default is to only bind to loopback addresses.
719If the
720.Ar bind_address
721is
722.Ql *
723or an empty string, then the forwarding is requested to listen on all
724interfaces.
725Specifying a remote
726.Ar bind_address
727will only succeed if the server's
728.Cm GatewayPorts
729option is enabled (see
730.Xr sshd_config 5 ) .
884dc78b 731.It Cm RhostsRSAAuthentication
732Specifies whether to try rhosts based authentication with RSA host
733authentication.
734The argument must be
735.Dq yes
736or
737.Dq no .
738The default is
739.Dq no .
740This option applies to protocol version 1 only and requires
741.Nm ssh
742to be setuid root.
743.It Cm RSAAuthentication
744Specifies whether to try RSA authentication.
745The argument to this keyword must be
746.Dq yes
747or
748.Dq no .
749RSA authentication will only be
750attempted if the identity file exists, or an authentication agent is
751running.
752The default is
753.Dq yes .
754Note that this option applies to protocol version 1 only.
7e82606e 755.It Cm SendEnv
756Specifies what variables from the local
757.Xr environ 7
758should be sent to the server.
759Note that environment passing is only supported for protocol 2, the
760server must also support it, and the server must be configured to
761accept these environment variables.
762Refer to
763.Cm AcceptEnv
764in
765.Xr sshd_config 5
766for how to configure the server.
767Variables are specified by name, which may contain the wildcard characters
768.Ql \&*
769and
770.Ql \&? .
771Multiple environment variables may be separated by whitespace or spread
772across multiple
773.Cm SendEnv
774directives.
775The default is not to send any environment variables.
540d72c3 776.It Cm ServerAliveInterval
777Sets a timeout interval in seconds after which if no data has been received
778from the server,
779.Nm ssh
780will send a message through the encrypted
781channel to request a response from the server.
782The default
783is 0, indicating that these messages will not be sent to the server.
784This option applies to protocol version 2 only.
785.It Cm ServerAliveCountMax
786Sets the number of server alive messages (see above) which may be
787sent without
788.Nm ssh
789receiving any messages back from the server.
790If this threshold is reached while server alive messages are being sent,
791.Nm ssh
792will disconnect from the server, terminating the session.
793It is important to note that the use of server alive messages is very
794different from
795.Cm TCPKeepAlive
796(below).
797The server alive messages are sent through the encrypted channel
798and therefore will not be spoofable.
799The TCP keepalive option enabled by
800.Cm TCPKeepAlive
801is spoofable.
802The server alive mechanism is valuable when the client or
803server depend on knowing when a connection has become inactive.
804.Pp
805The default value is 3.
806If, for example,
807.Cm ServerAliveInterval
808(above) is set to 15, and
809.Cm ServerAliveCountMax
810is left at the default, if the server becomes unresponsive ssh
811will disconnect after approximately 45 seconds.
884dc78b 812.It Cm SmartcardDevice
7cac2b65 813Specifies which smartcard device to use.
814The argument to this keyword is the device
884dc78b 815.Nm ssh
816should use to communicate with a smartcard used for storing the user's
7cac2b65 817private RSA key.
818By default, no device is specified and smartcard support is not activated.
884dc78b 819.It Cm StrictHostKeyChecking
820If this flag is set to
821.Dq yes ,
822.Nm ssh
823will never automatically add host keys to the
2ce0bfe4 824.Pa ~/.ssh/known_hosts
884dc78b 825file, and refuses to connect to hosts whose host key has changed.
826This provides maximum protection against trojan horse attacks,
827however, can be annoying when the
828.Pa /etc/ssh/ssh_known_hosts
829file is poorly maintained, or connections to new hosts are
830frequently made.
831This option forces the user to manually
832add all new hosts.
833If this flag is set to
834.Dq no ,
835.Nm ssh
836will automatically add new host keys to the
837user known hosts files.
838If this flag is set to
839.Dq ask ,
840new host keys
841will be added to the user known host files only after the user
842has confirmed that is what they really want to do, and
843.Nm ssh
844will refuse to connect to hosts whose host key has changed.
845The host keys of
846known hosts will be verified automatically in all cases.
847The argument must be
848.Dq yes ,
849.Dq no
850or
851.Dq ask .
852The default is
853.Dq ask .
540d72c3 854.It Cm TCPKeepAlive
855Specifies whether the system should send TCP keepalive messages to the
856other side.
857If they are sent, death of the connection or crash of one
858of the machines will be properly noticed.
859However, this means that
860connections will die if the route is down temporarily, and some people
861find it annoying.
862.Pp
863The default is
864.Dq yes
865(to send TCP keepalive messages), and the client will notice
866if the network goes down or the remote host dies.
867This is important in scripts, and many users want it too.
868.Pp
869To disable TCP keepalive messages, the value should be set to
870.Dq no .
884dc78b 871.It Cm UsePrivilegedPort
872Specifies whether to use a privileged port for outgoing connections.
873The argument must be
874.Dq yes
875or
876.Dq no .
877The default is
878.Dq no .
d03f4262 879If set to
880.Dq yes
881.Nm ssh
882must be setuid root.
884dc78b 883Note that this option must be set to
884.Dq yes
7cac2b65 885for
884dc78b 886.Cm RhostsRSAAuthentication
7cac2b65 887with older servers.
884dc78b 888.It Cm User
889Specifies the user to log in as.
890This can be useful when a different user name is used on different machines.
891This saves the trouble of
892having to remember to give the user name on the command line.
893.It Cm UserKnownHostsFile
894Specifies a file to use for the user
895host key database instead of
2ce0bfe4 896.Pa ~/.ssh/known_hosts .
7cac2b65 897.It Cm VerifyHostKeyDNS
898Specifies whether to verify the remote key using DNS and SSHFP resource
899records.
540d72c3 900If this option is set to
901.Dq yes ,
902the client will implicitly trust keys that match a secure fingerprint
903from DNS.
904Insecure fingerprints will be handled as if this option was set to
905.Dq ask .
906If this option is set to
907.Dq ask ,
908information on fingerprint match will be displayed, but the user will still
909need to confirm new host keys according to the
910.Cm StrictHostKeyChecking
911option.
912The argument must be
913.Dq yes ,
914.Dq no
915or
916.Dq ask .
7cac2b65 917The default is
918.Dq no .
919Note that this option applies to protocol version 2 only.
884dc78b 920.It Cm XAuthLocation
d03f4262 921Specifies the full pathname of the
884dc78b 922.Xr xauth 1
923program.
924The default is
925.Pa /usr/X11R6/bin/xauth .
926.El
927.Sh FILES
928.Bl -tag -width Ds
2ce0bfe4 929.It Pa ~/.ssh/config
884dc78b 930This is the per-user configuration file.
931The format of this file is described above.
932This file is used by the
933.Nm ssh
934client.
7e82606e 935Because of the potential for abuse, this file must have strict permissions:
936read/write for the user, and not accessible by others.
884dc78b 937.It Pa /etc/ssh/ssh_config
938Systemwide configuration file.
939This file provides defaults for those
940values that are not specified in the user's configuration file, and
941for those users who do not have a configuration file.
942This file must be world-readable.
943.El
7cac2b65 944.Sh SEE ALSO
945.Xr ssh 1
884dc78b 946.Sh AUTHORS
947OpenSSH is a derivative of the original and free
948ssh 1.2.12 release by Tatu Ylonen.
949Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
950Theo de Raadt and Dug Song
951removed many bugs, re-added newer features and
952created OpenSSH.
953Markus Friedl contributed the support for SSH
954protocol versions 1.5 and 2.0.
This page took 0.574317 seconds and 5 git commands to generate.