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.61 2005/07/08 12:53:10 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 | .Nm ssh |
---|
51 | obtains configuration data from the following sources in |
---|
52 | the following order: |
---|
53 | .Bl -enum -offset indent -compact |
---|
54 | .It |
---|
55 | command-line options |
---|
56 | .It |
---|
57 | user's configuration file |
---|
58 | .Pq Pa ~/.ssh/config |
---|
59 | .It |
---|
60 | system-wide configuration file |
---|
61 | .Pq Pa /etc/ssh/ssh_config |
---|
62 | .El |
---|
63 | .Pp |
---|
64 | For each parameter, the first obtained value |
---|
65 | will be used. |
---|
66 | The configuration files contain sections separated by |
---|
67 | .Dq Host |
---|
68 | specifications, and that section is only applied for hosts that |
---|
69 | match one of the patterns given in the specification. |
---|
70 | The matched host name is the one given on the command line. |
---|
71 | .Pp |
---|
72 | Since the first obtained value for each parameter is used, more |
---|
73 | host-specific declarations should be given near the beginning of the |
---|
74 | file, and general defaults at the end. |
---|
75 | .Pp |
---|
76 | The configuration file has the following format: |
---|
77 | .Pp |
---|
78 | Empty lines and lines starting with |
---|
79 | .Ql # |
---|
80 | are comments. |
---|
81 | .Pp |
---|
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 | .Ql \&* |
---|
106 | and |
---|
107 | .Ql \&? |
---|
108 | can be used as wildcards in the |
---|
109 | patterns. |
---|
110 | A single |
---|
111 | .Ql \&* |
---|
112 | as a pattern can be used to provide global |
---|
113 | defaults for all hosts. |
---|
114 | The host is the |
---|
115 | .Ar hostname |
---|
116 | argument given on the command line (i.e., the name is not converted to |
---|
117 | a canonicalized host name before matching). |
---|
118 | .It Cm AddressFamily |
---|
119 | Specifies which address family to use when connecting. |
---|
120 | Valid arguments are |
---|
121 | .Dq any , |
---|
122 | .Dq inet |
---|
123 | (use IPv4 only) or |
---|
124 | .Dq inet6 |
---|
125 | (use IPv6 only). |
---|
126 | .It Cm BatchMode |
---|
127 | If set to |
---|
128 | .Dq yes , |
---|
129 | passphrase/password querying will be disabled. |
---|
130 | This option is useful in scripts and other batch jobs where no user |
---|
131 | is present to supply the password. |
---|
132 | The argument must be |
---|
133 | .Dq yes |
---|
134 | or |
---|
135 | .Dq no . |
---|
136 | The default is |
---|
137 | .Dq no . |
---|
138 | .It Cm BindAddress |
---|
139 | Use the specified address on the local machine as the source address of |
---|
140 | the connection. |
---|
141 | Only useful on systems with more than one address. |
---|
142 | Note that this option does not work if |
---|
143 | .Cm UsePrivilegedPort |
---|
144 | is set to |
---|
145 | .Dq yes . |
---|
146 | .It Cm ChallengeResponseAuthentication |
---|
147 | Specifies whether to use challenge response authentication. |
---|
148 | The argument to this keyword must be |
---|
149 | .Dq yes |
---|
150 | or |
---|
151 | .Dq no . |
---|
152 | The default is |
---|
153 | .Dq yes . |
---|
154 | .It Cm CheckHostIP |
---|
155 | If this flag is set to |
---|
156 | .Dq yes , |
---|
157 | ssh 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 | .Nm ssh |
---|
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 |
---|
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 | .Nm ssh |
---|
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 ssh |
---|
248 | 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 | .Nm ssh |
---|
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 reuse the master instance's network connection rather |
---|
267 | than initiating new ones. |
---|
268 | Setting this to |
---|
269 | .Dq ask |
---|
270 | will cause |
---|
271 | .Nm ssh |
---|
272 | to listen for control connections, but require confirmation using the |
---|
273 | .Ev SSH_ASKPASS |
---|
274 | program before they are accepted (see |
---|
275 | .Xr ssh-add 1 |
---|
276 | for details). |
---|
277 | If the |
---|
278 | .Cm ControlPath |
---|
279 | can not be opened, |
---|
280 | .Nm ssh |
---|
281 | 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 fowarded 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 %h |
---|
308 | will be substituted by the target host name, |
---|
309 | .Ql %p |
---|
310 | the port and |
---|
311 | .Ql %r |
---|
312 | by the remote login username. |
---|
313 | It is recommended that any |
---|
314 | .Cm ControlPath |
---|
315 | used for opportunistic connection sharing include |
---|
316 | all three of these escape sequences. |
---|
317 | This ensures that shared connections are uniquely identified. |
---|
318 | .It Cm DynamicForward |
---|
319 | Specifies that a TCP/IP port on the local machine be forwarded |
---|
320 | over the secure channel, and the application |
---|
321 | protocol is then used to determine where to connect to from the |
---|
322 | remote machine. |
---|
323 | The argument must be a port number. |
---|
324 | Currently the SOCKS4 and SOCKS5 protocols are supported, and |
---|
325 | .Nm ssh |
---|
326 | will act as a SOCKS server. |
---|
327 | Multiple forwardings may be specified, and |
---|
328 | additional forwardings can be given on the command line. |
---|
329 | Only the superuser can forward privileged ports. |
---|
330 | .It Cm EnableSSHKeysign |
---|
331 | Setting this option to |
---|
332 | .Dq yes |
---|
333 | in the global client configuration file |
---|
334 | .Pa /etc/ssh/ssh_config |
---|
335 | enables the use of the helper program |
---|
336 | .Xr ssh-keysign 8 |
---|
337 | during |
---|
338 | .Cm HostbasedAuthentication . |
---|
339 | The argument must be |
---|
340 | .Dq yes |
---|
341 | or |
---|
342 | .Dq no . |
---|
343 | The default is |
---|
344 | .Dq no . |
---|
345 | This option should be placed in the non-hostspecific section. |
---|
346 | See |
---|
347 | .Xr ssh-keysign 8 |
---|
348 | for more information. |
---|
349 | .It Cm EscapeChar |
---|
350 | Sets the escape character (default: |
---|
351 | .Ql ~ ) . |
---|
352 | The escape character can also |
---|
353 | be set on the command line. |
---|
354 | The argument should be a single character, |
---|
355 | .Ql ^ |
---|
356 | followed by a letter, or |
---|
357 | .Dq none |
---|
358 | to disable the escape |
---|
359 | character entirely (making the connection transparent for binary |
---|
360 | data). |
---|
361 | .It Cm ForwardAgent |
---|
362 | Specifies whether the connection to the authentication agent (if any) |
---|
363 | will be forwarded to the remote machine. |
---|
364 | The argument must be |
---|
365 | .Dq yes |
---|
366 | or |
---|
367 | .Dq no . |
---|
368 | The default is |
---|
369 | .Dq no . |
---|
370 | .Pp |
---|
371 | Agent forwarding should be enabled with caution. |
---|
372 | Users with the ability to bypass file permissions on the remote host |
---|
373 | (for the agent's Unix-domain socket) |
---|
374 | can access the local agent through the forwarded connection. |
---|
375 | An attacker cannot obtain key material from the agent, |
---|
376 | however they can perform operations on the keys that enable them to |
---|
377 | authenticate using the identities loaded into the agent. |
---|
378 | .It Cm ForwardX11 |
---|
379 | Specifies whether X11 connections will be automatically redirected |
---|
380 | over the secure channel and |
---|
381 | .Ev DISPLAY |
---|
382 | set. |
---|
383 | The argument must be |
---|
384 | .Dq yes |
---|
385 | or |
---|
386 | .Dq no . |
---|
387 | The default is |
---|
388 | .Dq no . |
---|
389 | .Pp |
---|
390 | X11 forwarding should be enabled with caution. |
---|
391 | Users with the ability to bypass file permissions on the remote host |
---|
392 | (for the user's X11 authorization database) |
---|
393 | can access the local X11 display through the forwarded connection. |
---|
394 | An attacker may then be able to perform activities such as keystroke monitoring |
---|
395 | if the |
---|
396 | .Cm ForwardX11Trusted |
---|
397 | option is also enabled. |
---|
398 | .It Cm ForwardX11Trusted |
---|
399 | If this option is set to |
---|
400 | .Dq yes |
---|
401 | then remote X11 clients will have full access to the original X11 display. |
---|
402 | .Pp |
---|
403 | If this option is set to |
---|
404 | .Dq no |
---|
405 | then remote X11 clients will be considered untrusted and prevented |
---|
406 | from stealing or tampering with data belonging to trusted X11 |
---|
407 | clients. |
---|
408 | Furthermore, the |
---|
409 | .Xr xauth 1 |
---|
410 | token used for the session will be set to expire after 20 minutes. |
---|
411 | Remote clients will be refused access after this time. |
---|
412 | .Pp |
---|
413 | The default is |
---|
414 | .Dq no . |
---|
415 | .Pp |
---|
416 | See the X11 SECURITY extension specification for full details on |
---|
417 | the restrictions imposed on untrusted clients. |
---|
418 | .It Cm GatewayPorts |
---|
419 | Specifies whether remote hosts are allowed to connect to local |
---|
420 | forwarded ports. |
---|
421 | By default, |
---|
422 | .Nm ssh |
---|
423 | binds local port forwardings to the loopback address. |
---|
424 | This prevents other remote hosts from connecting to forwarded ports. |
---|
425 | .Cm GatewayPorts |
---|
426 | can be used to specify that |
---|
427 | .Nm ssh |
---|
428 | should bind local port forwardings to the wildcard address, |
---|
429 | thus allowing remote hosts to connect to forwarded ports. |
---|
430 | The argument must be |
---|
431 | .Dq yes |
---|
432 | or |
---|
433 | .Dq no . |
---|
434 | The default is |
---|
435 | .Dq no . |
---|
436 | .It Cm GlobalKnownHostsFile |
---|
437 | Specifies a file to use for the global |
---|
438 | host key database instead of |
---|
439 | .Pa /etc/ssh/ssh_known_hosts . |
---|
440 | .It Cm GSSAPIAuthentication |
---|
441 | Specifies whether user authentication based on GSSAPI is allowed. |
---|
442 | The default is |
---|
443 | .Dq no . |
---|
444 | Note that this option applies to protocol version 2 only. |
---|
445 | .It Cm GSSAPIDelegateCredentials |
---|
446 | Forward (delegate) credentials to the server. |
---|
447 | The default is |
---|
448 | .Dq no . |
---|
449 | Note that this option applies to protocol version 2 only. |
---|
450 | .It Cm HashKnownHosts |
---|
451 | Indicates that |
---|
452 | .Nm ssh |
---|
453 | should hash host names and addresses when they are added to |
---|
454 | .Pa ~/.ssh/known_hosts . |
---|
455 | These hashed names may be used normally by |
---|
456 | .Nm ssh |
---|
457 | and |
---|
458 | .Nm sshd , |
---|
459 | but they do not reveal identifying information should the file's contents |
---|
460 | be disclosed. |
---|
461 | The default is |
---|
462 | .Dq no . |
---|
463 | Note that hashing of names and addresses will not be retrospectively applied |
---|
464 | to existing known hosts files, but these may be manually hashed using |
---|
465 | .Xr ssh-keygen 1 . |
---|
466 | .It Cm HostbasedAuthentication |
---|
467 | Specifies whether to try rhosts based authentication with public key |
---|
468 | authentication. |
---|
469 | The argument must be |
---|
470 | .Dq yes |
---|
471 | or |
---|
472 | .Dq no . |
---|
473 | The default is |
---|
474 | .Dq no . |
---|
475 | This option applies to protocol version 2 only and |
---|
476 | is similar to |
---|
477 | .Cm RhostsRSAAuthentication . |
---|
478 | .It Cm HostKeyAlgorithms |
---|
479 | Specifies the protocol version 2 host key algorithms |
---|
480 | that the client wants to use in order of preference. |
---|
481 | The default for this option is: |
---|
482 | .Dq ssh-rsa,ssh-dss . |
---|
483 | .It Cm HostKeyAlias |
---|
484 | Specifies an alias that should be used instead of the |
---|
485 | real host name when looking up or saving the host key |
---|
486 | in the host key database files. |
---|
487 | This option is useful for tunneling ssh connections |
---|
488 | or for multiple servers running on a single host. |
---|
489 | .It Cm HostName |
---|
490 | Specifies the real host name to log into. |
---|
491 | This can be used to specify nicknames or abbreviations for hosts. |
---|
492 | Default is the name given on the command line. |
---|
493 | Numeric IP addresses are also permitted (both on the command line and in |
---|
494 | .Cm HostName |
---|
495 | specifications). |
---|
496 | .It Cm IdentityFile |
---|
497 | Specifies a file from which the user's RSA or DSA authentication identity |
---|
498 | is read. |
---|
499 | The default is |
---|
500 | .Pa ~/.ssh/identity |
---|
501 | for protocol version 1, and |
---|
502 | .Pa ~/.ssh/id_rsa |
---|
503 | and |
---|
504 | .Pa ~/.ssh/id_dsa |
---|
505 | for protocol version 2. |
---|
506 | Additionally, any identities represented by the authentication agent |
---|
507 | will be used for authentication. |
---|
508 | The file name may use the tilde |
---|
509 | syntax to refer to a user's home directory. |
---|
510 | It is possible to have |
---|
511 | multiple identity files specified in configuration files; all these |
---|
512 | identities will be tried in sequence. |
---|
513 | .It Cm IdentitiesOnly |
---|
514 | Specifies that |
---|
515 | .Nm ssh |
---|
516 | should only use the authentication identity files configured in the |
---|
517 | .Nm |
---|
518 | files, |
---|
519 | even if the |
---|
520 | .Nm ssh-agent |
---|
521 | offers more identities. |
---|
522 | The argument to this keyword must be |
---|
523 | .Dq yes |
---|
524 | or |
---|
525 | .Dq no . |
---|
526 | This option is intented for situations where |
---|
527 | .Nm ssh-agent |
---|
528 | offers many different identities. |
---|
529 | The default is |
---|
530 | .Dq no . |
---|
531 | .It Cm KbdInteractiveDevices |
---|
532 | Specifies the list of methods to use in keyboard-interactive authentication. |
---|
533 | Multiple method names must be comma-separated. |
---|
534 | The default is to use the server specified list. |
---|
535 | .It Cm LocalForward |
---|
536 | Specifies that a TCP/IP port on the local machine be forwarded over |
---|
537 | the secure channel to the specified host and port from the remote machine. |
---|
538 | The first argument must be |
---|
539 | .Sm off |
---|
540 | .Oo Ar bind_address : Oc Ar port |
---|
541 | .Sm on |
---|
542 | and the second argument must be |
---|
543 | .Ar host : Ns Ar hostport . |
---|
544 | IPv6 addresses can be specified by enclosing addresses in square brackets or |
---|
545 | by using an alternative syntax: |
---|
546 | .Oo Ar bind_address Ns / Oc Ns Ar port |
---|
547 | and |
---|
548 | .Ar host Ns / Ns Ar hostport . |
---|
549 | Multiple forwardings may be specified, and additional forwardings can be |
---|
550 | given on the command line. |
---|
551 | Only the superuser can forward privileged ports. |
---|
552 | By default, the local port is bound in accordance with the |
---|
553 | .Cm GatewayPorts |
---|
554 | setting. |
---|
555 | However, an explicit |
---|
556 | .Ar bind_address |
---|
557 | may be used to bind the connection to a specific address. |
---|
558 | The |
---|
559 | .Ar bind_address |
---|
560 | of |
---|
561 | .Dq localhost |
---|
562 | indicates that the listening port be bound for local use only, while an |
---|
563 | empty address or |
---|
564 | .Sq * |
---|
565 | indicates that the port should be available from all interfaces. |
---|
566 | .It Cm LogLevel |
---|
567 | Gives the verbosity level that is used when logging messages from |
---|
568 | .Nm ssh . |
---|
569 | The possible values are: |
---|
570 | QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. |
---|
571 | The default is INFO. |
---|
572 | DEBUG and DEBUG1 are equivalent. |
---|
573 | DEBUG2 and DEBUG3 each specify higher levels of verbose output. |
---|
574 | .It Cm MACs |
---|
575 | Specifies the MAC (message authentication code) algorithms |
---|
576 | in order of preference. |
---|
577 | The MAC algorithm is used in protocol version 2 |
---|
578 | for data integrity protection. |
---|
579 | Multiple algorithms must be comma-separated. |
---|
580 | The default is |
---|
581 | .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 . |
---|
582 | .It Cm NoHostAuthenticationForLocalhost |
---|
583 | This option can be used if the home directory is shared across machines. |
---|
584 | In this case localhost will refer to a different machine on each of |
---|
585 | the machines and the user will get many warnings about changed host keys. |
---|
586 | However, this option disables host authentication for localhost. |
---|
587 | The argument to this keyword must be |
---|
588 | .Dq yes |
---|
589 | or |
---|
590 | .Dq no . |
---|
591 | The default is to check the host key for localhost. |
---|
592 | .It Cm NumberOfPasswordPrompts |
---|
593 | Specifies the number of password prompts before giving up. |
---|
594 | The argument to this keyword must be an integer. |
---|
595 | Default is 3. |
---|
596 | .It Cm PasswordAuthentication |
---|
597 | Specifies whether to use password authentication. |
---|
598 | The argument to this keyword must be |
---|
599 | .Dq yes |
---|
600 | or |
---|
601 | .Dq no . |
---|
602 | The default is |
---|
603 | .Dq yes . |
---|
604 | .It Cm Port |
---|
605 | Specifies the port number to connect on the remote host. |
---|
606 | Default is 22. |
---|
607 | .It Cm PreferredAuthentications |
---|
608 | Specifies the order in which the client should try protocol 2 |
---|
609 | authentication methods. |
---|
610 | This allows a client to prefer one method (e.g.\& |
---|
611 | .Cm keyboard-interactive ) |
---|
612 | over another method (e.g.\& |
---|
613 | .Cm password ) |
---|
614 | The default for this option is: |
---|
615 | .Dq hostbased,publickey,keyboard-interactive,password . |
---|
616 | .It Cm Protocol |
---|
617 | Specifies the protocol versions |
---|
618 | .Nm ssh |
---|
619 | should support in order of preference. |
---|
620 | The possible values are |
---|
621 | .Dq 1 |
---|
622 | and |
---|
623 | .Dq 2 . |
---|
624 | Multiple versions must be comma-separated. |
---|
625 | The default is |
---|
626 | .Dq 2,1 . |
---|
627 | This means that |
---|
628 | .Nm ssh |
---|
629 | tries version 2 and falls back to version 1 |
---|
630 | if version 2 is not available. |
---|
631 | .It Cm ProxyCommand |
---|
632 | Specifies the command to use to connect to the server. |
---|
633 | The command |
---|
634 | string extends to the end of the line, and is executed with |
---|
635 | .Pa /bin/sh . |
---|
636 | In the command string, |
---|
637 | .Ql %h |
---|
638 | will be substituted by the host name to |
---|
639 | connect and |
---|
640 | .Ql %p |
---|
641 | by the port. |
---|
642 | The command can be basically anything, |
---|
643 | and should read from its standard input and write to its standard output. |
---|
644 | It should eventually connect an |
---|
645 | .Xr sshd 8 |
---|
646 | server running on some machine, or execute |
---|
647 | .Ic sshd -i |
---|
648 | somewhere. |
---|
649 | Host key management will be done using the |
---|
650 | HostName of the host being connected (defaulting to the name typed by |
---|
651 | the user). |
---|
652 | Setting the command to |
---|
653 | .Dq none |
---|
654 | disables this option entirely. |
---|
655 | Note that |
---|
656 | .Cm CheckHostIP |
---|
657 | is not available for connects with a proxy command. |
---|
658 | .Pp |
---|
659 | This directive is useful in conjunction with |
---|
660 | .Xr nc 1 |
---|
661 | and its proxy support. |
---|
662 | For example, the following directive would connect via an HTTP proxy at |
---|
663 | 192.0.2.0: |
---|
664 | .Bd -literal -offset 3n |
---|
665 | ProxyCommand /usr/bin/nc -X connect -x 192.0.2.0:8080 %h %p |
---|
666 | .Ed |
---|
667 | .It Cm PubkeyAuthentication |
---|
668 | Specifies whether to try public key authentication. |
---|
669 | The argument to this keyword must be |
---|
670 | .Dq yes |
---|
671 | or |
---|
672 | .Dq no . |
---|
673 | The default is |
---|
674 | .Dq yes . |
---|
675 | This option applies to protocol version 2 only. |
---|
676 | .It Cm RemoteForward |
---|
677 | Specifies that a TCP/IP port on the remote machine be forwarded over |
---|
678 | the secure channel to the specified host and port from the local machine. |
---|
679 | The first argument must be |
---|
680 | .Sm off |
---|
681 | .Oo Ar bind_address : Oc Ar port |
---|
682 | .Sm on |
---|
683 | and the second argument must be |
---|
684 | .Ar host : Ns Ar hostport . |
---|
685 | IPv6 addresses can be specified by enclosing addresses in square brackets |
---|
686 | or by using an alternative syntax: |
---|
687 | .Oo Ar bind_address Ns / Oc Ns Ar port |
---|
688 | and |
---|
689 | .Ar host Ns / Ns Ar hostport . |
---|
690 | Multiple forwardings may be specified, and additional |
---|
691 | forwardings can be given on the command line. |
---|
692 | Only the superuser can forward privileged ports. |
---|
693 | .Pp |
---|
694 | If the |
---|
695 | .Ar bind_address |
---|
696 | is not specified, the default is to only bind to loopback addresses. |
---|
697 | If the |
---|
698 | .Ar bind_address |
---|
699 | is |
---|
700 | .Ql * |
---|
701 | or an empty string, then the forwarding is requested to listen on all |
---|
702 | interfaces. |
---|
703 | Specifying a remote |
---|
704 | .Ar bind_address |
---|
705 | will only succeed if the server's |
---|
706 | .Cm GatewayPorts |
---|
707 | option is enabled (see |
---|
708 | .Xr sshd_config 5 ) . |
---|
709 | .It Cm RhostsRSAAuthentication |
---|
710 | Specifies whether to try rhosts based authentication with RSA host |
---|
711 | authentication. |
---|
712 | The argument must be |
---|
713 | .Dq yes |
---|
714 | or |
---|
715 | .Dq no . |
---|
716 | The default is |
---|
717 | .Dq no . |
---|
718 | This option applies to protocol version 1 only and requires |
---|
719 | .Nm ssh |
---|
720 | to be setuid root. |
---|
721 | .It Cm RSAAuthentication |
---|
722 | Specifies whether to try RSA authentication. |
---|
723 | The argument to this keyword must be |
---|
724 | .Dq yes |
---|
725 | or |
---|
726 | .Dq no . |
---|
727 | RSA authentication will only be |
---|
728 | attempted if the identity file exists, or an authentication agent is |
---|
729 | running. |
---|
730 | The default is |
---|
731 | .Dq yes . |
---|
732 | Note that this option applies to protocol version 1 only. |
---|
733 | .It Cm SendEnv |
---|
734 | Specifies what variables from the local |
---|
735 | .Xr environ 7 |
---|
736 | should be sent to the server. |
---|
737 | Note that environment passing is only supported for protocol 2, the |
---|
738 | server must also support it, and the server must be configured to |
---|
739 | accept these environment variables. |
---|
740 | Refer to |
---|
741 | .Cm AcceptEnv |
---|
742 | in |
---|
743 | .Xr sshd_config 5 |
---|
744 | for how to configure the server. |
---|
745 | Variables are specified by name, which may contain the wildcard characters |
---|
746 | .Ql \&* |
---|
747 | and |
---|
748 | .Ql \&? . |
---|
749 | Multiple environment variables may be separated by whitespace or spread |
---|
750 | across multiple |
---|
751 | .Cm SendEnv |
---|
752 | directives. |
---|
753 | The default is not to send any environment variables. |
---|
754 | .It Cm ServerAliveInterval |
---|
755 | Sets a timeout interval in seconds after which if no data has been received |
---|
756 | from the server, |
---|
757 | .Nm ssh |
---|
758 | will send a message through the encrypted |
---|
759 | channel to request a response from the server. |
---|
760 | The default |
---|
761 | is 0, indicating that these messages will not be sent to the server. |
---|
762 | This option applies to protocol version 2 only. |
---|
763 | .It Cm ServerAliveCountMax |
---|
764 | Sets the number of server alive messages (see above) which may be |
---|
765 | sent without |
---|
766 | .Nm ssh |
---|
767 | receiving any messages back from the server. |
---|
768 | If this threshold is reached while server alive messages are being sent, |
---|
769 | .Nm ssh |
---|
770 | will disconnect from the server, terminating the session. |
---|
771 | It is important to note that the use of server alive messages is very |
---|
772 | different from |
---|
773 | .Cm TCPKeepAlive |
---|
774 | (below). |
---|
775 | The server alive messages are sent through the encrypted channel |
---|
776 | and therefore will not be spoofable. |
---|
777 | The TCP keepalive option enabled by |
---|
778 | .Cm TCPKeepAlive |
---|
779 | is spoofable. |
---|
780 | The server alive mechanism is valuable when the client or |
---|
781 | server depend on knowing when a connection has become inactive. |
---|
782 | .Pp |
---|
783 | The default value is 3. |
---|
784 | If, for example, |
---|
785 | .Cm ServerAliveInterval |
---|
786 | (above) is set to 15, and |
---|
787 | .Cm ServerAliveCountMax |
---|
788 | is left at the default, if the server becomes unresponsive ssh |
---|
789 | will disconnect after approximately 45 seconds. |
---|
790 | .It Cm SmartcardDevice |
---|
791 | Specifies which smartcard device to use. |
---|
792 | The argument to this keyword is the device |
---|
793 | .Nm ssh |
---|
794 | should use to communicate with a smartcard used for storing the user's |
---|
795 | private RSA key. |
---|
796 | By default, no device is specified and smartcard support is not activated. |
---|
797 | .It Cm StrictHostKeyChecking |
---|
798 | If this flag is set to |
---|
799 | .Dq yes , |
---|
800 | .Nm ssh |
---|
801 | will never automatically add host keys to the |
---|
802 | .Pa ~/.ssh/known_hosts |
---|
803 | file, and refuses to connect to hosts whose host key has changed. |
---|
804 | This provides maximum protection against trojan horse attacks, |
---|
805 | however, can be annoying when the |
---|
806 | .Pa /etc/ssh/ssh_known_hosts |
---|
807 | file is poorly maintained, or connections to new hosts are |
---|
808 | frequently made. |
---|
809 | This option forces the user to manually |
---|
810 | add all new hosts. |
---|
811 | If this flag is set to |
---|
812 | .Dq no , |
---|
813 | .Nm ssh |
---|
814 | will automatically add new host keys to the |
---|
815 | user known hosts files. |
---|
816 | If this flag is set to |
---|
817 | .Dq ask , |
---|
818 | new host keys |
---|
819 | will be added to the user known host files only after the user |
---|
820 | has confirmed that is what they really want to do, and |
---|
821 | .Nm ssh |
---|
822 | will refuse to connect to hosts whose host key has changed. |
---|
823 | The host keys of |
---|
824 | known hosts will be verified automatically in all cases. |
---|
825 | The argument must be |
---|
826 | .Dq yes , |
---|
827 | .Dq no |
---|
828 | or |
---|
829 | .Dq ask . |
---|
830 | The default is |
---|
831 | .Dq ask . |
---|
832 | .It Cm TCPKeepAlive |
---|
833 | Specifies whether the system should send TCP keepalive messages to the |
---|
834 | other side. |
---|
835 | If they are sent, death of the connection or crash of one |
---|
836 | of the machines will be properly noticed. |
---|
837 | However, this means that |
---|
838 | connections will die if the route is down temporarily, and some people |
---|
839 | find it annoying. |
---|
840 | .Pp |
---|
841 | The default is |
---|
842 | .Dq yes |
---|
843 | (to send TCP keepalive messages), and the client will notice |
---|
844 | if the network goes down or the remote host dies. |
---|
845 | This is important in scripts, and many users want it too. |
---|
846 | .Pp |
---|
847 | To disable TCP keepalive messages, the value should be set to |
---|
848 | .Dq no . |
---|
849 | .It Cm UsePrivilegedPort |
---|
850 | Specifies whether to use a privileged port for outgoing connections. |
---|
851 | The argument must be |
---|
852 | .Dq yes |
---|
853 | or |
---|
854 | .Dq no . |
---|
855 | The default is |
---|
856 | .Dq no . |
---|
857 | If set to |
---|
858 | .Dq yes |
---|
859 | .Nm ssh |
---|
860 | must be setuid root. |
---|
861 | Note that this option must be set to |
---|
862 | .Dq yes |
---|
863 | for |
---|
864 | .Cm RhostsRSAAuthentication |
---|
865 | with older servers. |
---|
866 | .It Cm User |
---|
867 | Specifies the user to log in as. |
---|
868 | This can be useful when a different user name is used on different machines. |
---|
869 | This saves the trouble of |
---|
870 | having to remember to give the user name on the command line. |
---|
871 | .It Cm UserKnownHostsFile |
---|
872 | Specifies a file to use for the user |
---|
873 | host key database instead of |
---|
874 | .Pa ~/.ssh/known_hosts . |
---|
875 | .It Cm VerifyHostKeyDNS |
---|
876 | Specifies whether to verify the remote key using DNS and SSHFP resource |
---|
877 | records. |
---|
878 | If this option is set to |
---|
879 | .Dq yes , |
---|
880 | the client will implicitly trust keys that match a secure fingerprint |
---|
881 | from DNS. |
---|
882 | Insecure fingerprints will be handled as if this option was set to |
---|
883 | .Dq ask . |
---|
884 | If this option is set to |
---|
885 | .Dq ask , |
---|
886 | information on fingerprint match will be displayed, but the user will still |
---|
887 | need to confirm new host keys according to the |
---|
888 | .Cm StrictHostKeyChecking |
---|
889 | option. |
---|
890 | The argument must be |
---|
891 | .Dq yes , |
---|
892 | .Dq no |
---|
893 | or |
---|
894 | .Dq ask . |
---|
895 | The default is |
---|
896 | .Dq no . |
---|
897 | Note that this option applies to protocol version 2 only. |
---|
898 | .It Cm XAuthLocation |
---|
899 | Specifies the full pathname of the |
---|
900 | .Xr xauth 1 |
---|
901 | program. |
---|
902 | The default is |
---|
903 | .Pa /usr/X11R6/bin/xauth . |
---|
904 | .El |
---|
905 | .Sh FILES |
---|
906 | .Bl -tag -width Ds |
---|
907 | .It Pa ~/.ssh/config |
---|
908 | This is the per-user configuration file. |
---|
909 | The format of this file is described above. |
---|
910 | This file is used by the |
---|
911 | .Nm ssh |
---|
912 | client. |
---|
913 | Because of the potential for abuse, this file must have strict permissions: |
---|
914 | read/write for the user, and not accessible by others. |
---|
915 | .It Pa /etc/ssh/ssh_config |
---|
916 | Systemwide configuration file. |
---|
917 | This file provides defaults for those |
---|
918 | values that are not specified in the user's configuration file, and |
---|
919 | for those users who do not have a configuration file. |
---|
920 | This file must be world-readable. |
---|
921 | .El |
---|
922 | .Sh SEE ALSO |
---|
923 | .Xr ssh 1 |
---|
924 | .Sh AUTHORS |
---|
925 | OpenSSH is a derivative of the original and free |
---|
926 | ssh 1.2.12 release by Tatu Ylonen. |
---|
927 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, |
---|
928 | Theo de Raadt and Dug Song |
---|
929 | removed many bugs, re-added newer features and |
---|
930 | created OpenSSH. |
---|
931 | Markus Friedl contributed the support for SSH |
---|
932 | protocol versions 1.5 and 2.0. |
---|