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