]> andersk Git - openssh.git/blame - ssh_config.5
- grunk@cvs.openbsd.org 2008/06/11 21:01:35
[openssh.git] / ssh_config.5
CommitLineData
588df31a 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.\"
aff73c5f 37.\" $OpenBSD: ssh_config.5,v 1.107 2008/06/11 21:01:35 grunk Exp $
e473dcd1 38.Dd $Mdocdate$
588df31a 39.Dt SSH_CONFIG 5
40.Os
41.Sh NAME
42.Nm ssh_config
43.Nd OpenSSH SSH client configuration files
44.Sh SYNOPSIS
5792fbb7 45.Nm ~/.ssh/config
46.Nm /etc/ssh/ssh_config
588df31a 47.Sh DESCRIPTION
c5786b30 48.Xr ssh 1
588df31a 49obtains configuration data from the following sources in
50the following order:
922f8f17 51.Pp
4dcbbeea 52.Bl -enum -offset indent -compact
53.It
54command-line options
55.It
56user's configuration file
140e3e97 57.Pq Pa ~/.ssh/config
4dcbbeea 58.It
59system-wide configuration file
60.Pq Pa /etc/ssh/ssh_config
61.El
588df31a 62.Pp
63For each parameter, the first obtained value
64will be used.
7034edae 65The configuration files contain sections separated by
588df31a 66.Dq Host
67specifications, and that section is only applied for hosts that
68match one of the patterns given in the specification.
69The matched host name is the one given on the command line.
70.Pp
71Since the first obtained value for each parameter is used, more
72host-specific declarations should be given near the beginning of the
73file, and general defaults at the end.
74.Pp
75The configuration file has the following format:
76.Pp
77Empty lines and lines starting with
78.Ql #
79are comments.
588df31a 80Otherwise a line is of the format
81.Dq keyword arguments .
82Configuration options may be separated by whitespace or
83optional whitespace and exactly one
84.Ql = ;
85the latter format is useful to avoid the need to quote whitespace
86when specifying configuration options using the
87.Nm ssh ,
c04ba6a6 88.Nm scp ,
588df31a 89and
90.Nm sftp
91.Fl o
92option.
533b9133 93Arguments may optionally be enclosed in double quotes
94.Pq \&"
95in order to represent arguments containing spaces.
588df31a 96.Pp
97The possible
98keywords and their meanings are as follows (note that
99keywords are case-insensitive and arguments are case-sensitive):
100.Bl -tag -width Ds
101.It Cm Host
102Restricts the following declarations (up to the next
103.Cm Host
104keyword) to be only for those hosts that match one of the patterns
105given after the keyword.
f6748d7b 106If more than one pattern is provided, they should be separated by whitepsace.
588df31a 107A single
f09ffbdb 108.Ql *
588df31a 109as a pattern can be used to provide global
110defaults for all hosts.
111The host is the
112.Ar hostname
f09ffbdb 113argument given on the command line (i.e. the name is not converted to
588df31a 114a canonicalized host name before matching).
436a5ff9 115.Pp
116See
117.Sx PATTERNS
118for more information on patterns.
f811e52a 119.It Cm AddressFamily
3cbc677d 120Specifies which address family to use when connecting.
121Valid arguments are
f811e52a 122.Dq any ,
123.Dq inet
c5786b30 124(use IPv4 only), or
f811e52a 125.Dq inet6
0d6cbe2c 126(use IPv6 only).
588df31a 127.It Cm BatchMode
128If set to
129.Dq yes ,
130passphrase/password querying will be disabled.
131This option is useful in scripts and other batch jobs where no user
132is present to supply the password.
133The argument must be
134.Dq yes
135or
136.Dq no .
137The default is
138.Dq no .
139.It Cm BindAddress
1a8521be 140Use the specified address on the local machine as the source address of
82b7531b 141the connection.
142Only useful on systems with more than one address.
588df31a 143Note that this option does not work if
144.Cm UsePrivilegedPort
145is set to
146.Dq yes .
147.It Cm ChallengeResponseAuthentication
340a4caf 148Specifies whether to use challenge-response authentication.
588df31a 149The argument to this keyword must be
150.Dq yes
151or
152.Dq no .
153The default is
154.Dq yes .
155.It Cm CheckHostIP
156If this flag is set to
157.Dq yes ,
c5786b30 158.Xr ssh 1
159will additionally check the host IP address in the
588df31a 160.Pa known_hosts
161file.
162This allows ssh to detect if a host key changed due to DNS spoofing.
163If the option is set to
aff73c5f 164.Dq fingerprint ,
165not only the host IP address will be checked, but also an ASCII art
166representation of the key will be printed.
167If the option is set to
588df31a 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
c5786b30 183.Xr ssh 1
588df31a 184client for interoperability with legacy protocol 1 implementations
185that do not support the
186.Ar 3des
a4e5acef 187cipher.
188Its use is strongly discouraged due to cryptographic weaknesses.
588df31a 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.
3b9baa7b 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 ,
74a66cc8 203.Dq arcfour128 ,
204.Dq arcfour256 ,
3b9baa7b 205.Dq arcfour ,
206.Dq blowfish-cbc ,
207and
208.Dq cast128-cbc .
c5786b30 209The default is:
210.Bd -literal -offset 3n
211aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,
212arcfour256,arcfour,aes192-cbc,aes256-cbc,aes128-ctr,
213aes192-ctr,aes256-ctr
588df31a 214.Ed
215.It Cm ClearAllForwardings
c5786b30 216Specifies that all local, remote, and dynamic port forwardings
588df31a 217specified in the configuration files or on the command line be
a4e5acef 218cleared.
219This option is primarily useful when used from the
c5786b30 220.Xr ssh 1
588df31a 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.
09ab3296 252.It Cm ConnectTimeout
c5786b30 253Specifies the timeout (in seconds) used when connecting to the
254SSH server, instead of using the default system TCP timeout.
3cbc677d 255This value is used only when the target is down or really unreachable,
256not when it refuses the connection.
5e96b616 257.It Cm ControlMaster
258Enables the sharing of multiple sessions over a single network connection.
259When set to
c5786b30 260.Dq yes ,
261.Xr ssh 1
5e96b616 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
9a5cfb58 271(the default).
db98627d 272These sessions will try to reuse the master instance's network connection
6b0b0d65 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
0d34d6ce 276Setting this to
277.Dq ask
c5786b30 278will cause ssh
0d34d6ce 279to listen for control connections, but require confirmation using the
280.Ev SSH_ASKPASS
281program before they are accepted (see
282.Xr ssh-add 1
9a5cfb58 283for details).
cc8ca1e6 284If the
285.Cm ControlPath
c5786b30 286cannot be opened,
287ssh will continue without connecting to a master instance.
9dfd96d6 288.Pp
ef07103c 289X11 and
d313869b 290.Xr ssh-agent 1
ef07103c 291forwarding is supported over these multiplexed connections, however the
8918b906 292display and agent forwarded will be the one belonging to the master
d313869b 293connection i.e. it is not possible to forward multiple displays or agents.
ef07103c 294.Pp
9dfd96d6 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.
5e96b616 305.It Cm ControlPath
a980cbd7 306Specify the path to the control socket used for connection sharing as described
307in the
5e96b616 308.Cm ControlMaster
699255b5 309section above or the string
310.Dq none
311to disable connection sharing.
a980cbd7 312In the path,
f7b8224d 313.Ql %l
314will be substituted by the local host name,
a980cbd7 315.Ql %h
316will be substituted by the target host name,
317.Ql %p
c5786b30 318the port, and
a980cbd7 319.Ql %r
320by the remote login username.
9dfd96d6 321It is recommended that any
322.Cm ControlPath
323used for opportunistic connection sharing include
5e7007ea 324at least %h, %p, and %r.
9dfd96d6 325This ensures that shared connections are uniquely identified.
9a5cfb58 326.It Cm DynamicForward
0b3950af 327Specifies that a TCP port on the local machine be forwarded
9a5cfb58 328over the secure channel, and the application
329protocol is then used to determine where to connect to from the
330remote machine.
5ddc5eb4 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
9a5cfb58 354Currently the SOCKS4 and SOCKS5 protocols are supported, and
c5786b30 355.Xr ssh 1
9a5cfb58 356will act as a SOCKS server.
357Multiple forwardings may be specified, and
358additional forwardings can be given on the command line.
359Only the superuser can forward privileged ports.
f0677b69 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 .
246bb171 375This option should be placed in the non-hostspecific section.
f0677b69 376See
377.Xr ssh-keysign 8
378for more information.
588df31a 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).
42ea6f5e 391.It Cm ExitOnForwardFailure
392Specifies whether
393.Xr ssh 1
394should terminate the connection if it cannot set up all requested
1ce8114b 395dynamic, tunnel, local, and remote port forwardings.
42ea6f5e 396The argument must be
397.Dq yes
398or
399.Dq no .
400The default is
401.Dq no .
588df31a 402.It Cm ForwardAgent
403Specifies whether the connection to the authentication agent (if any)
404will be forwarded to the remote machine.
405The argument must be
406.Dq yes
407or
408.Dq no .
409The default is
410.Dq no .
dbcdea68 411.Pp
a4e5acef 412Agent forwarding should be enabled with caution.
413Users with the ability to bypass file permissions on the remote host
414(for the agent's Unix-domain socket)
415can access the local agent through the forwarded connection.
416An attacker cannot obtain key material from the agent,
dbcdea68 417however they can perform operations on the keys that enable them to
418authenticate using the identities loaded into the agent.
588df31a 419.It Cm ForwardX11
420Specifies whether X11 connections will be automatically redirected
421over the secure channel and
422.Ev DISPLAY
423set.
424The argument must be
425.Dq yes
426or
427.Dq no .
428The default is
429.Dq no .
dbcdea68 430.Pp
a4e5acef 431X11 forwarding should be enabled with caution.
432Users with the ability to bypass file permissions on the remote host
d73a67d7 433(for the user's X11 authorization database)
a4e5acef 434can access the local X11 display through the forwarded connection.
d73a67d7 435An attacker may then be able to perform activities such as keystroke monitoring
436if the
437.Cm ForwardX11Trusted
438option is also enabled.
439.It Cm ForwardX11Trusted
b2e90ab5 440If this option is set to
c5786b30 441.Dq yes ,
442remote X11 clients will have full access to the original X11 display.
9a6b3b7a 443.Pp
d73a67d7 444If this option is set to
c5786b30 445.Dq no ,
446remote X11 clients will be considered untrusted and prevented
d73a67d7 447from stealing or tampering with data belonging to trusted X11
448clients.
9a6b3b7a 449Furthermore, the
450.Xr xauth 1
451token used for the session will be set to expire after 20 minutes.
452Remote clients will be refused access after this time.
d73a67d7 453.Pp
454The default is
455.Dq no .
456.Pp
457See the X11 SECURITY extension specification for full details on
458the restrictions imposed on untrusted clients.
588df31a 459.It Cm GatewayPorts
460Specifies whether remote hosts are allowed to connect to local
461forwarded ports.
462By default,
c5786b30 463.Xr ssh 1
a4e5acef 464binds local port forwardings to the loopback address.
465This prevents other remote hosts from connecting to forwarded ports.
588df31a 466.Cm GatewayPorts
c5786b30 467can be used to specify that ssh
588df31a 468should bind local port forwardings to the wildcard address,
469thus allowing remote hosts to connect to forwarded ports.
470The argument must be
471.Dq yes
472or
473.Dq no .
474The default is
475.Dq no .
476.It Cm GlobalKnownHostsFile
477Specifies a file to use for the global
478host key database instead of
479.Pa /etc/ssh/ssh_known_hosts .
7364bd04 480.It Cm GSSAPIAuthentication
e8dd24a8 481Specifies whether user authentication based on GSSAPI is allowed.
d0445371 482The default is
2ecb78df 483.Dq no .
7364bd04 484Note that this option applies to protocol version 2 only.
485.It Cm GSSAPIDelegateCredentials
486Forward (delegate) credentials to the server.
487The default is
488.Dq no .
489Note that this option applies to protocol version 2 only.
5c63c2ab 490.It Cm HashKnownHosts
491Indicates that
c5786b30 492.Xr ssh 1
5c63c2ab 493should hash host names and addresses when they are added to
140e3e97 494.Pa ~/.ssh/known_hosts .
5c63c2ab 495These hashed names may be used normally by
c5786b30 496.Xr ssh 1
5c63c2ab 497and
c5786b30 498.Xr sshd 8 ,
5c63c2ab 499but they do not reveal identifying information should the file's contents
500be disclosed.
501The default is
502.Dq no .
f0817fbb 503Note that existing names and addresses in known hosts files
504will not be converted automatically,
505but may be manually hashed using
bdffbcdc 506.Xr ssh-keygen 1 .
588df31a 507.It Cm HostbasedAuthentication
508Specifies whether to try rhosts based authentication with public key
509authentication.
510The argument must be
511.Dq yes
512or
513.Dq no .
514The default is
515.Dq no .
516This option applies to protocol version 2 only and
517is similar to
518.Cm RhostsRSAAuthentication .
519.It Cm HostKeyAlgorithms
520Specifies the protocol version 2 host key algorithms
521that the client wants to use in order of preference.
522The default for this option is:
523.Dq ssh-rsa,ssh-dss .
524.It Cm HostKeyAlias
525Specifies an alias that should be used instead of the
526real host name when looking up or saving the host key
527in the host key database files.
c5786b30 528This option is useful for tunneling SSH connections
588df31a 529or for multiple servers running on a single host.
530.It Cm HostName
531Specifies the real host name to log into.
532This can be used to specify nicknames or abbreviations for hosts.
c5786b30 533The default is the name given on the command line.
588df31a 534Numeric IP addresses are also permitted (both on the command line and in
535.Cm HostName
536specifications).
3a065ed0 537.It Cm IdentitiesOnly
538Specifies that
c5786b30 539.Xr ssh 1
3a065ed0 540should only use the authentication identity files configured in the
1e9b1b82 541.Nm
3a065ed0 542files,
c5786b30 543even if
544.Xr ssh-agent 1
3a065ed0 545offers more identities.
546The argument to this keyword must be
547.Dq yes
548or
549.Dq no .
c5786b30 550This option is intended for situations where ssh-agent
3a065ed0 551offers many different identities.
552The default is
553.Dq no .
030723f9 554.It Cm IdentityFile
555Specifies a file from which the user's RSA or DSA authentication identity
556is read.
557The default is
558.Pa ~/.ssh/identity
559for protocol version 1, and
560.Pa ~/.ssh/id_rsa
561and
562.Pa ~/.ssh/id_dsa
563for protocol version 2.
564Additionally, any identities represented by the authentication agent
565will be used for authentication.
8cffe22a 566.Pp
030723f9 567The file name may use the tilde
99d18e3e 568syntax to refer to a user's home directory or one of the following
8cffe22a 569escape characters:
570.Ql %d
571(local user's home directory),
572.Ql %u
573(local user name),
574.Ql %l
575(local host name),
576.Ql %h
577(remote host name) or
b4d7dedd 578.Ql %r
8cffe22a 579(remote user name).
580.Pp
030723f9 581It is possible to have
582multiple identity files specified in configuration files; all these
583identities will be tried in sequence.
530c2ec0 584.It Cm KbdInteractiveAuthentication
585Specifies whether to use keyboard-interactive authentication.
586The argument to this keyword must be
587.Dq yes
588or
589.Dq no .
590The default is
591.Dq yes .
396070f8 592.It Cm KbdInteractiveDevices
593Specifies the list of methods to use in keyboard-interactive authentication.
594Multiple method names must be comma-separated.
595The default is to use the server specified list.
2963b207 596The methods available vary depending on what the server supports.
597For an OpenSSH server,
598it may be zero or more of:
599.Dq bsdauth ,
600.Dq pam ,
601and
602.Dq skey .
d20f3c9e 603.It Cm LocalCommand
604Specifies a command to execute on the local machine after successfully
605connecting to the server.
606The command string extends to the end of the line, and is executed with
eb86ca9d 607the user's shell.
d20f3c9e 608This directive is ignored unless
609.Cm PermitLocalCommand
610has been enabled.
588df31a 611.It Cm LocalForward
0b3950af 612Specifies that a TCP port on the local machine be forwarded over
588df31a 613the secure channel to the specified host and port from the remote machine.
ecda4ffb 614The first argument must be
3867aa0a 615.Sm off
ecda4ffb 616.Oo Ar bind_address : Oc Ar port
3867aa0a 617.Sm on
ecda4ffb 618and the second argument must be
619.Ar host : Ns Ar hostport .
cd8f998c 620IPv6 addresses can be specified by enclosing addresses in square brackets or
3867aa0a 621by using an alternative syntax:
ecda4ffb 622.Oo Ar bind_address Ns / Oc Ns Ar port
623and
624.Ar host Ns / Ns Ar hostport .
cd8f998c 625Multiple forwardings may be specified, and additional forwardings can be
3867aa0a 626given on the command line.
588df31a 627Only the superuser can forward privileged ports.
3867aa0a 628By default, the local port is bound in accordance with the
629.Cm GatewayPorts
630setting.
631However, an explicit
632.Ar bind_address
633may be used to bind the connection to a specific address.
634The
635.Ar bind_address
636of
637.Dq localhost
cd8f998c 638indicates that the listening port be bound for local use only, while an
639empty address or
640.Sq *
3867aa0a 641indicates that the port should be available from all interfaces.
588df31a 642.It Cm LogLevel
643Gives the verbosity level that is used when logging messages from
c5786b30 644.Xr ssh 1 .
588df31a 645The possible values are:
c5786b30 646QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, and DEBUG3.
a4e5acef 647The default is INFO.
648DEBUG and DEBUG1 are equivalent.
649DEBUG2 and DEBUG3 each specify higher levels of verbose output.
588df31a 650.It Cm MACs
651Specifies the MAC (message authentication code) algorithms
652in order of preference.
653The MAC algorithm is used in protocol version 2
654for data integrity protection.
655Multiple algorithms must be comma-separated.
c5786b30 656The default is:
bbc77085 657.Bd -literal -offset indent
658hmac-md5,hmac-sha1,umac-64@openssh.com,
659hmac-ripemd160,hmac-sha1-96,hmac-md5-96
660.Ed
588df31a 661.It Cm NoHostAuthenticationForLocalhost
662This option can be used if the home directory is shared across machines.
663In this case localhost will refer to a different machine on each of
664the machines and the user will get many warnings about changed host keys.
665However, this option disables host authentication for localhost.
666The argument to this keyword must be
667.Dq yes
668or
669.Dq no .
670The default is to check the host key for localhost.
671.It Cm NumberOfPasswordPrompts
672Specifies the number of password prompts before giving up.
673The argument to this keyword must be an integer.
c5786b30 674The default is 3.
588df31a 675.It Cm PasswordAuthentication
676Specifies whether to use password authentication.
677The argument to this keyword must be
678.Dq yes
679or
680.Dq no .
681The default is
682.Dq yes .
d20f3c9e 683.It Cm PermitLocalCommand
684Allow local command execution via the
685.Ic LocalCommand
686option or using the
64925c6d 687.Ic !\& Ns Ar command
d20f3c9e 688escape sequence in
689.Xr ssh 1 .
690The argument must be
691.Dq yes
692or
693.Dq no .
694The default is
695.Dq no .
030723f9 696.It Cm Port
697Specifies the port number to connect on the remote host.
c5786b30 698The default is 22.
588df31a 699.It Cm PreferredAuthentications
700Specifies the order in which the client should try protocol 2
3cbc677d 701authentication methods.
4e5038f7 702This allows a client to prefer one method (e.g.\&
588df31a 703.Cm keyboard-interactive )
4e5038f7 704over another method (e.g.\&
588df31a 705.Cm password )
706The default for this option is:
f127d8a4 707.Do gssapi-with-mic ,
708hostbased,
709publickey,
710keyboard-interactive,
711password
712.Dc .
588df31a 713.It Cm Protocol
714Specifies the protocol versions
c5786b30 715.Xr ssh 1
588df31a 716should support in order of preference.
717The possible values are
c5786b30 718.Sq 1
588df31a 719and
c5786b30 720.Sq 2 .
588df31a 721Multiple versions must be comma-separated.
722The default is
723.Dq 2,1 .
c5786b30 724This means that ssh
588df31a 725tries version 2 and falls back to version 1
726if version 2 is not available.
727.It Cm ProxyCommand
728Specifies the command to use to connect to the server.
729The command
730string extends to the end of the line, and is executed with
eb86ca9d 731the user's shell.
588df31a 732In the command string,
733.Ql %h
734will be substituted by the host name to
735connect and
736.Ql %p
737by the port.
738The command can be basically anything,
739and should read from its standard input and write to its standard output.
740It should eventually connect an
741.Xr sshd 8
742server running on some machine, or execute
743.Ic sshd -i
744somewhere.
745Host key management will be done using the
746HostName of the host being connected (defaulting to the name typed by
747the user).
a4e5acef 748Setting the command to
749.Dq none
f78bde70 750disables this option entirely.
588df31a 751Note that
752.Cm CheckHostIP
753is not available for connects with a proxy command.
754.Pp
2b610872 755This directive is useful in conjunction with
756.Xr nc 1
757and its proxy support.
9fa42d41 758For example, the following directive would connect via an HTTP proxy at
2b610872 759192.0.2.0:
760.Bd -literal -offset 3n
761ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p
762.Ed
588df31a 763.It Cm PubkeyAuthentication
764Specifies whether to try public key authentication.
765The argument to this keyword must be
766.Dq yes
767or
768.Dq no .
769The default is
770.Dq yes .
771This option applies to protocol version 2 only.
db175906 772.It Cm RekeyLimit
773Specifies the maximum amount of data that may be transmitted before the
0ce89457 774session key is renegotiated.
db175906 775The argument is the number of bytes, with an optional suffix of
0ce89457 776.Sq K ,
777.Sq M ,
db175906 778or
0ce89457 779.Sq G
db175906 780to indicate Kilobytes, Megabytes, or Gigabytes, respectively.
781The default is between
c5786b30 782.Sq 1G
db175906 783and
c5786b30 784.Sq 4G ,
db175906 785depending on the cipher.
0ce89457 786This option applies to protocol version 2 only.
588df31a 787.It Cm RemoteForward
0b3950af 788Specifies that a TCP port on the remote machine be forwarded over
588df31a 789the secure channel to the specified host and port from the local machine.
ecda4ffb 790The first argument must be
3867aa0a 791.Sm off
ecda4ffb 792.Oo Ar bind_address : Oc Ar port
6d7a9e8f 793.Sm on
ecda4ffb 794and the second argument must be
795.Ar host : Ns Ar hostport .
796IPv6 addresses can be specified by enclosing addresses in square brackets
797or by using an alternative syntax:
798.Oo Ar bind_address Ns / Oc Ns Ar port
799and
800.Ar host Ns / Ns Ar hostport .
588df31a 801Multiple forwardings may be specified, and additional
802forwardings can be given on the command line.
803Only the superuser can forward privileged ports.
3867aa0a 804.Pp
805If the
806.Ar bind_address
807is not specified, the default is to only bind to loopback addresses.
808If the
809.Ar bind_address
810is
811.Ql *
812or an empty string, then the forwarding is requested to listen on all
813interfaces.
814Specifying a remote
815.Ar bind_address
cd8f998c 816will only succeed if the server's
817.Cm GatewayPorts
3867aa0a 818option is enabled (see
cd8f998c 819.Xr sshd_config 5 ) .
588df31a 820.It Cm RhostsRSAAuthentication
821Specifies whether to try rhosts based authentication with RSA host
822authentication.
823The argument must be
824.Dq yes
825or
826.Dq no .
827The default is
828.Dq no .
829This option applies to protocol version 1 only and requires
c5786b30 830.Xr ssh 1
588df31a 831to be setuid root.
832.It Cm RSAAuthentication
833Specifies whether to try RSA authentication.
834The argument to this keyword must be
835.Dq yes
836or
837.Dq no .
838RSA authentication will only be
839attempted if the identity file exists, or an authentication agent is
840running.
841The default is
842.Dq yes .
843Note that this option applies to protocol version 1 only.
61a2c1da 844.It Cm SendEnv
845Specifies what variables from the local
846.Xr environ 7
847should be sent to the server.
c5786b30 848Note that environment passing is only supported for protocol 2.
849The server must also support it, and the server must be configured to
b8b9f2e6 850accept these environment variables.
61a2c1da 851Refer to
852.Cm AcceptEnv
853in
854.Xr sshd_config 5
855for how to configure the server.
95d46d8f 856Variables are specified by name, which may contain wildcard characters.
b8b9f2e6 857Multiple environment variables may be separated by whitespace or spread
61a2c1da 858across multiple
859.Cm SendEnv
860directives.
861The default is not to send any environment variables.
436a5ff9 862.Pp
863See
864.Sx PATTERNS
865for more information on patterns.
5d8d32a3 866.It Cm ServerAliveCountMax
79e46360 867Sets the number of server alive messages (see below) which may be
5d8d32a3 868sent without
c5786b30 869.Xr ssh 1
5d8d32a3 870receiving any messages back from the server.
871If this threshold is reached while server alive messages are being sent,
c5786b30 872ssh will disconnect from the server, terminating the session.
5d8d32a3 873It is important to note that the use of server alive messages is very
874different from
875.Cm TCPKeepAlive
876(below).
877The server alive messages are sent through the encrypted channel
878and therefore will not be spoofable.
879The TCP keepalive option enabled by
880.Cm TCPKeepAlive
881is spoofable.
882The server alive mechanism is valuable when the client or
883server depend on knowing when a connection has become inactive.
884.Pp
885The default value is 3.
886If, for example,
887.Cm ServerAliveInterval
c5786b30 888(see below) is set to 15 and
5d8d32a3 889.Cm ServerAliveCountMax
c5786b30 890is left at the default, if the server becomes unresponsive,
891ssh will disconnect after approximately 45 seconds.
2d762582 892This option applies to protocol version 2 only.
030723f9 893.It Cm ServerAliveInterval
894Sets a timeout interval in seconds after which if no data has been received
895from the server,
c5786b30 896.Xr ssh 1
030723f9 897will send a message through the encrypted
898channel to request a response from the server.
899The default
900is 0, indicating that these messages will not be sent to the server.
901This option applies to protocol version 2 only.
588df31a 902.It Cm SmartcardDevice
3cbc677d 903Specifies which smartcard device to use.
904The argument to this keyword is the device
c5786b30 905.Xr ssh 1
588df31a 906should use to communicate with a smartcard used for storing the user's
3cbc677d 907private RSA key.
908By default, no device is specified and smartcard support is not activated.
588df31a 909.It Cm StrictHostKeyChecking
910If this flag is set to
911.Dq yes ,
c5786b30 912.Xr ssh 1
588df31a 913will never automatically add host keys to the
140e3e97 914.Pa ~/.ssh/known_hosts
588df31a 915file, and refuses to connect to hosts whose host key has changed.
916This provides maximum protection against trojan horse attacks,
c5786b30 917though it can be annoying when the
588df31a 918.Pa /etc/ssh/ssh_known_hosts
c5786b30 919file is poorly maintained or when connections to new hosts are
588df31a 920frequently made.
921This option forces the user to manually
922add all new hosts.
923If this flag is set to
924.Dq no ,
c5786b30 925ssh will automatically add new host keys to the
588df31a 926user known hosts files.
927If this flag is set to
928.Dq ask ,
929new host keys
930will be added to the user known host files only after the user
931has confirmed that is what they really want to do, and
c5786b30 932ssh will refuse to connect to hosts whose host key has changed.
588df31a 933The host keys of
934known hosts will be verified automatically in all cases.
935The argument must be
936.Dq yes ,
c5786b30 937.Dq no ,
588df31a 938or
939.Dq ask .
940The default is
941.Dq ask .
fd573618 942.It Cm TCPKeepAlive
943Specifies whether the system should send TCP keepalive messages to the
944other side.
945If they are sent, death of the connection or crash of one
946of the machines will be properly noticed.
947However, this means that
948connections will die if the route is down temporarily, and some people
949find it annoying.
950.Pp
951The default is
952.Dq yes
953(to send TCP keepalive messages), and the client will notice
954if the network goes down or the remote host dies.
955This is important in scripts, and many users want it too.
956.Pp
957To disable TCP keepalive messages, the value should be set to
958.Dq no .
d20f3c9e 959.It Cm Tunnel
06fa4ac1 960Request
d20f3c9e 961.Xr tun 4
a274ba38 962device forwarding between the client and the server.
d20f3c9e 963The argument must be
a4f24bf8 964.Dq yes ,
06fa4ac1 965.Dq point-to-point
966(layer 3),
967.Dq ethernet
968(layer 2),
d20f3c9e 969or
970.Dq no .
06fa4ac1 971Specifying
972.Dq yes
973requests the default tunnel mode, which is
974.Dq point-to-point .
d20f3c9e 975The default is
976.Dq no .
977.It Cm TunnelDevice
06fa4ac1 978Specifies the
d20f3c9e 979.Xr tun 4
06fa4ac1 980devices to open on the client
981.Pq Ar local_tun
982and the server
983.Pq Ar remote_tun .
984.Pp
985The argument must be
986.Sm off
987.Ar local_tun Op : Ar remote_tun .
988.Sm on
989The devices may be specified by numerical ID or the keyword
990.Dq any ,
991which uses the next available tunnel device.
992If
993.Ar remote_tun
994is not specified, it defaults to
995.Dq any .
996The default is
997.Dq any:any .
0c9851b1 998.It Cm UsePrivilegedPort
999Specifies whether to use a privileged port for outgoing connections.
1000The argument must be
1001.Dq yes
1002or
1003.Dq no .
1004The default is
1005.Dq no .
1006If set to
c5786b30 1007.Dq yes ,
1008.Xr ssh 1
0c9851b1 1009must be setuid root.
1010Note that this option must be set to
1011.Dq yes
1012for
1013.Cm RhostsRSAAuthentication
1014with older servers.
588df31a 1015.It Cm User
1016Specifies the user to log in as.
1017This can be useful when a different user name is used on different machines.
1018This saves the trouble of
1019having to remember to give the user name on the command line.
1020.It Cm UserKnownHostsFile
1021Specifies a file to use for the user
1022host key database instead of
140e3e97 1023.Pa ~/.ssh/known_hosts .
21289cd0 1024.It Cm VerifyHostKeyDNS
1025Specifies whether to verify the remote key using DNS and SSHFP resource
1026records.
0161a13d 1027If this option is set to
1028.Dq yes ,
dd376e92 1029the client will implicitly trust keys that match a secure fingerprint
0161a13d 1030from DNS.
1031Insecure fingerprints will be handled as if this option was set to
1032.Dq ask .
1033If this option is set to
1034.Dq ask ,
1035information on fingerprint match will be displayed, but the user will still
1036need to confirm new host keys according to the
1037.Cm StrictHostKeyChecking
1038option.
1039The argument must be
1040.Dq yes ,
c5786b30 1041.Dq no ,
dd376e92 1042or
1043.Dq ask .
21289cd0 1044The default is
1045.Dq no .
0f92946c 1046Note that this option applies to protocol version 2 only.
c5786b30 1047.Pp
1048See also
1049.Sx VERIFYING HOST KEYS
1050in
1051.Xr ssh 1 .
588df31a 1052.It Cm XAuthLocation
57ff5eeb 1053Specifies the full pathname of the
588df31a 1054.Xr xauth 1
1055program.
1056The default is
1057.Pa /usr/X11R6/bin/xauth .
1058.El
de4f5093 1059.Sh PATTERNS
1060A
1061.Em pattern
1062consists of zero or more non-whitespace characters,
1063.Sq *
1064(a wildcard that matches zero or more characters),
1065or
1066.Sq ?\&
1067(a wildcard that matches exactly one character).
1068For example, to specify a set of declarations for any host in the
1069.Dq .co.uk
1070set of domains,
1071the following pattern could be used:
1072.Pp
1073.Dl Host *.co.uk
1074.Pp
1075The following pattern
1076would match any host in the 192.168.0.[0-9] network range:
1077.Pp
1078.Dl Host 192.168.0.?
1079.Pp
1080A
1081.Em pattern-list
1082is a comma-separated list of patterns.
1083Patterns within pattern-lists may be negated
1084by preceding them with an exclamation mark
1085.Pq Sq !\& .
1086For example,
1087to allow a key to be used from anywhere within an organisation
1088except from the
1089.Dq dialup
1090pool,
1091the following entry (in authorized_keys) could be used:
1092.Pp
1093.Dl from=\&"!*.dialup.example.com,*.example.com\&"
588df31a 1094.Sh FILES
1095.Bl -tag -width Ds
140e3e97 1096.It Pa ~/.ssh/config
588df31a 1097This is the per-user configuration file.
1098The format of this file is described above.
c5786b30 1099This file is used by the SSH client.
e1520719 1100Because of the potential for abuse, this file must have strict permissions:
1101read/write for the user, and not accessible by others.
588df31a 1102.It Pa /etc/ssh/ssh_config
1103Systemwide configuration file.
1104This file provides defaults for those
1105values that are not specified in the user's configuration file, and
1106for those users who do not have a configuration file.
1107This file must be world-readable.
1108.El
be193d89 1109.Sh SEE ALSO
1110.Xr ssh 1
588df31a 1111.Sh AUTHORS
1112OpenSSH is a derivative of the original and free
1113ssh 1.2.12 release by Tatu Ylonen.
1114Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
1115Theo de Raadt and Dug Song
1116removed many bugs, re-added newer features and
1117created OpenSSH.
1118Markus Friedl contributed the support for SSH
1119protocol versions 1.5 and 2.0.
This page took 0.368302 seconds and 5 git commands to generate.