]> andersk Git - gssapi-openssh.git/blame - openssh/ssh_config.5
in userauth_gssapi(), try each supported GSSAPI mechanism
[gssapi-openssh.git] / openssh / ssh_config.5
CommitLineData
884dc78b 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.1 2002/06/20 19:56:07 stevesk 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 $HOME/.ssh/config
47.It Pa /etc/ssh/ssh_config
48.El
49.Sh DESCRIPTION
50.Nm ssh
51obtains configuration data from the following sources in
52the following order:
44a053a3 53command line options,
54feature-specific user configuration file(s) (see below),
55user's configuration file
884dc78b 56.Pq Pa $HOME/.ssh/config ,
57and system-wide configuration file
58.Pq Pa /etc/ssh/ssh_config .
44a053a3 59For compatibility with other
60.Nm
61versions, the following feature-specific user configuration files
62will be processed after the command line options but before the user's
63main configuration file, so options that other
64.Nm
65versions may not support don't need to go in the main configuration file:
66.Bl -tag -width Ds
67.It Pa $HOME/.ssh/config.gssapi
68Read if GSSAPI authentication is supported. This is a good place for
69the GssapiAuthentication and GssapiDelegateCredentials options.
70.It Pa $HOME/.ssh/config.krb
71Read if Kerberos authentication is supported. This is a good place
72for the KerberosAuthentication and KerberosTgtPassing options.
73.It Pa $HOME/.ssh/config.afs
74Read if AFS token passing is supported. This is a good place for the
75AfsTokenPassing option.
76.El
884dc78b 77.Pp
78For each parameter, the first obtained value
79will be used.
80The configuration files contain sections bracketed by
81.Dq Host
82specifications, and that section is only applied for hosts that
83match one of the patterns given in the specification.
84The matched host name is the one given on the command line.
85.Pp
86Since the first obtained value for each parameter is used, more
87host-specific declarations should be given near the beginning of the
88file, and general defaults at the end.
89.Pp
90The configuration file has the following format:
91.Pp
92Empty lines and lines starting with
93.Ql #
94are comments.
95.Pp
96Otherwise a line is of the format
97.Dq keyword arguments .
98Configuration options may be separated by whitespace or
99optional whitespace and exactly one
100.Ql = ;
101the latter format is useful to avoid the need to quote whitespace
102when specifying configuration options using the
103.Nm ssh ,
104.Nm scp
105and
106.Nm sftp
107.Fl o
108option.
109.Pp
110The possible
111keywords and their meanings are as follows (note that
112keywords are case-insensitive and arguments are case-sensitive):
113.Bl -tag -width Ds
114.It Cm Host
115Restricts the following declarations (up to the next
116.Cm Host
117keyword) to be only for those hosts that match one of the patterns
118given after the keyword.
119.Ql \&*
120and
121.Ql ?
122can be used as wildcards in the
123patterns.
124A single
125.Ql \&*
126as a pattern can be used to provide global
127defaults for all hosts.
128The host is the
129.Ar hostname
130argument given on the command line (i.e., the name is not converted to
131a canonicalized host name before matching).
132.It Cm AFSTokenPassing
133Specifies whether to pass AFS tokens to remote host.
134The argument to this keyword must be
135.Dq yes
136or
137.Dq no .
138This option applies to protocol version 1 only.
139.It Cm BatchMode
140If set to
141.Dq yes ,
142passphrase/password querying will be disabled.
143This option is useful in scripts and other batch jobs where no user
144is present to supply the password.
145The argument must be
146.Dq yes
147or
148.Dq no .
149The default is
150.Dq no .
151.It Cm BindAddress
152Specify the interface to transmit from on machines with multiple
153interfaces or aliased addresses.
154Note that this option does not work if
155.Cm UsePrivilegedPort
156is set to
157.Dq yes .
158.It Cm ChallengeResponseAuthentication
159Specifies whether to use challenge response authentication.
160The argument to this keyword must be
161.Dq yes
162or
163.Dq no .
164The default is
165.Dq yes .
166.It Cm CheckHostIP
167If this flag is set to
168.Dq yes ,
169ssh will additionally check the host IP address in the
170.Pa known_hosts
171file.
172This allows ssh to detect if a host key changed due to DNS spoofing.
173If the option is set to
174.Dq no ,
175the check will not be executed.
176The default is
177.Dq yes .
178.It Cm Cipher
179Specifies the cipher to use for encrypting the session
180in protocol version 1.
181Currently,
182.Dq blowfish ,
183.Dq 3des ,
184and
185.Dq des
186are supported.
187.Ar des
188is only supported in the
189.Nm ssh
190client for interoperability with legacy protocol 1 implementations
191that do not support the
192.Ar 3des
193cipher. Its use is strongly discouraged due to cryptographic
194weaknesses.
195The default is
196.Dq 3des .
197.It Cm Ciphers
198Specifies the ciphers allowed for protocol version 2
199in order of preference.
200Multiple ciphers must be comma-separated.
201The default is
202.Pp
203.Bd -literal
204 ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,
205 aes192-cbc,aes256-cbc''
206.Ed
207.It Cm ClearAllForwardings
208Specifies that all local, remote and dynamic port forwardings
209specified in the configuration files or on the command line be
210cleared. This option is primarily useful when used from the
211.Nm ssh
212command line to clear port forwardings set in
213configuration files, and is automatically set by
214.Xr scp 1
215and
216.Xr sftp 1 .
217The argument must be
218.Dq yes
219or
220.Dq no .
221The default is
222.Dq no .
223.It Cm Compression
224Specifies whether to use compression.
225The argument must be
226.Dq yes
227or
228.Dq no .
229The default is
230.Dq no .
231.It Cm CompressionLevel
232Specifies the compression level to use if compression is enabled.
233The argument must be an integer from 1 (fast) to 9 (slow, best).
234The default level is 6, which is good for most applications.
235The meaning of the values is the same as in
236.Xr gzip 1 .
237Note that this option applies to protocol version 1 only.
238.It Cm ConnectionAttempts
239Specifies the number of tries (one per second) to make before exiting.
240The argument must be an integer.
241This may be useful in scripts if the connection sometimes fails.
242The default is 1.
243.It Cm DynamicForward
244Specifies that a TCP/IP port on the local machine be forwarded
245over the secure channel, and the application
246protocol is then used to determine where to connect to from the
247remote machine. The argument must be a port number.
248Currently the SOCKS4 protocol is supported, and
249.Nm ssh
250will act as a SOCKS4 server.
251Multiple forwardings may be specified, and
252additional forwardings can be given on the command line. Only
253the superuser can forward privileged ports.
254.It Cm EscapeChar
255Sets the escape character (default:
256.Ql ~ ) .
257The escape character can also
258be set on the command line.
259The argument should be a single character,
260.Ql ^
261followed by a letter, or
262.Dq none
263to disable the escape
264character entirely (making the connection transparent for binary
265data).
266.It Cm ForwardAgent
267Specifies whether the connection to the authentication agent (if any)
268will be forwarded to the remote machine.
269The argument must be
270.Dq yes
271or
272.Dq no .
273The default is
274.Dq no .
275.It Cm ForwardX11
276Specifies whether X11 connections will be automatically redirected
277over the secure channel and
278.Ev DISPLAY
279set.
280The argument must be
281.Dq yes
282or
283.Dq no .
284The default is
285.Dq no .
286.It Cm GatewayPorts
287Specifies whether remote hosts are allowed to connect to local
288forwarded ports.
289By default,
290.Nm ssh
291binds local port forwardings to the loopback address. This
292prevents other remote hosts from connecting to forwarded ports.
293.Cm GatewayPorts
294can be used to specify that
295.Nm ssh
296should bind local port forwardings to the wildcard address,
297thus allowing remote hosts to connect to forwarded ports.
298The argument must be
299.Dq yes
300or
301.Dq no .
302The default is
303.Dq no .
304.It Cm GlobalKnownHostsFile
305Specifies a file to use for the global
306host key database instead of
307.Pa /etc/ssh/ssh_known_hosts .
44a053a3 308.It Cm GssapiAuthentication
309Specifies whether authentication based on GSSAPI may be used, either using
310the result of a successful key exchange, or using GSSAPI user
311authentication.
312The default is
313.Dq yes .
314.It Cm GssapiDelegateCredentials
315Specifies whether GSSAPI credentials will be delegated (forwarded) to
316the server.
317The default is
318.Dq yes .
884dc78b 319.It Cm HostbasedAuthentication
320Specifies whether to try rhosts based authentication with public key
321authentication.
322The argument must be
323.Dq yes
324or
325.Dq no .
326The default is
327.Dq no .
328This option applies to protocol version 2 only and
329is similar to
330.Cm RhostsRSAAuthentication .
331.It Cm HostKeyAlgorithms
332Specifies the protocol version 2 host key algorithms
333that the client wants to use in order of preference.
334The default for this option is:
335.Dq ssh-rsa,ssh-dss .
336.It Cm HostKeyAlias
337Specifies an alias that should be used instead of the
338real host name when looking up or saving the host key
339in the host key database files.
340This option is useful for tunneling ssh connections
341or for multiple servers running on a single host.
342.It Cm HostName
343Specifies the real host name to log into.
344This can be used to specify nicknames or abbreviations for hosts.
345Default is the name given on the command line.
346Numeric IP addresses are also permitted (both on the command line and in
347.Cm HostName
348specifications).
349.It Cm IdentityFile
350Specifies a file from which the user's RSA or DSA authentication identity
351is read. The default is
352.Pa $HOME/.ssh/identity
353for protocol version 1, and
354.Pa $HOME/.ssh/id_rsa
355and
356.Pa $HOME/.ssh/id_dsa
357for protocol version 2.
358Additionally, any identities represented by the authentication agent
359will be used for authentication.
360The file name may use the tilde
361syntax to refer to a user's home directory.
362It is possible to have
363multiple identity files specified in configuration files; all these
364identities will be tried in sequence.
365.It Cm KeepAlive
366Specifies whether the system should send TCP keepalive messages to the
367other side.
368If they are sent, death of the connection or crash of one
369of the machines will be properly noticed.
370However, this means that
371connections will die if the route is down temporarily, and some people
372find it annoying.
373.Pp
374The default is
375.Dq yes
376(to send keepalives), and the client will notice
377if the network goes down or the remote host dies.
378This is important in scripts, and many users want it too.
379.Pp
380To disable keepalives, the value should be set to
381.Dq no .
382.It Cm KerberosAuthentication
383Specifies whether Kerberos authentication will be used.
384The argument to this keyword must be
385.Dq yes
386or
387.Dq no .
388.It Cm KerberosTgtPassing
389Specifies whether a Kerberos TGT will be forwarded to the server.
390This will only work if the Kerberos server is actually an AFS kaserver.
391The argument to this keyword must be
392.Dq yes
393or
394.Dq no .
395.It Cm LocalForward
396Specifies that a TCP/IP port on the local machine be forwarded over
397the secure channel to the specified host and port from the remote machine.
398The first argument must be a port number, and the second must be
399.Ar host:port .
400IPv6 addresses can be specified with an alternative syntax:
401.Ar host/port .
402Multiple forwardings may be specified, and additional
403forwardings can be given on the command line.
404Only the superuser can forward privileged ports.
405.It Cm LogLevel
406Gives the verbosity level that is used when logging messages from
407.Nm ssh .
408The possible values are:
409QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3.
410The default is INFO. DEBUG and DEBUG1 are equivalent. DEBUG2
411and DEBUG3 each specify higher levels of verbose output.
412.It Cm MACs
413Specifies the MAC (message authentication code) algorithms
414in order of preference.
415The MAC algorithm is used in protocol version 2
416for data integrity protection.
417Multiple algorithms must be comma-separated.
418The default is
419.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 .
420.It Cm NoHostAuthenticationForLocalhost
421This option can be used if the home directory is shared across machines.
422In this case localhost will refer to a different machine on each of
423the machines and the user will get many warnings about changed host keys.
424However, this option disables host authentication for localhost.
425The argument to this keyword must be
426.Dq yes
427or
428.Dq no .
429The default is to check the host key for localhost.
430.It Cm NumberOfPasswordPrompts
431Specifies the number of password prompts before giving up.
432The argument to this keyword must be an integer.
433Default is 3.
434.It Cm PasswordAuthentication
435Specifies whether to use password authentication.
436The argument to this keyword must be
437.Dq yes
438or
439.Dq no .
440The default is
441.Dq yes .
442.It Cm Port
443Specifies the port number to connect on the remote host.
444Default is 22.
445.It Cm PreferredAuthentications
446Specifies the order in which the client should try protocol 2
447authentication methods. This allows a client to prefer one method (e.g.
448.Cm keyboard-interactive )
449over another method (e.g.
450.Cm password )
451The default for this option is:
44a053a3 452.Dq hostbased,external-keyx,gssapi,publickey,keyboard-interactive,password .
884dc78b 453.It Cm Protocol
454Specifies the protocol versions
455.Nm ssh
456should support in order of preference.
457The possible values are
458.Dq 1
459and
460.Dq 2 .
461Multiple versions must be comma-separated.
462The default is
463.Dq 2,1 .
464This means that
465.Nm ssh
466tries version 2 and falls back to version 1
467if version 2 is not available.
468.It Cm ProxyCommand
469Specifies the command to use to connect to the server.
470The command
471string extends to the end of the line, and is executed with
472.Pa /bin/sh .
473In the command string,
474.Ql %h
475will be substituted by the host name to
476connect and
477.Ql %p
478by the port.
479The command can be basically anything,
480and should read from its standard input and write to its standard output.
481It should eventually connect an
482.Xr sshd 8
483server running on some machine, or execute
484.Ic sshd -i
485somewhere.
486Host key management will be done using the
487HostName of the host being connected (defaulting to the name typed by
488the user).
489Note that
490.Cm CheckHostIP
491is not available for connects with a proxy command.
492.Pp
493.It Cm PubkeyAuthentication
494Specifies whether to try public key authentication.
495The argument to this keyword must be
496.Dq yes
497or
498.Dq no .
499The default is
500.Dq yes .
501This option applies to protocol version 2 only.
502.It Cm RemoteForward
503Specifies that a TCP/IP port on the remote machine be forwarded over
504the secure channel to the specified host and port from the local machine.
505The first argument must be a port number, and the second must be
506.Ar host:port .
507IPv6 addresses can be specified with an alternative syntax:
508.Ar host/port .
509Multiple forwardings may be specified, and additional
510forwardings can be given on the command line.
511Only the superuser can forward privileged ports.
512.It Cm RhostsAuthentication
513Specifies whether to try rhosts based authentication.
514Note that this
515declaration only affects the client side and has no effect whatsoever
516on security.
517Most servers do not permit RhostsAuthentication because it
518is not secure (see
519.Cm RhostsRSAAuthentication ) .
520The argument to this keyword must be
521.Dq yes
522or
523.Dq no .
524The default is
525.Dq no .
526This option applies to protocol version 1 only.
527.It Cm RhostsRSAAuthentication
528Specifies whether to try rhosts based authentication with RSA host
529authentication.
530The argument must be
531.Dq yes
532or
533.Dq no .
534The default is
535.Dq no .
536This option applies to protocol version 1 only and requires
537.Nm ssh
538to be setuid root.
539.It Cm RSAAuthentication
540Specifies whether to try RSA authentication.
541The argument to this keyword must be
542.Dq yes
543or
544.Dq no .
545RSA authentication will only be
546attempted if the identity file exists, or an authentication agent is
547running.
548The default is
549.Dq yes .
550Note that this option applies to protocol version 1 only.
551.It Cm SmartcardDevice
552Specifies which smartcard device to use. The argument to this keyword is
553the device
554.Nm ssh
555should use to communicate with a smartcard used for storing the user's
556private RSA key. By default, no device is specified and smartcard support
557is not activated.
558.It Cm StrictHostKeyChecking
559If this flag is set to
560.Dq yes ,
561.Nm ssh
562will never automatically add host keys to the
563.Pa $HOME/.ssh/known_hosts
564file, and refuses to connect to hosts whose host key has changed.
565This provides maximum protection against trojan horse attacks,
566however, can be annoying when the
567.Pa /etc/ssh/ssh_known_hosts
568file is poorly maintained, or connections to new hosts are
569frequently made.
570This option forces the user to manually
571add all new hosts.
572If this flag is set to
573.Dq no ,
574.Nm ssh
575will automatically add new host keys to the
576user known hosts files.
577If this flag is set to
578.Dq ask ,
579new host keys
580will be added to the user known host files only after the user
581has confirmed that is what they really want to do, and
582.Nm ssh
583will refuse to connect to hosts whose host key has changed.
584The host keys of
585known hosts will be verified automatically in all cases.
586The argument must be
587.Dq yes ,
588.Dq no
589or
590.Dq ask .
591The default is
592.Dq ask .
593.It Cm UsePrivilegedPort
594Specifies whether to use a privileged port for outgoing connections.
595The argument must be
596.Dq yes
597or
598.Dq no .
599The default is
600.Dq no .
601Note that this option must be set to
602.Dq yes
603if
604.Cm RhostsAuthentication
605and
606.Cm RhostsRSAAuthentication
607authentications are needed with older servers.
608.It Cm User
609Specifies the user to log in as.
610This can be useful when a different user name is used on different machines.
611This saves the trouble of
612having to remember to give the user name on the command line.
613.It Cm UserKnownHostsFile
614Specifies a file to use for the user
615host key database instead of
616.Pa $HOME/.ssh/known_hosts .
617.It Cm XAuthLocation
618Specifies the location of the
619.Xr xauth 1
620program.
621The default is
622.Pa /usr/X11R6/bin/xauth .
623.El
624.Sh FILES
625.Bl -tag -width Ds
626.It Pa $HOME/.ssh/config
627This is the per-user configuration file.
628The format of this file is described above.
629This file is used by the
630.Nm ssh
631client.
632This file does not usually contain any sensitive information,
633but the recommended permissions are read/write for the user, and not
634accessible by others.
635.It Pa /etc/ssh/ssh_config
636Systemwide configuration file.
637This file provides defaults for those
638values that are not specified in the user's configuration file, and
639for those users who do not have a configuration file.
640This file must be world-readable.
641.El
642.Sh AUTHORS
643OpenSSH is a derivative of the original and free
644ssh 1.2.12 release by Tatu Ylonen.
645Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
646Theo de Raadt and Dug Song
647removed many bugs, re-added newer features and
648created OpenSSH.
649Markus Friedl contributed the support for SSH
650protocol versions 1.5 and 2.0.
651.Sh SEE ALSO
652.Xr ssh 1
This page took 0.128353 seconds and 5 git commands to generate.