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