Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 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 | .\" |
Damien Miller | 2234bac | 2004-06-30 22:38:52 +1000 | [diff] [blame] | 37 | .\" $OpenBSD: ssh_config.5,v 1.38 2004/06/26 09:11:14 jmc Exp $ |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 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 $HOME/.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: |
Ben Lindstrom | 479b476 | 2002-08-20 19:04:51 +0000 | [diff] [blame] | 53 | .Bl -enum -offset indent -compact |
| 54 | .It |
| 55 | command-line options |
| 56 | .It |
| 57 | user's configuration file |
| 58 | .Pq Pa $HOME/.ssh/config |
| 59 | .It |
| 60 | system-wide configuration file |
| 61 | .Pq Pa /etc/ssh/ssh_config |
| 62 | .El |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 63 | .Pp |
| 64 | For each parameter, the first obtained value |
| 65 | will be used. |
| 66 | The configuration files contain sections bracketed 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 |
Damien Miller | c2b9827 | 2003-09-03 12:13:30 +1000 | [diff] [blame] | 107 | .Ql \&? |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 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). |
Damien Miller | 20a8f97 | 2003-05-18 20:50:30 +1000 | [diff] [blame] | 118 | .It Cm AddressFamily |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 119 | Specifies which address family to use when connecting. |
| 120 | Valid arguments are |
Damien Miller | 20a8f97 | 2003-05-18 20:50:30 +1000 | [diff] [blame] | 121 | .Dq any , |
| 122 | .Dq inet |
| 123 | (Use IPv4 only) or |
| 124 | .Dq inet6 |
| 125 | (Use IPv6 only.) |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 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 | Specify the interface to transmit from on machines with multiple |
| 140 | interfaces or aliased addresses. |
| 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 | ssh will additionally check the host IP address in the |
| 157 | .Pa known_hosts |
| 158 | file. |
| 159 | This allows ssh to detect if a host key changed due to DNS spoofing. |
| 160 | If the option is set to |
| 161 | .Dq no , |
| 162 | the check will not be executed. |
| 163 | The default is |
| 164 | .Dq yes . |
| 165 | .It Cm Cipher |
| 166 | Specifies the cipher to use for encrypting the session |
| 167 | in protocol version 1. |
| 168 | Currently, |
| 169 | .Dq blowfish , |
| 170 | .Dq 3des , |
| 171 | and |
| 172 | .Dq des |
| 173 | are supported. |
| 174 | .Ar des |
| 175 | is only supported in the |
| 176 | .Nm ssh |
| 177 | client for interoperability with legacy protocol 1 implementations |
| 178 | that do not support the |
| 179 | .Ar 3des |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 180 | cipher. |
| 181 | Its use is strongly discouraged due to cryptographic weaknesses. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 182 | The default is |
| 183 | .Dq 3des . |
| 184 | .It Cm Ciphers |
| 185 | Specifies the ciphers allowed for protocol version 2 |
| 186 | in order of preference. |
| 187 | Multiple ciphers must be comma-separated. |
Damien Miller | 05202ff | 2004-06-15 10:30:39 +1000 | [diff] [blame] | 188 | The supported ciphers are |
| 189 | .Dq 3des-cbc , |
| 190 | .Dq aes128-cbc , |
| 191 | .Dq aes192-cbc , |
| 192 | .Dq aes256-cbc , |
| 193 | .Dq aes128-ctr , |
| 194 | .Dq aes192-ctr , |
| 195 | .Dq aes256-ctr , |
| 196 | .Dq arcfour , |
| 197 | .Dq blowfish-cbc , |
| 198 | and |
| 199 | .Dq cast128-cbc . |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 200 | The default is |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 201 | .Bd -literal |
| 202 | ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, |
| 203 | aes192-cbc,aes256-cbc'' |
| 204 | .Ed |
| 205 | .It Cm ClearAllForwardings |
| 206 | Specifies that all local, remote and dynamic port forwardings |
| 207 | specified in the configuration files or on the command line be |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 208 | cleared. |
| 209 | This option is primarily useful when used from the |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 210 | .Nm ssh |
| 211 | command line to clear port forwardings set in |
| 212 | configuration files, and is automatically set by |
| 213 | .Xr scp 1 |
| 214 | and |
| 215 | .Xr sftp 1 . |
| 216 | The argument must be |
| 217 | .Dq yes |
| 218 | or |
| 219 | .Dq no . |
| 220 | The default is |
| 221 | .Dq no . |
| 222 | .It Cm Compression |
| 223 | Specifies whether to use compression. |
| 224 | The argument must be |
| 225 | .Dq yes |
| 226 | or |
| 227 | .Dq no . |
| 228 | The default is |
| 229 | .Dq no . |
| 230 | .It Cm CompressionLevel |
| 231 | Specifies the compression level to use if compression is enabled. |
| 232 | The argument must be an integer from 1 (fast) to 9 (slow, best). |
| 233 | The default level is 6, which is good for most applications. |
| 234 | The meaning of the values is the same as in |
| 235 | .Xr gzip 1 . |
| 236 | Note that this option applies to protocol version 1 only. |
| 237 | .It Cm ConnectionAttempts |
| 238 | Specifies the number of tries (one per second) to make before exiting. |
| 239 | The argument must be an integer. |
| 240 | This may be useful in scripts if the connection sometimes fails. |
| 241 | The default is 1. |
Damien Miller | b78d5eb | 2003-05-16 11:39:04 +1000 | [diff] [blame] | 242 | .It Cm ConnectTimeout |
| 243 | Specifies the timeout (in seconds) used when connecting to the ssh |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 244 | server, instead of using the default system TCP timeout. |
| 245 | This value is used only when the target is down or really unreachable, |
| 246 | not when it refuses the connection. |
Damien Miller | 0e220db | 2004-06-15 10:34:08 +1000 | [diff] [blame] | 247 | .It Cm ControlMaster |
| 248 | Enables the sharing of multiple sessions over a single network connection. |
| 249 | When set to |
| 250 | .Dq yes |
| 251 | .Nm ssh |
| 252 | will listen for connections on a control socket specified using the |
| 253 | .Cm ControlPath |
| 254 | argument. |
| 255 | Additional sessions can connect to this socket using the same |
| 256 | .Cm ControlPath |
| 257 | with |
| 258 | .Cm ControlMaster |
| 259 | set to |
| 260 | .Dq no |
Damien Miller | 2234bac | 2004-06-30 22:38:52 +1000 | [diff] [blame] | 261 | (the default). |
Damien Miller | 0e220db | 2004-06-15 10:34:08 +1000 | [diff] [blame] | 262 | These sessions will reuse the master instance's network connection rather |
| 263 | than initiating new ones. |
Damien Miller | 23f0770 | 2004-06-18 01:19:03 +1000 | [diff] [blame] | 264 | Setting this to |
| 265 | .Dq ask |
| 266 | will cause |
| 267 | .Nm ssh |
| 268 | to listen for control connections, but require confirmation using the |
| 269 | .Ev SSH_ASKPASS |
| 270 | program before they are accepted (see |
| 271 | .Xr ssh-add 1 |
Damien Miller | 2234bac | 2004-06-30 22:38:52 +1000 | [diff] [blame] | 272 | for details). |
Damien Miller | 0e220db | 2004-06-15 10:34:08 +1000 | [diff] [blame] | 273 | .It Cm ControlPath |
Damien Miller | 2234bac | 2004-06-30 22:38:52 +1000 | [diff] [blame] | 274 | Specify the path to the control socket used for connection sharing. |
Damien Miller | 0e220db | 2004-06-15 10:34:08 +1000 | [diff] [blame] | 275 | See |
| 276 | .Cm ControlMaster |
| 277 | above. |
Damien Miller | 2234bac | 2004-06-30 22:38:52 +1000 | [diff] [blame] | 278 | .It Cm DynamicForward |
| 279 | Specifies that a TCP/IP port on the local machine be forwarded |
| 280 | over the secure channel, and the application |
| 281 | protocol is then used to determine where to connect to from the |
| 282 | remote machine. |
| 283 | The argument must be a port number. |
| 284 | Currently the SOCKS4 and SOCKS5 protocols are supported, and |
| 285 | .Nm ssh |
| 286 | will act as a SOCKS server. |
| 287 | Multiple forwardings may be specified, and |
| 288 | additional forwardings can be given on the command line. |
| 289 | Only the superuser can forward privileged ports. |
Darren Tucker | 674f71d | 2003-06-28 12:33:12 +1000 | [diff] [blame] | 290 | .It Cm EnableSSHKeysign |
| 291 | Setting this option to |
| 292 | .Dq yes |
| 293 | in the global client configuration file |
| 294 | .Pa /etc/ssh/ssh_config |
| 295 | enables the use of the helper program |
| 296 | .Xr ssh-keysign 8 |
| 297 | during |
| 298 | .Cm HostbasedAuthentication . |
| 299 | The argument must be |
| 300 | .Dq yes |
| 301 | or |
| 302 | .Dq no . |
| 303 | The default is |
| 304 | .Dq no . |
Darren Tucker | f132c67 | 2003-10-15 15:58:18 +1000 | [diff] [blame] | 305 | This option should be placed in the non-hostspecific section. |
Darren Tucker | 674f71d | 2003-06-28 12:33:12 +1000 | [diff] [blame] | 306 | See |
| 307 | .Xr ssh-keysign 8 |
| 308 | for more information. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 309 | .It Cm EscapeChar |
| 310 | Sets the escape character (default: |
| 311 | .Ql ~ ) . |
| 312 | The escape character can also |
| 313 | be set on the command line. |
| 314 | The argument should be a single character, |
| 315 | .Ql ^ |
| 316 | followed by a letter, or |
| 317 | .Dq none |
| 318 | to disable the escape |
| 319 | character entirely (making the connection transparent for binary |
| 320 | data). |
| 321 | .It Cm ForwardAgent |
| 322 | Specifies whether the connection to the authentication agent (if any) |
| 323 | will be forwarded to the remote machine. |
| 324 | The argument must be |
| 325 | .Dq yes |
| 326 | or |
| 327 | .Dq no . |
| 328 | The default is |
| 329 | .Dq no . |
Damien Miller | af65304 | 2002-09-04 16:40:37 +1000 | [diff] [blame] | 330 | .Pp |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 331 | Agent forwarding should be enabled with caution. |
| 332 | Users with the ability to bypass file permissions on the remote host |
| 333 | (for the agent's Unix-domain socket) |
| 334 | can access the local agent through the forwarded connection. |
| 335 | An attacker cannot obtain key material from the agent, |
Damien Miller | af65304 | 2002-09-04 16:40:37 +1000 | [diff] [blame] | 336 | however they can perform operations on the keys that enable them to |
| 337 | authenticate using the identities loaded into the agent. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 338 | .It Cm ForwardX11 |
| 339 | Specifies whether X11 connections will be automatically redirected |
| 340 | over the secure channel and |
| 341 | .Ev DISPLAY |
| 342 | set. |
| 343 | The argument must be |
| 344 | .Dq yes |
| 345 | or |
| 346 | .Dq no . |
| 347 | The default is |
| 348 | .Dq no . |
Damien Miller | af65304 | 2002-09-04 16:40:37 +1000 | [diff] [blame] | 349 | .Pp |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 350 | X11 forwarding should be enabled with caution. |
| 351 | Users with the ability to bypass file permissions on the remote host |
Darren Tucker | 0a118da | 2003-10-15 15:54:32 +1000 | [diff] [blame] | 352 | (for the user's X11 authorization database) |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 353 | can access the local X11 display through the forwarded connection. |
Darren Tucker | 0a118da | 2003-10-15 15:54:32 +1000 | [diff] [blame] | 354 | An attacker may then be able to perform activities such as keystroke monitoring |
| 355 | if the |
| 356 | .Cm ForwardX11Trusted |
| 357 | option is also enabled. |
| 358 | .It Cm ForwardX11Trusted |
Darren Tucker | dcf6ec4 | 2004-05-13 13:03:56 +1000 | [diff] [blame] | 359 | If this option is set to |
Darren Tucker | 0a118da | 2003-10-15 15:54:32 +1000 | [diff] [blame] | 360 | .Dq yes |
| 361 | then remote X11 clients will have full access to the original X11 display. |
| 362 | If this option is set to |
| 363 | .Dq no |
| 364 | then remote X11 clients will be considered untrusted and prevented |
| 365 | from stealing or tampering with data belonging to trusted X11 |
| 366 | clients. |
| 367 | .Pp |
| 368 | The default is |
| 369 | .Dq no . |
| 370 | .Pp |
| 371 | See the X11 SECURITY extension specification for full details on |
| 372 | the restrictions imposed on untrusted clients. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 373 | .It Cm GatewayPorts |
| 374 | Specifies whether remote hosts are allowed to connect to local |
| 375 | forwarded ports. |
| 376 | By default, |
| 377 | .Nm ssh |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 378 | binds local port forwardings to the loopback address. |
| 379 | This prevents other remote hosts from connecting to forwarded ports. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 380 | .Cm GatewayPorts |
| 381 | can be used to specify that |
| 382 | .Nm ssh |
| 383 | should bind local port forwardings to the wildcard address, |
| 384 | thus allowing remote hosts to connect to forwarded ports. |
| 385 | The argument must be |
| 386 | .Dq yes |
| 387 | or |
| 388 | .Dq no . |
| 389 | The default is |
| 390 | .Dq no . |
| 391 | .It Cm GlobalKnownHostsFile |
| 392 | Specifies a file to use for the global |
| 393 | host key database instead of |
| 394 | .Pa /etc/ssh/ssh_known_hosts . |
Darren Tucker | 0efd155 | 2003-08-26 11:49:55 +1000 | [diff] [blame] | 395 | .It Cm GSSAPIAuthentication |
Damien Miller | baafb98 | 2003-12-17 16:32:23 +1100 | [diff] [blame] | 396 | Specifies whether user authentication based on GSSAPI is allowed. |
Damien Miller | c2b9827 | 2003-09-03 12:13:30 +1000 | [diff] [blame] | 397 | The default is |
Darren Tucker | a044f47 | 2003-10-15 15:52:03 +1000 | [diff] [blame] | 398 | .Dq no . |
Darren Tucker | 0efd155 | 2003-08-26 11:49:55 +1000 | [diff] [blame] | 399 | Note that this option applies to protocol version 2 only. |
| 400 | .It Cm GSSAPIDelegateCredentials |
| 401 | Forward (delegate) credentials to the server. |
| 402 | The default is |
| 403 | .Dq no . |
| 404 | Note that this option applies to protocol version 2 only. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 405 | .It Cm HostbasedAuthentication |
| 406 | Specifies whether to try rhosts based authentication with public key |
| 407 | authentication. |
| 408 | The argument must be |
| 409 | .Dq yes |
| 410 | or |
| 411 | .Dq no . |
| 412 | The default is |
| 413 | .Dq no . |
| 414 | This option applies to protocol version 2 only and |
| 415 | is similar to |
| 416 | .Cm RhostsRSAAuthentication . |
| 417 | .It Cm HostKeyAlgorithms |
| 418 | Specifies the protocol version 2 host key algorithms |
| 419 | that the client wants to use in order of preference. |
| 420 | The default for this option is: |
| 421 | .Dq ssh-rsa,ssh-dss . |
| 422 | .It Cm HostKeyAlias |
| 423 | Specifies an alias that should be used instead of the |
| 424 | real host name when looking up or saving the host key |
| 425 | in the host key database files. |
| 426 | This option is useful for tunneling ssh connections |
| 427 | or for multiple servers running on a single host. |
| 428 | .It Cm HostName |
| 429 | Specifies the real host name to log into. |
| 430 | This can be used to specify nicknames or abbreviations for hosts. |
| 431 | Default is the name given on the command line. |
| 432 | Numeric IP addresses are also permitted (both on the command line and in |
| 433 | .Cm HostName |
| 434 | specifications). |
| 435 | .It Cm IdentityFile |
| 436 | Specifies a file from which the user's RSA or DSA authentication identity |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 437 | is read. |
| 438 | The default is |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 439 | .Pa $HOME/.ssh/identity |
| 440 | for protocol version 1, and |
| 441 | .Pa $HOME/.ssh/id_rsa |
| 442 | and |
| 443 | .Pa $HOME/.ssh/id_dsa |
| 444 | for protocol version 2. |
| 445 | Additionally, any identities represented by the authentication agent |
| 446 | will be used for authentication. |
| 447 | The file name may use the tilde |
| 448 | syntax to refer to a user's home directory. |
| 449 | It is possible to have |
| 450 | multiple identity files specified in configuration files; all these |
| 451 | identities will be tried in sequence. |
Damien Miller | bd394c3 | 2004-03-08 23:12:36 +1100 | [diff] [blame] | 452 | .It Cm IdentitiesOnly |
| 453 | Specifies that |
| 454 | .Nm ssh |
| 455 | should only use the authentication identity files configured in the |
Damien Miller | 1a81258 | 2004-04-20 20:13:32 +1000 | [diff] [blame] | 456 | .Nm |
Damien Miller | bd394c3 | 2004-03-08 23:12:36 +1100 | [diff] [blame] | 457 | files, |
| 458 | even if the |
| 459 | .Nm ssh-agent |
| 460 | offers more identities. |
| 461 | The argument to this keyword must be |
| 462 | .Dq yes |
| 463 | or |
| 464 | .Dq no . |
| 465 | This option is intented for situations where |
| 466 | .Nm ssh-agent |
| 467 | offers many different identities. |
| 468 | The default is |
| 469 | .Dq no . |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 470 | .It Cm LocalForward |
| 471 | Specifies that a TCP/IP port on the local machine be forwarded over |
| 472 | the secure channel to the specified host and port from the remote machine. |
| 473 | The first argument must be a port number, and the second must be |
| 474 | .Ar host:port . |
| 475 | IPv6 addresses can be specified with an alternative syntax: |
| 476 | .Ar host/port . |
| 477 | Multiple forwardings may be specified, and additional |
| 478 | forwardings can be given on the command line. |
| 479 | Only the superuser can forward privileged ports. |
| 480 | .It Cm LogLevel |
| 481 | Gives the verbosity level that is used when logging messages from |
| 482 | .Nm ssh . |
| 483 | The possible values are: |
| 484 | QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 485 | The default is INFO. |
| 486 | DEBUG and DEBUG1 are equivalent. |
| 487 | DEBUG2 and DEBUG3 each specify higher levels of verbose output. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 488 | .It Cm MACs |
| 489 | Specifies the MAC (message authentication code) algorithms |
| 490 | in order of preference. |
| 491 | The MAC algorithm is used in protocol version 2 |
| 492 | for data integrity protection. |
| 493 | Multiple algorithms must be comma-separated. |
| 494 | The default is |
| 495 | .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 . |
| 496 | .It Cm NoHostAuthenticationForLocalhost |
| 497 | This option can be used if the home directory is shared across machines. |
| 498 | In this case localhost will refer to a different machine on each of |
| 499 | the machines and the user will get many warnings about changed host keys. |
| 500 | However, this option disables host authentication for localhost. |
| 501 | The argument to this keyword must be |
| 502 | .Dq yes |
| 503 | or |
| 504 | .Dq no . |
| 505 | The default is to check the host key for localhost. |
| 506 | .It Cm NumberOfPasswordPrompts |
| 507 | Specifies the number of password prompts before giving up. |
| 508 | The argument to this keyword must be an integer. |
| 509 | Default is 3. |
| 510 | .It Cm PasswordAuthentication |
| 511 | Specifies whether to use password authentication. |
| 512 | The argument to this keyword must be |
| 513 | .Dq yes |
| 514 | or |
| 515 | .Dq no . |
| 516 | The default is |
| 517 | .Dq yes . |
| 518 | .It Cm Port |
| 519 | Specifies the port number to connect on the remote host. |
| 520 | Default is 22. |
| 521 | .It Cm PreferredAuthentications |
| 522 | Specifies the order in which the client should try protocol 2 |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 523 | authentication methods. |
| 524 | This allows a client to prefer one method (e.g. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 525 | .Cm keyboard-interactive ) |
| 526 | over another method (e.g. |
| 527 | .Cm password ) |
| 528 | The default for this option is: |
| 529 | .Dq hostbased,publickey,keyboard-interactive,password . |
| 530 | .It Cm Protocol |
| 531 | Specifies the protocol versions |
| 532 | .Nm ssh |
| 533 | should support in order of preference. |
| 534 | The possible values are |
| 535 | .Dq 1 |
| 536 | and |
| 537 | .Dq 2 . |
| 538 | Multiple versions must be comma-separated. |
| 539 | The default is |
| 540 | .Dq 2,1 . |
| 541 | This means that |
| 542 | .Nm ssh |
| 543 | tries version 2 and falls back to version 1 |
| 544 | if version 2 is not available. |
| 545 | .It Cm ProxyCommand |
| 546 | Specifies the command to use to connect to the server. |
| 547 | The command |
| 548 | string extends to the end of the line, and is executed with |
| 549 | .Pa /bin/sh . |
| 550 | In the command string, |
| 551 | .Ql %h |
| 552 | will be substituted by the host name to |
| 553 | connect and |
| 554 | .Ql %p |
| 555 | by the port. |
| 556 | The command can be basically anything, |
| 557 | and should read from its standard input and write to its standard output. |
| 558 | It should eventually connect an |
| 559 | .Xr sshd 8 |
| 560 | server running on some machine, or execute |
| 561 | .Ic sshd -i |
| 562 | somewhere. |
| 563 | Host key management will be done using the |
| 564 | HostName of the host being connected (defaulting to the name typed by |
| 565 | the user). |
Damien Miller | 495dca3 | 2003-04-01 21:42:14 +1000 | [diff] [blame] | 566 | Setting the command to |
| 567 | .Dq none |
Damien Miller | 9f1e33a | 2003-02-24 11:57:32 +1100 | [diff] [blame] | 568 | disables this option entirely. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 569 | Note that |
| 570 | .Cm CheckHostIP |
| 571 | is not available for connects with a proxy command. |
| 572 | .Pp |
| 573 | .It Cm PubkeyAuthentication |
| 574 | Specifies whether to try public key authentication. |
| 575 | The argument to this keyword must be |
| 576 | .Dq yes |
| 577 | or |
| 578 | .Dq no . |
| 579 | The default is |
| 580 | .Dq yes . |
| 581 | This option applies to protocol version 2 only. |
| 582 | .It Cm RemoteForward |
| 583 | Specifies that a TCP/IP port on the remote machine be forwarded over |
| 584 | the secure channel to the specified host and port from the local machine. |
| 585 | The first argument must be a port number, and the second must be |
| 586 | .Ar host:port . |
| 587 | IPv6 addresses can be specified with an alternative syntax: |
| 588 | .Ar host/port . |
| 589 | Multiple forwardings may be specified, and additional |
| 590 | forwardings can be given on the command line. |
| 591 | Only the superuser can forward privileged ports. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 592 | .It Cm RhostsRSAAuthentication |
| 593 | Specifies whether to try rhosts based authentication with RSA host |
| 594 | authentication. |
| 595 | The argument must be |
| 596 | .Dq yes |
| 597 | or |
| 598 | .Dq no . |
| 599 | The default is |
| 600 | .Dq no . |
| 601 | This option applies to protocol version 1 only and requires |
| 602 | .Nm ssh |
| 603 | to be setuid root. |
| 604 | .It Cm RSAAuthentication |
| 605 | Specifies whether to try RSA authentication. |
| 606 | The argument to this keyword must be |
| 607 | .Dq yes |
| 608 | or |
| 609 | .Dq no . |
| 610 | RSA authentication will only be |
| 611 | attempted if the identity file exists, or an authentication agent is |
| 612 | running. |
| 613 | The default is |
| 614 | .Dq yes . |
| 615 | Note that this option applies to protocol version 1 only. |
Darren Tucker | 46bc075 | 2004-05-02 22:11:30 +1000 | [diff] [blame] | 616 | .It Cm SendEnv |
| 617 | Specifies what variables from the local |
| 618 | .Xr environ 7 |
| 619 | should be sent to the server. |
| 620 | Note that environment passing is only supported for protocol 2, the |
Darren Tucker | 1e0c9bf | 2004-05-02 22:12:48 +1000 | [diff] [blame] | 621 | server must also support it, and the server must be configured to |
| 622 | accept these environment variables. |
Darren Tucker | 46bc075 | 2004-05-02 22:11:30 +1000 | [diff] [blame] | 623 | Refer to |
| 624 | .Cm AcceptEnv |
| 625 | in |
| 626 | .Xr sshd_config 5 |
| 627 | for how to configure the server. |
| 628 | Variables are specified by name, which may contain the wildcard characters |
| 629 | .Ql \&* |
| 630 | and |
| 631 | .Ql \&? . |
Darren Tucker | 1e0c9bf | 2004-05-02 22:12:48 +1000 | [diff] [blame] | 632 | Multiple environment variables may be separated by whitespace or spread |
Darren Tucker | 46bc075 | 2004-05-02 22:11:30 +1000 | [diff] [blame] | 633 | across multiple |
| 634 | .Cm SendEnv |
| 635 | directives. |
| 636 | The default is not to send any environment variables. |
Damien Miller | 509b010 | 2003-12-17 16:33:10 +1100 | [diff] [blame] | 637 | .It Cm ServerAliveInterval |
| 638 | Sets a timeout interval in seconds after which if no data has been received |
| 639 | from the server, |
| 640 | .Nm ssh |
| 641 | will send a message through the encrypted |
| 642 | channel to request a response from the server. |
| 643 | The default |
| 644 | is 0, indicating that these messages will not be sent to the server. |
| 645 | This option applies to protocol version 2 only. |
| 646 | .It Cm ServerAliveCountMax |
| 647 | Sets the number of server alive messages (see above) which may be |
| 648 | sent without |
| 649 | .Nm ssh |
| 650 | receiving any messages back from the server. |
| 651 | If this threshold is reached while server alive messages are being sent, |
| 652 | .Nm ssh |
| 653 | will disconnect from the server, terminating the session. |
| 654 | It is important to note that the use of server alive messages is very |
| 655 | different from |
| 656 | .Cm TCPKeepAlive |
| 657 | (below). |
| 658 | The server alive messages are sent through the encrypted channel |
| 659 | and therefore will not be spoofable. |
| 660 | The TCP keepalive option enabled by |
| 661 | .Cm TCPKeepAlive |
| 662 | is spoofable. |
| 663 | The server alive mechanism is valuable when the client or |
| 664 | server depend on knowing when a connection has become inactive. |
| 665 | .Pp |
| 666 | The default value is 3. |
| 667 | If, for example, |
| 668 | .Cm ServerAliveInterval |
| 669 | (above) is set to 15, and |
| 670 | .Cm ServerAliveCountMax |
| 671 | is left at the default, if the server becomes unresponsive ssh |
| 672 | will disconnect after approximately 45 seconds. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 673 | .It Cm SmartcardDevice |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 674 | Specifies which smartcard device to use. |
| 675 | The argument to this keyword is the device |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 676 | .Nm ssh |
| 677 | should use to communicate with a smartcard used for storing the user's |
Damien Miller | fbf486b | 2003-05-23 18:44:23 +1000 | [diff] [blame] | 678 | private RSA key. |
| 679 | By default, no device is specified and smartcard support is not activated. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 680 | .It Cm StrictHostKeyChecking |
| 681 | If this flag is set to |
| 682 | .Dq yes , |
| 683 | .Nm ssh |
| 684 | will never automatically add host keys to the |
| 685 | .Pa $HOME/.ssh/known_hosts |
| 686 | file, and refuses to connect to hosts whose host key has changed. |
| 687 | This provides maximum protection against trojan horse attacks, |
| 688 | however, can be annoying when the |
| 689 | .Pa /etc/ssh/ssh_known_hosts |
| 690 | file is poorly maintained, or connections to new hosts are |
| 691 | frequently made. |
| 692 | This option forces the user to manually |
| 693 | add all new hosts. |
| 694 | If this flag is set to |
| 695 | .Dq no , |
| 696 | .Nm ssh |
| 697 | will automatically add new host keys to the |
| 698 | user known hosts files. |
| 699 | If this flag is set to |
| 700 | .Dq ask , |
| 701 | new host keys |
| 702 | will be added to the user known host files only after the user |
| 703 | has confirmed that is what they really want to do, and |
| 704 | .Nm ssh |
| 705 | will refuse to connect to hosts whose host key has changed. |
| 706 | The host keys of |
| 707 | known hosts will be verified automatically in all cases. |
| 708 | The argument must be |
| 709 | .Dq yes , |
| 710 | .Dq no |
| 711 | or |
| 712 | .Dq ask . |
| 713 | The default is |
| 714 | .Dq ask . |
Damien Miller | 12c150e | 2003-12-17 16:31:10 +1100 | [diff] [blame] | 715 | .It Cm TCPKeepAlive |
| 716 | Specifies whether the system should send TCP keepalive messages to the |
| 717 | other side. |
| 718 | If they are sent, death of the connection or crash of one |
| 719 | of the machines will be properly noticed. |
| 720 | However, this means that |
| 721 | connections will die if the route is down temporarily, and some people |
| 722 | find it annoying. |
| 723 | .Pp |
| 724 | The default is |
| 725 | .Dq yes |
| 726 | (to send TCP keepalive messages), and the client will notice |
| 727 | if the network goes down or the remote host dies. |
| 728 | This is important in scripts, and many users want it too. |
| 729 | .Pp |
| 730 | To disable TCP keepalive messages, the value should be set to |
| 731 | .Dq no . |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 732 | .It Cm UsePrivilegedPort |
| 733 | Specifies whether to use a privileged port for outgoing connections. |
| 734 | The argument must be |
| 735 | .Dq yes |
| 736 | or |
| 737 | .Dq no . |
| 738 | The default is |
| 739 | .Dq no . |
Damien Miller | 9b1dacd | 2002-09-04 16:47:35 +1000 | [diff] [blame] | 740 | If set to |
| 741 | .Dq yes |
| 742 | .Nm ssh |
| 743 | must be setuid root. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 744 | Note that this option must be set to |
| 745 | .Dq yes |
Darren Tucker | ec960f2 | 2003-08-13 20:37:05 +1000 | [diff] [blame] | 746 | for |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 747 | .Cm RhostsRSAAuthentication |
Darren Tucker | ec960f2 | 2003-08-13 20:37:05 +1000 | [diff] [blame] | 748 | with older servers. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 749 | .It Cm User |
| 750 | Specifies the user to log in as. |
| 751 | This can be useful when a different user name is used on different machines. |
| 752 | This saves the trouble of |
| 753 | having to remember to give the user name on the command line. |
| 754 | .It Cm UserKnownHostsFile |
| 755 | Specifies a file to use for the user |
| 756 | host key database instead of |
| 757 | .Pa $HOME/.ssh/known_hosts . |
Damien Miller | 37876e9 | 2003-05-15 10:19:46 +1000 | [diff] [blame] | 758 | .It Cm VerifyHostKeyDNS |
| 759 | Specifies whether to verify the remote key using DNS and SSHFP resource |
| 760 | records. |
Damien Miller | 150b557 | 2003-11-17 21:19:29 +1100 | [diff] [blame] | 761 | If this option is set to |
| 762 | .Dq yes , |
Damien Miller | fe44847 | 2003-11-17 21:19:49 +1100 | [diff] [blame] | 763 | the client will implicitly trust keys that match a secure fingerprint |
Damien Miller | 150b557 | 2003-11-17 21:19:29 +1100 | [diff] [blame] | 764 | from DNS. |
| 765 | Insecure fingerprints will be handled as if this option was set to |
| 766 | .Dq ask . |
| 767 | If this option is set to |
| 768 | .Dq ask , |
| 769 | information on fingerprint match will be displayed, but the user will still |
| 770 | need to confirm new host keys according to the |
| 771 | .Cm StrictHostKeyChecking |
| 772 | option. |
| 773 | The argument must be |
| 774 | .Dq yes , |
| 775 | .Dq no |
Damien Miller | fe44847 | 2003-11-17 21:19:49 +1100 | [diff] [blame] | 776 | or |
| 777 | .Dq ask . |
Damien Miller | 37876e9 | 2003-05-15 10:19:46 +1000 | [diff] [blame] | 778 | The default is |
| 779 | .Dq no . |
Damien Miller | eacbb4f | 2003-06-02 19:10:41 +1000 | [diff] [blame] | 780 | Note that this option applies to protocol version 2 only. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 781 | .It Cm XAuthLocation |
Damien Miller | 05913ba | 2002-09-04 16:51:03 +1000 | [diff] [blame] | 782 | Specifies the full pathname of the |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 783 | .Xr xauth 1 |
| 784 | program. |
| 785 | The default is |
| 786 | .Pa /usr/X11R6/bin/xauth . |
| 787 | .El |
| 788 | .Sh FILES |
| 789 | .Bl -tag -width Ds |
| 790 | .It Pa $HOME/.ssh/config |
| 791 | This is the per-user configuration file. |
| 792 | The format of this file is described above. |
| 793 | This file is used by the |
| 794 | .Nm ssh |
| 795 | client. |
Damien Miller | c970cb9 | 2004-04-20 20:12:53 +1000 | [diff] [blame] | 796 | Because of the potential for abuse, this file must have strict permissions: |
| 797 | read/write for the user, and not accessible by others. |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 798 | .It Pa /etc/ssh/ssh_config |
| 799 | Systemwide configuration file. |
| 800 | This file provides defaults for those |
| 801 | values that are not specified in the user's configuration file, and |
| 802 | for those users who do not have a configuration file. |
| 803 | This file must be world-readable. |
| 804 | .El |
Damien Miller | f1ce505 | 2003-06-11 22:04:39 +1000 | [diff] [blame] | 805 | .Sh SEE ALSO |
| 806 | .Xr ssh 1 |
Ben Lindstrom | 9f04903 | 2002-06-21 00:59:05 +0000 | [diff] [blame] | 807 | .Sh AUTHORS |
| 808 | OpenSSH is a derivative of the original and free |
| 809 | ssh 1.2.12 release by Tatu Ylonen. |
| 810 | Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, |
| 811 | Theo de Raadt and Dug Song |
| 812 | removed many bugs, re-added newer features and |
| 813 | created OpenSSH. |
| 814 | Markus Friedl contributed the support for SSH |
| 815 | protocol versions 1.5 and 2.0. |