]> 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.\"
08822d99 37.\" $OpenBSD: ssh_config.5,v 1.76 2006/01/20 11:21:45 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).
08822d99 272These sessions will try to reuse the master instance's network connection
273rather than initiating new ones, but will fall back to connecting normally
274if the control socket does not exist, or is not listening.
275.Pp
7e82606e 276Setting this to
277.Dq ask
278will cause
279.Nm ssh
280to listen for control connections, but require confirmation using the
281.Ev SSH_ASKPASS
282program before they are accepted (see
283.Xr ssh-add 1
284for details).
2ce0bfe4 285If the
286.Cm ControlPath
287can not be opened,
288.Nm ssh
289will continue without connecting to a master instance.
290.Pp
291X11 and
292.Xr ssh-agent 1
293forwarding is supported over these multiplexed connections, however the
08822d99 294display and agent forwarded will be the one belonging to the master
2ce0bfe4 295connection i.e. it is not possible to forward multiple displays or agents.
296.Pp
297Two additional options allow for opportunistic multiplexing: try to use a
298master connection but fall back to creating a new one if one does not already
299exist.
300These options are:
301.Dq auto
302and
303.Dq autoask .
304The latter requires confirmation like the
305.Dq ask
306option.
7e82606e 307.It Cm ControlPath
2ce0bfe4 308Specify the path to the control socket used for connection sharing as described
309in the
7e82606e 310.Cm ControlMaster
2ce0bfe4 311section above or the string
312.Dq none
313to disable connection sharing.
314In the path,
315.Ql %h
316will be substituted by the target host name,
317.Ql %p
318the port and
319.Ql %r
320by the remote login username.
321It is recommended that any
322.Cm ControlPath
323used for opportunistic connection sharing include
324all three of these escape sequences.
325This ensures that shared connections are uniquely identified.
884dc78b 326.It Cm DynamicForward
08822d99 327Specifies that a TCP port on the local machine be forwarded
884dc78b 328over the secure channel, and the application
329protocol is then used to determine where to connect to from the
bfe49944 330remote machine.
08822d99 331.Pp
332The argument must be
333.Sm off
334.Oo Ar bind_address : Oc Ar port .
335.Sm on
336IPv6 addresses can be specified by enclosing addresses in square brackets or
337by using an alternative syntax:
338.Oo Ar bind_address Ns / Oc Ns Ar port .
339By default, the local port is bound in accordance with the
340.Cm GatewayPorts
341setting.
342However, an explicit
343.Ar bind_address
344may be used to bind the connection to a specific address.
345The
346.Ar bind_address
347of
348.Dq localhost
349indicates that the listening port be bound for local use only, while an
350empty address or
351.Sq *
352indicates that the port should be available from all interfaces.
353.Pp
7cac2b65 354Currently the SOCKS4 and SOCKS5 protocols are supported, and
884dc78b 355.Nm ssh
7cac2b65 356will act as a SOCKS server.
884dc78b 357Multiple forwardings may be specified, and
bfe49944 358additional forwardings can be given on the command line.
359Only the superuser can forward privileged ports.
7cac2b65 360.It Cm EnableSSHKeysign
361Setting this option to
362.Dq yes
363in the global client configuration file
364.Pa /etc/ssh/ssh_config
365enables the use of the helper program
366.Xr ssh-keysign 8
367during
368.Cm HostbasedAuthentication .
369The argument must be
370.Dq yes
371or
372.Dq no .
373The default is
374.Dq no .
540d72c3 375This option should be placed in the non-hostspecific section.
7cac2b65 376See
377.Xr ssh-keysign 8
378for more information.
884dc78b 379.It Cm EscapeChar
380Sets the escape character (default:
381.Ql ~ ) .
382The escape character can also
383be set on the command line.
384The argument should be a single character,
385.Ql ^
386followed by a letter, or
387.Dq none
388to disable the escape
389character entirely (making the connection transparent for binary
390data).
391.It Cm ForwardAgent
392Specifies whether the connection to the authentication agent (if any)
393will be forwarded to the remote machine.
394The argument must be
395.Dq yes
396or
397.Dq no .
398The default is
399.Dq no .
d03f4262 400.Pp
bfe49944 401Agent forwarding should be enabled with caution.
402Users with the ability to bypass file permissions on the remote host
403(for the agent's Unix-domain socket)
404can access the local agent through the forwarded connection.
405An attacker cannot obtain key material from the agent,
d03f4262 406however they can perform operations on the keys that enable them to
407authenticate using the identities loaded into the agent.
884dc78b 408.It Cm ForwardX11
409Specifies whether X11 connections will be automatically redirected
410over the secure channel and
411.Ev DISPLAY
412set.
413The argument must be
414.Dq yes
415or
416.Dq no .
417The default is
418.Dq no .
d03f4262 419.Pp
bfe49944 420X11 forwarding should be enabled with caution.
421Users with the ability to bypass file permissions on the remote host
540d72c3 422(for the user's X11 authorization database)
bfe49944 423can access the local X11 display through the forwarded connection.
540d72c3 424An attacker may then be able to perform activities such as keystroke monitoring
425if the
426.Cm ForwardX11Trusted
427option is also enabled.
428.It Cm ForwardX11Trusted
7e82606e 429If this option is set to
540d72c3 430.Dq yes
431then remote X11 clients will have full access to the original X11 display.
dfddba3d 432.Pp
540d72c3 433If this option is set to
434.Dq no
435then remote X11 clients will be considered untrusted and prevented
436from stealing or tampering with data belonging to trusted X11
437clients.
dfddba3d 438Furthermore, the
439.Xr xauth 1
440token used for the session will be set to expire after 20 minutes.
441Remote clients will be refused access after this time.
540d72c3 442.Pp
443The default is
444.Dq no .
445.Pp
446See the X11 SECURITY extension specification for full details on
447the restrictions imposed on untrusted clients.
884dc78b 448.It Cm GatewayPorts
449Specifies whether remote hosts are allowed to connect to local
450forwarded ports.
451By default,
452.Nm ssh
bfe49944 453binds local port forwardings to the loopback address.
454This prevents other remote hosts from connecting to forwarded ports.
884dc78b 455.Cm GatewayPorts
456can be used to specify that
457.Nm ssh
458should bind local port forwardings to the wildcard address,
459thus allowing remote hosts to connect to forwarded ports.
460The argument must be
461.Dq yes
462or
463.Dq no .
464The default is
465.Dq no .
466.It Cm GlobalKnownHostsFile
467Specifies a file to use for the global
468host key database instead of
469.Pa /etc/ssh/ssh_known_hosts .
7cac2b65 470.It Cm GSSAPIAuthentication
540d72c3 471Specifies whether user authentication based on GSSAPI is allowed.
44a053a3 472The default is
473.Dq yes .
85740ad2 474Note that this option applies to protocol version 2 only.
7cac2b65 475.It Cm GSSAPIKeyExchange
7a056ed1 476Specifies whether key exchange based on GSSAPI may be used. When using
477GSSAPI key exchange the server need not have a host key.
478The default is
479.Dq yes .
85740ad2 480Note that this option applies to protocol version 2 only.
7cac2b65 481.It Cm GSSAPIDelegateCredentials
85740ad2 482Forward (delegate) credentials to the server.
44a053a3 483The default is
484.Dq yes .
85740ad2 485Note that this option applies to protocol version 2 only.
fe4ad273 486.It Cm GSSAPITrustDns
487Set to
488.Dq yes to indicate that the DNS is trusted to securely canonicalize
489the name of the host being connected to. If
490.Dq no, the hostname entered on the
491command line will be passed untouched to the GSSAPI library.
492The default is
493.Dq yes .
494This option only applies to protocol version 2 connections using GSSAPI
495key exchange.
dfddba3d 496.It Cm HashKnownHosts
497Indicates that
498.Nm ssh
499should hash host names and addresses when they are added to
2ce0bfe4 500.Pa ~/.ssh/known_hosts .
dfddba3d 501These hashed names may be used normally by
502.Nm ssh
503and
504.Nm sshd ,
505but they do not reveal identifying information should the file's contents
506be disclosed.
507The default is
508.Dq no .
509Note that hashing of names and addresses will not be retrospectively applied
510to existing known hosts files, but these may be manually hashed using
511.Xr ssh-keygen 1 .
884dc78b 512.It Cm HostbasedAuthentication
513Specifies whether to try rhosts based authentication with public key
514authentication.
515The argument must be
516.Dq yes
517or
518.Dq no .
519The default is
520.Dq no .
521This option applies to protocol version 2 only and
522is similar to
523.Cm RhostsRSAAuthentication .
524.It Cm HostKeyAlgorithms
525Specifies the protocol version 2 host key algorithms
526that the client wants to use in order of preference.
527The default for this option is:
528.Dq ssh-rsa,ssh-dss .
529.It Cm HostKeyAlias
530Specifies an alias that should be used instead of the
531real host name when looking up or saving the host key
532in the host key database files.
533This option is useful for tunneling ssh connections
534or for multiple servers running on a single host.
535.It Cm HostName
536Specifies the real host name to log into.
537This can be used to specify nicknames or abbreviations for hosts.
538Default is the name given on the command line.
539Numeric IP addresses are also permitted (both on the command line and in
540.Cm HostName
541specifications).
12a403af 542.It Cm IdentitiesOnly
543Specifies that
544.Nm ssh
545should only use the authentication identity files configured in the
7e82606e 546.Nm
12a403af 547files,
548even if the
549.Nm ssh-agent
550offers more identities.
551The argument to this keyword must be
552.Dq yes
553or
554.Dq no .
08822d99 555This option is intended for situations where
12a403af 556.Nm ssh-agent
557offers many different identities.
558The default is
559.Dq no .
08822d99 560.It Cm IdentityFile
561Specifies a file from which the user's RSA or DSA authentication identity
562is read.
563The default is
564.Pa ~/.ssh/identity
565for protocol version 1, and
566.Pa ~/.ssh/id_rsa
567and
568.Pa ~/.ssh/id_dsa
569for protocol version 2.
570Additionally, any identities represented by the authentication agent
571will be used for authentication.
572The file name may use the tilde
573syntax to refer to a user's home directory.
574It is possible to have
575multiple identity files specified in configuration files; all these
576identities will be tried in sequence.
dfddba3d 577.It Cm KbdInteractiveDevices
578Specifies the list of methods to use in keyboard-interactive authentication.
579Multiple method names must be comma-separated.
580The default is to use the server specified list.
08822d99 581.It Cm LocalCommand
582Specifies a command to execute on the local machine after successfully
583connecting to the server.
584The command string extends to the end of the line, and is executed with
585.Pa /bin/sh .
586This directive is ignored unless
587.Cm PermitLocalCommand
588has been enabled.
884dc78b 589.It Cm LocalForward
08822d99 590Specifies that a TCP port on the local machine be forwarded over
884dc78b 591the secure channel to the specified host and port from the remote machine.
8b32eddc 592The first argument must be
dfddba3d 593.Sm off
8b32eddc 594.Oo Ar bind_address : Oc Ar port
dfddba3d 595.Sm on
8b32eddc 596and the second argument must be
597.Ar host : Ns Ar hostport .
dfddba3d 598IPv6 addresses can be specified by enclosing addresses in square brackets or
599by using an alternative syntax:
8b32eddc 600.Oo Ar bind_address Ns / Oc Ns Ar port
601and
602.Ar host Ns / Ns Ar hostport .
dfddba3d 603Multiple forwardings may be specified, and additional forwardings can be
604given on the command line.
884dc78b 605Only the superuser can forward privileged ports.
dfddba3d 606By default, the local port is bound in accordance with the
607.Cm GatewayPorts
608setting.
609However, an explicit
610.Ar bind_address
611may be used to bind the connection to a specific address.
612The
613.Ar bind_address
614of
615.Dq localhost
616indicates that the listening port be bound for local use only, while an
617empty address or
618.Sq *
619indicates that the port should be available from all interfaces.
884dc78b 620.It Cm LogLevel
621Gives the verbosity level that is used when logging messages from
622.Nm ssh .
623The possible values are:
624QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.
bfe49944 625The default is INFO.
626DEBUG and DEBUG1 are equivalent.
627DEBUG2 and DEBUG3 each specify higher levels of verbose output.
884dc78b 628.It Cm MACs
629Specifies the MAC (message authentication code) algorithms
630in order of preference.
631The MAC algorithm is used in protocol version 2
632for data integrity protection.
633Multiple algorithms must be comma-separated.
634The default is
635.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
636.It Cm NoHostAuthenticationForLocalhost
637This option can be used if the home directory is shared across machines.
638In this case localhost will refer to a different machine on each of
639the machines and the user will get many warnings about changed host keys.
640However, this option disables host authentication for localhost.
641The argument to this keyword must be
642.Dq yes
643or
644.Dq no .
645The default is to check the host key for localhost.
646.It Cm NumberOfPasswordPrompts
647Specifies the number of password prompts before giving up.
648The argument to this keyword must be an integer.
649Default is 3.
650.It Cm PasswordAuthentication
651Specifies whether to use password authentication.
652The argument to this keyword must be
653.Dq yes
654or
655.Dq no .
656The default is
657.Dq yes .
08822d99 658.It Cm PermitLocalCommand
659Allow local command execution via the
660.Ic LocalCommand
661option or using the
662.Ic !\& Ns Ar command
663escape sequence in
664.Xr ssh 1 .
665The argument must be
666.Dq yes
667or
668.Dq no .
669The default is
670.Dq no .
884dc78b 671.It Cm Port
672Specifies the port number to connect on the remote host.
673Default is 22.
674.It Cm PreferredAuthentications
675Specifies the order in which the client should try protocol 2
7cac2b65 676authentication methods.
8b32eddc 677This allows a client to prefer one method (e.g.\&
884dc78b 678.Cm keyboard-interactive )
8b32eddc 679over another method (e.g.\&
884dc78b 680.Cm password )
681The default for this option is:
fe4ad273 682.Dq publickey,gssapi-keyex,external-keyx,gssapi-with-mic,gssapi,password,keyboard-interactive .
884dc78b 683.It Cm Protocol
684Specifies the protocol versions
685.Nm ssh
686should support in order of preference.
687The possible values are
688.Dq 1
689and
690.Dq 2 .
691Multiple versions must be comma-separated.
692The default is
693.Dq 2,1 .
694This means that
695.Nm ssh
696tries version 2 and falls back to version 1
697if version 2 is not available.
698.It Cm ProxyCommand
699Specifies the command to use to connect to the server.
700The command
701string extends to the end of the line, and is executed with
702.Pa /bin/sh .
703In the command string,
704.Ql %h
705will be substituted by the host name to
706connect and
707.Ql %p
708by the port.
709The command can be basically anything,
710and should read from its standard input and write to its standard output.
711It should eventually connect an
712.Xr sshd 8
713server running on some machine, or execute
714.Ic sshd -i
715somewhere.
716Host key management will be done using the
717HostName of the host being connected (defaulting to the name typed by
718the user).
bfe49944 719Setting the command to
720.Dq none
721disables this option entirely.
884dc78b 722Note that
723.Cm CheckHostIP
724is not available for connects with a proxy command.
725.Pp
2ce0bfe4 726This directive is useful in conjunction with
727.Xr nc 1
728and its proxy support.
729For example, the following directive would connect via an HTTP proxy at
730192.0.2.0:
731.Bd -literal -offset 3n
732ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
733.Ed
884dc78b 734.It Cm PubkeyAuthentication
735Specifies whether to try public key authentication.
736The argument to this keyword must be
737.Dq yes
738or
739.Dq no .
740The default is
741.Dq yes .
742This option applies to protocol version 2 only.
08822d99 743.It Cm RekeyLimit
744Specifies the maximum amount of data that may be transmitted before the
745session key is renegotiated.
746The argument is the number of bytes, with an optional suffix of
747.Sq K ,
748.Sq M ,
749or
750.Sq G
751to indicate Kilobytes, Megabytes, or Gigabytes, respectively.
752The default is between
753.Dq 1G
754and
755.Dq 4G ,
756depending on the cipher.
757This option applies to protocol version 2 only.
884dc78b 758.It Cm RemoteForward
08822d99 759Specifies that a TCP port on the remote machine be forwarded over
884dc78b 760the secure channel to the specified host and port from the local machine.
8b32eddc 761The first argument must be
dfddba3d 762.Sm off
8b32eddc 763.Oo Ar bind_address : Oc Ar port
dfddba3d 764.Sm on
8b32eddc 765and the second argument must be
766.Ar host : Ns Ar hostport .
767IPv6 addresses can be specified by enclosing addresses in square brackets
768or by using an alternative syntax:
769.Oo Ar bind_address Ns / Oc Ns Ar port
770and
771.Ar host Ns / Ns Ar hostport .
884dc78b 772Multiple forwardings may be specified, and additional
773forwardings can be given on the command line.
774Only the superuser can forward privileged ports.
dfddba3d 775.Pp
776If the
777.Ar bind_address
778is not specified, the default is to only bind to loopback addresses.
779If the
780.Ar bind_address
781is
782.Ql *
783or an empty string, then the forwarding is requested to listen on all
784interfaces.
785Specifying a remote
786.Ar bind_address
787will only succeed if the server's
788.Cm GatewayPorts
789option is enabled (see
790.Xr sshd_config 5 ) .
884dc78b 791.It Cm RhostsRSAAuthentication
792Specifies whether to try rhosts based authentication with RSA host
793authentication.
794The argument must be
795.Dq yes
796or
797.Dq no .
798The default is
799.Dq no .
800This option applies to protocol version 1 only and requires
801.Nm ssh
802to be setuid root.
803.It Cm RSAAuthentication
804Specifies whether to try RSA authentication.
805The argument to this keyword must be
806.Dq yes
807or
808.Dq no .
809RSA authentication will only be
810attempted if the identity file exists, or an authentication agent is
811running.
812The default is
813.Dq yes .
814Note that this option applies to protocol version 1 only.
7e82606e 815.It Cm SendEnv
816Specifies what variables from the local
817.Xr environ 7
818should be sent to the server.
819Note that environment passing is only supported for protocol 2, the
820server must also support it, and the server must be configured to
821accept these environment variables.
822Refer to
823.Cm AcceptEnv
824in
825.Xr sshd_config 5
826for how to configure the server.
827Variables are specified by name, which may contain the wildcard characters
828.Ql \&*
829and
830.Ql \&? .
831Multiple environment variables may be separated by whitespace or spread
832across multiple
833.Cm SendEnv
834directives.
835The default is not to send any environment variables.
540d72c3 836.It Cm ServerAliveCountMax
08822d99 837Sets the number of server alive messages (see below) which may be
540d72c3 838sent without
839.Nm ssh
840receiving any messages back from the server.
841If this threshold is reached while server alive messages are being sent,
842.Nm ssh
843will disconnect from the server, terminating the session.
844It is important to note that the use of server alive messages is very
845different from
846.Cm TCPKeepAlive
847(below).
848The server alive messages are sent through the encrypted channel
849and therefore will not be spoofable.
850The TCP keepalive option enabled by
851.Cm TCPKeepAlive
852is spoofable.
853The server alive mechanism is valuable when the client or
854server depend on knowing when a connection has become inactive.
855.Pp
856The default value is 3.
857If, for example,
858.Cm ServerAliveInterval
08822d99 859(see below) is set to 15, and
540d72c3 860.Cm ServerAliveCountMax
861is left at the default, if the server becomes unresponsive ssh
862will disconnect after approximately 45 seconds.
08822d99 863.It Cm ServerAliveInterval
864Sets a timeout interval in seconds after which if no data has been received
865from the server,
866.Nm ssh
867will send a message through the encrypted
868channel to request a response from the server.
869The default
870is 0, indicating that these messages will not be sent to the server.
871This option applies to protocol version 2 only.
884dc78b 872.It Cm SmartcardDevice
7cac2b65 873Specifies which smartcard device to use.
874The argument to this keyword is the device
884dc78b 875.Nm ssh
876should use to communicate with a smartcard used for storing the user's
7cac2b65 877private RSA key.
878By default, no device is specified and smartcard support is not activated.
884dc78b 879.It Cm StrictHostKeyChecking
880If this flag is set to
881.Dq yes ,
882.Nm ssh
883will never automatically add host keys to the
2ce0bfe4 884.Pa ~/.ssh/known_hosts
884dc78b 885file, and refuses to connect to hosts whose host key has changed.
886This provides maximum protection against trojan horse attacks,
887however, can be annoying when the
888.Pa /etc/ssh/ssh_known_hosts
889file is poorly maintained, or connections to new hosts are
890frequently made.
891This option forces the user to manually
892add all new hosts.
893If this flag is set to
894.Dq no ,
895.Nm ssh
896will automatically add new host keys to the
897user known hosts files.
898If this flag is set to
899.Dq ask ,
900new host keys
901will be added to the user known host files only after the user
902has confirmed that is what they really want to do, and
903.Nm ssh
904will refuse to connect to hosts whose host key has changed.
905The host keys of
906known hosts will be verified automatically in all cases.
907The argument must be
908.Dq yes ,
909.Dq no
910or
911.Dq ask .
912The default is
913.Dq ask .
540d72c3 914.It Cm TCPKeepAlive
915Specifies whether the system should send TCP keepalive messages to the
916other side.
917If they are sent, death of the connection or crash of one
918of the machines will be properly noticed.
919However, this means that
920connections will die if the route is down temporarily, and some people
921find it annoying.
922.Pp
923The default is
924.Dq yes
925(to send TCP keepalive messages), and the client will notice
926if the network goes down or the remote host dies.
927This is important in scripts, and many users want it too.
928.Pp
929To disable TCP keepalive messages, the value should be set to
930.Dq no .
08822d99 931.It Cm Tunnel
932Request starting
933.Xr tun 4
934device forwarding between the client and the server.
935This option also allows requesting layer 2 (ethernet)
936instead of layer 3 (point-to-point) tunneling from the server.
937The argument must be
938.Dq yes ,
939.Dq point-to-point ,
940.Dq ethernet
941or
942.Dq no .
943The default is
944.Dq no .
945.It Cm TunnelDevice
946Force a specified
947.Xr tun 4
948device on the client.
949Without this option, the next available device will be used.
884dc78b 950.It Cm UsePrivilegedPort
951Specifies whether to use a privileged port for outgoing connections.
952The argument must be
953.Dq yes
954or
955.Dq no .
956The default is
957.Dq no .
d03f4262 958If set to
959.Dq yes
960.Nm ssh
961must be setuid root.
884dc78b 962Note that this option must be set to
963.Dq yes
7cac2b65 964for
884dc78b 965.Cm RhostsRSAAuthentication
7cac2b65 966with older servers.
884dc78b 967.It Cm User
968Specifies the user to log in as.
969This can be useful when a different user name is used on different machines.
970This saves the trouble of
971having to remember to give the user name on the command line.
972.It Cm UserKnownHostsFile
973Specifies a file to use for the user
974host key database instead of
2ce0bfe4 975.Pa ~/.ssh/known_hosts .
7cac2b65 976.It Cm VerifyHostKeyDNS
977Specifies whether to verify the remote key using DNS and SSHFP resource
978records.
540d72c3 979If this option is set to
980.Dq yes ,
981the client will implicitly trust keys that match a secure fingerprint
982from DNS.
983Insecure fingerprints will be handled as if this option was set to
984.Dq ask .
985If this option is set to
986.Dq ask ,
987information on fingerprint match will be displayed, but the user will still
988need to confirm new host keys according to the
989.Cm StrictHostKeyChecking
990option.
991The argument must be
992.Dq yes ,
993.Dq no
994or
995.Dq ask .
7cac2b65 996The default is
997.Dq no .
998Note that this option applies to protocol version 2 only.
884dc78b 999.It Cm XAuthLocation
d03f4262 1000Specifies the full pathname of the
884dc78b 1001.Xr xauth 1
1002program.
1003The default is
1004.Pa /usr/X11R6/bin/xauth .
1005.El
1006.Sh FILES
1007.Bl -tag -width Ds
2ce0bfe4 1008.It Pa ~/.ssh/config
884dc78b 1009This is the per-user configuration file.
1010The format of this file is described above.
1011This file is used by the
1012.Nm ssh
1013client.
7e82606e 1014Because of the potential for abuse, this file must have strict permissions:
1015read/write for the user, and not accessible by others.
884dc78b 1016.It Pa /etc/ssh/ssh_config
1017Systemwide configuration file.
1018This file provides defaults for those
1019values that are not specified in the user's configuration file, and
1020for those users who do not have a configuration file.
1021This file must be world-readable.
1022.El
7cac2b65 1023.Sh SEE ALSO
1024.Xr ssh 1
884dc78b 1025.Sh AUTHORS
1026OpenSSH is a derivative of the original and free
1027ssh 1.2.12 release by Tatu Ylonen.
1028Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
1029Theo de Raadt and Dug Song
1030removed many bugs, re-added newer features and
1031created OpenSSH.
1032Markus Friedl contributed the support for SSH
1033protocol versions 1.5 and 2.0.
This page took 0.199792 seconds and 5 git commands to generate.