summaryrefslogtreecommitdiff
path: root/usr/src/man/man4/sshd_config.4
blob: bdc044886da0b8389f24df0b493f33f2475a9580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
'\" te
.\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
.\" Copyright (c) 2013, Joyent, Inc. All Rights Reserved.
.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
.\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
.\" fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
.TH SSHD_CONFIG 4 "Jan 17, 2013"
.SH NAME
sshd_config \- sshd configuration file
.SH SYNOPSIS
.LP
.nf
\fB/etc/ssh/sshd_config\fR
.fi

.SH DESCRIPTION
.sp
.LP
The \fBsshd\fR(1M) daemon reads configuration data from
\fB/etc/ssh/sshd_config\fR (or the file specified with \fBsshd\fR \fB-f\fR on
the command line). The file contains keyword-value pairs, one per line. A line
starting with a hash mark (\fB#\fR) and empty lines are interpreted as
comments.
.sp
.LP
The \fBsshd_config\fR file supports the following keywords. Unless otherwise
noted, keywords and their arguments are case-insensitive.
.sp
.ne 2
.na
\fB\fBAllowGroups\fR\fR
.ad
.sp .6
.RS 4n
This keyword can be followed by a number of group names, separated by spaces.
If specified, login is allowed only for users whose primary group or
supplementary group list matches one of the patterns. Asterisk (\fB*\fR) and
question mark (\fB?\fR) can be used as wildcards in the patterns. Only group
names are valid; a numerical group ID is not recognized. By default, login is
allowed regardless of the primary group.
.RE

.sp
.ne 2
.na
\fB\fBAllowTcpForwarding\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether TCP forwarding is permitted. The default is \fByes\fR.
Disabling TCP forwarding does not improve security unless users are also denied
shell access, as they can always install their own forwarders.
.RE

.sp
.ne 2
.na
\fB\fBAllowUsers\fR\fR
.ad
.sp .6
.RS 4n
This keyword can be followed by a number of user names, separated by spaces. If
specified, login is allowed only for user names that match one of the patterns.
Asterisk (\fB*\fR) and question mark (\fB?\fR) can be used as wildcards in the
patterns. Only user names are valid; a numerical user ID is not recognized. By
default login is allowed regardless of the user name.
.sp
If a specified pattern takes the form \fIuser\fR@\fIhost\fR then \fIuser\fR and
\fIhost\fR are checked separately, restricting logins to particular users from
particular hosts.
.RE

.sp
.ne 2
.na
\fB\fBAuthorizedKeysFile\fR\fR
.ad
.sp .6
.RS 4n
Specifies the file that contains the public keys that can be used for user
authentication. \fBAuthorizedKeysFile\fR can contain tokens of the form
\fB%T\fR, which are substituted during connection set-up. The following tokens
are defined: \fB%%\fR is replaced by a literal \fB%\fR, \fB%h\fR is replaced by
the home directory of the user being authenticated and \fB%u\fR is replaced by
the username of that user. After expansion, \fBAuthorizedKeysFile\fR is taken
to be an absolute path or one relative to the user's home directory. The
default is \fB\&.ssh/authorized_keys\fR.
.RE

.sp
.ne 2
.na
\fB\fBBanner\fR\fR
.ad
.sp .6
.RS 4n
In some jurisdictions, sending a warning message before authentication can be
relevant for getting legal protection. The contents of the specified file are
sent to the remote user before authentication is allowed. This option is only
available for protocol version 2. By default, no banner is displayed.
.RE

.sp
.ne 2
.na
\fB\fBChrootDirectory\fR\fR
.ad
.sp .6
.RS 4n
Specifies a path to \fBchroot\fR(2) to after authentication. This path, and all
its components, must be root-owned directories that are not writable by any
other user or group.
.sp
The server always tries to change to the user's home directory locally under
the chrooted environment but a failure to do so is not considered an error. In
addition, the path might contain the following tokens that are expanded at
runtime once the connecting user has been authenticated: \fB%%\fR is replaced
by a literal \fB%\fR, \fB%h\fR is replaced by the home directory of the user
being authenticated, and \fB%u\fR is replaced by the username of that user.
.sp
The \fBChrootDirectory\fR must contain the necessary files and directories to
support the user's session. For an interactive SSH session this requires at
least a user's shell, shared libraries needed by the shell, dynamic linker, and
possibly basic \fB/dev\fR nodes such as \fBnull\fR, \fBzero\fR, \fBstdin\fR,
\fBstdout\fR, \fBstderr\fR, \fBrandom\fR, and \fBtty\fR. Additionally, terminal
databases are needed for screen oriented applications. For file transfer
sessions using \fBsftp\fR with the SSH protocol version 2, no additional
configuration of the environment is necessary if the in-process \fBsftp\fR
server is used. See \fBSubsystem\fR for details.
.sp
The default is not to \fBchroot\fR(2).
.RE

.sp
.ne 2
.na
\fB\fBCiphers\fR\fR
.ad
.sp .6
.RS 4n
Specifies the ciphers allowed for protocol version 2. Cipher ordering on the
server side is not relevant. Multiple ciphers must be comma separated.
.sp
Valid ciphers are: \fBaes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc,
aes192-cbc, aes256-cbc, arcfour, arcfour128, arcfour256, 3des-cbc\fR, and
\fBblowfish-cbc\fR.
.sp
The default cipher list is:
.sp
.in +2
.nf
aes128-ctr,aes192-ctr,aes256-ctr,arcfour128,
arcfour256,arcfour
.fi
.in -2
.sp

Using CBC modes on the server side is not recommended due to potential security
issues in connection with the SSH protocol version 2.
.RE

.sp
.ne 2
.na
\fB\fBClientAliveCountMax\fR\fR
.ad
.sp .6
.RS 4n
Sets the number of client alive messages, (see \fBClientAliveInterval\fR), that
can be sent without \fBsshd\fR receiving any messages back from the client. If
this threshold is reached while client alive messages are being sent,
\fBsshd\fR disconnects the client, terminating the session. The use of client
alive messages is very different from \fBTCPKeepAlive\fR. The client alive
messages are sent through the encrypted channel and therefore are not
spoofable. The TCP keepalive option enabled by \fBTCPKeepAlive\fR is spoofable.
The client alive mechanism is valuable when a client or server depend on
knowing when a connection has become inactive.
.sp
The default value is 3. If \fBClientAliveInterval\fR is set to 15, and
\fBClientAliveCountMax\fR is left at the default, unresponsive \fBssh\fR
clients are disconnected after approximately 45 seconds.
.RE

.sp
.ne 2
.na
\fB\fBClientAliveInterval\fR\fR
.ad
.sp .6
.RS 4n
Sets a timeout interval in seconds after which, if no data has been received
from the client, \fBsshd\fR sends a message through the encrypted channel to
request a response from the client. The default is 0, indicating that these
messages are not sent to the client. This option applies only to protocol
version 2.
.RE

.sp
.ne 2
.na
\fB\fBCompression\fR\fR
.ad
.sp .6
.RS 4n
Controls whether the server allows the client to negotiate the use of
compression. The default is \fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBDenyGroups\fR\fR
.ad
.sp .6
.RS 4n
Can be followed by a number of group names, separated by spaces. Users whose
primary group matches one of the patterns are not allowed to log in. Asterisk
(\fB*\fR) and question mark (\fB?\fR) can be used as wildcards in the patterns.
Only group names are valid; a numerical group ID is not recognized. By default,
login is allowed regardless of the primary group.
.RE

.sp
.ne 2
.na
\fB\fBDenyUsers\fR\fR
.ad
.sp .6
.RS 4n
Can be followed by a number of user names, separated by spaces. Login is
disallowed for user names that match one of the patterns. Asterisk (\fB*\fR)
and question mark (\fB?\fR) can be used as wildcards in the patterns. Only user
names are valid; a numerical user ID is not recognized. By default, login is
allowed regardless of the user name.
.sp
If a specified pattern takes the form \fIuser\fR@\fIhost\fR then \fIuser\fR and
\fIhost\fR are checked separately, disallowing logins to particular users from
particular hosts.
.RE

.sp
.ne 2
.na
\fB\fBGatewayPorts\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether remote hosts are allowed to connect to ports forwarded for
the client. By default, \fBsshd\fR binds remote port forwardings to the
loopback address. This prevents other remote hosts from connecting to forwarded
ports. \fBGatewayPorts\fR can be used to specify that \fBsshd\fR should bind
remote port forwardings to the wildcard address, thus allowing remote hosts to
connect to forwarded ports.
.sp
The argument can be \fBno\fR to force remote port forwardings to be available
to the local host only, \fByes\fR to force remote port forwardings to bind to
the wildcard address, or \fBclientspecified\fR to allow the client to select
the address to which the forwarding is bound. The default is \fBno\fR. See also
\fBRemoteForward\fR in \fBssh_config\fR(4).
.RE

.sp
.ne 2
.na
\fB\fBGSSAPIAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Enables/disables GSS-API user authentication. The default is \fByes\fR.
.sp
Currently \fBsshd\fR authorizes client user principals to user accounts as
follows: if the principal name matches the requested user account, then the
principal is authorized. Otherwise, GSS-API authentication fails.
.RE

.sp
.ne 2
.na
\fB\fBGSSAPIKeyExchange\fR\fR
.ad
.sp .6
.RS 4n
Enables/disables GSS-API-authenticated key exchanges. The default is \fByes\fR.
.sp
This option also enables the use of the GSS-API to authenticate the user to
server after the key exchange. GSS-API key exchange can succeed but the
subsequent authentication using the GSS-API fail if the server does not
authorize the user's GSS principal name to the target user account.
.sp
Currently \fBsshd\fR authorizes client user principals to user accounts as
follows: if the principal name matches the requested user account, then the
principal is authorized. Otherwise, GSS-API authentication fails.
.RE

.sp
.ne 2
.na
\fB\fBGSSAPIStoreDelegatedCredentials\fR\fR
.ad
.sp .6
.RS 4n
Enables/disables the use of delegated GSS-API credentials on the server-side.
The default is \fByes\fR.
.sp
Specifically, this option, when enabled, causes the server to store delegated
GSS-API credentials in the user's default GSS-API credential store (which for
the Kerberos V mechanism means \fB/tmp/krb5cc_\fI<uid>\fR\fR).
.LP
Note -
.sp
.RS 2
\fBsshd\fR does not take any steps to explicitly destroy stored delegated
GSS-API credentials upon logout. It is the responsibility of PAM modules to
destroy credentials associated with a session.
.RE
.RE

.sp
.ne 2
.na
\fB\fBHostbasedAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether to try \fBrhosts\fR-based authentication with public key
authentication. The argument must be \fByes\fR or \fBno\fR. The default is
\fBno\fR. This option applies to protocol version 2 only and is similar to
\fBRhostsRSAAuthentication\fR. See \fBsshd\fR(1M) for guidelines on setting up
host-based authentication.
.RE

.sp
.ne 2
.na
\fB\fBHostbasedUsesNameFromPacketOnly\fR\fR
.ad
.sp .6
.RS 4n
Controls which hostname is searched for in the files \fB~/.shosts\fR,
\fB/etc/shosts.equiv\fR, and \fB/etc/hosts.equiv\fR. If this parameter is set
to \fByes\fR, the server uses the name the client claimed for itself and signed
with that host's key. If set to \fBno\fR, the default, the server uses the name
to which the client's IP address resolves.
.sp
Setting this parameter to \fBno\fR disables host-based authentication when
using NAT or when the client gets to the server indirectly through a
port-forwarding firewall.
.RE

.sp
.ne 2
.na
\fB\fBHostKey\fR\fR
.ad
.sp .6
.RS 4n
Specifies the file containing the private host key used by SSH. The default is
\fB/etc/ssh/ssh_host_key\fR for protocol version 1, and
\fB/etc/ssh/ssh_host_rsa_key\fR and \fB/etc/ssh/ssh_host_dsa_key\fR for
protocol version 2. \fBsshd\fR refuses to use a file if it is
group/world-accessible. It is possible to have multiple host key files.
\fBrsa1\fR keys are used for version 1 and \fBdsa\fR or \fBrsa\fR are used for
version 2 of the SSH protocol.
.RE

.sp
.ne 2
.na
\fB\fBIgnoreRhosts\fR\fR
.ad
.sp .6
.RS 4n
Specifies that \fB\&.rhosts\fR and \fB\&.shosts\fR files are not used in
authentication. \fB/etc/hosts.equiv\fR and \fB/etc/shosts.equiv\fR are still
used. The default is \fByes\fR. This parameter applies to both protocol
versions 1 and 2.
.RE

.sp
.ne 2
.na
\fB\fBIgnoreUserKnownHosts\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should ignore the user's
\fB$HOME/.ssh/known_hosts\fR during \fBRhostsRSAAuthentication\fR. The default
is \fBno\fR. This parameter applies to both protocol versions 1 and 2.
.RE

.sp
.ne 2
.na
\fB\fBKbdInteractiveAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether authentication by means of the "keyboard-interactive"
authentication method (and PAM) is allowed. Defaults to \fByes\fR. (Deprecated:
this parameter can only be set to \fByes\fR.)
.RE

.sp
.ne 2
.na
\fB\fBTCPKeepAlive\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether the system should send keepalive messages to the other side.
If they are sent, death of the connection or crash of one of the machines is
properly noticed. However, this means that connections die if the route is down
temporarily, which can be an annoyance. On the other hand, if keepalives are
not sent, sessions can hang indefinitely on the server, leaving ghost users and
consuming server resources.
.sp
The default is \fByes\fR (to send keepalives), and the server notices if the
network goes down or the client host reboots. This avoids infinitely hanging
sessions.
.sp
To disable keepalives, the value should be set to \fBno\fR in both the server
and the client configuration files.
.RE

.sp
.ne 2
.na
\fB\fBKeyRegenerationInterval\fR\fR
.ad
.sp .6
.RS 4n
In protocol version 1, the ephemeral server key is automatically regenerated
after this many seconds (if it has been used). The purpose of regeneration is
to prevent decrypting captured sessions by later breaking into the machine and
stealing the keys. The key is never stored anywhere. If the value is 0, the key
is never regenerated. The default is 3600 (seconds).
.RE

.sp
.ne 2
.na
\fB\fBListenAddress\fR\fR
.ad
.sp .6
.RS 4n
Specifies what local address \fBsshd\fR should listen on. The following forms
can be used:
.sp
.in +2
.nf
ListenAddress \fIhost\fR|\fIIPv4_addr\fR|\fIIPv6_addr\fR
ListenAddress \fIhost\fR|\fIIPv4_addr\fR:\fIport\fR
ListenAddress [\fIhost\fR|\fIIPv6_addr\fR]:\fIport\fR
.fi
.in -2

If \fIport\fR is not specified, \fBsshd\fR listens on the address and all prior
\fBPort\fR options specified. The default is to listen on all local addresses.
Multiple \fBListenAddress\fR options are permitted. Additionally, any
\fBPort\fR options must precede this option for non-port qualified addresses.
.sp
The default is to listen on all local addresses. Multiple options of this type
are permitted. Additionally, the \fBPorts\fR options must precede this option.
.RE

.sp
.ne 2
.na
\fB\fBLoginGraceTime\fR\fR
.ad
.sp .6
.RS 4n
The server disconnects after this time (in seconds) if the user has not
successfully logged in. If the value is 0, there is no time limit. The default
is 120 (seconds).
.RE

.sp
.ne 2
.na
\fB\fBLogLevel\fR\fR
.ad
.sp .6
.RS 4n
Gives the verbosity level that is used when logging messages from \fBsshd\fR.
The possible values are: \fBQUIET\fR, \fBFATAL\fR, \fBERROR\fR, \fBINFO\fR,
\fBVERBOSE\fR, \fBDEBUG\fR, \fBDEBUG1\fR, \fBDEBUG2\fR, and \fBDEBUG3\fR. The
default is \fBINFO\fR. DEBUG2 and DEBUG3 each specify higher levels of
debugging output. Logging with level \fBDEBUG\fR violates the privacy of users
and is not recommended.
.RE

.sp
.ne 2
.na
\fB\fBLookupClientHostnames\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether or not to lookup the names of client's addresses. Defaults to
yes.
.RE

.sp
.ne 2
.na
\fBMACs\fR
.ad
.sp .6
.RS 4n
Specifies the available MAC (message authentication code) algorithms. The MAC
algorithm is used in protocol version 2 for data integrity protection. Multiple
algorithms must be comma-separated. The default is
\fBhmac-md5,hmac-sha1,hmac-sha1-96,hmac-md5-96\fR.
.RE

.sp
.ne 2
.na
\fB\fBMaxStartups\fR\fR
.ad
.sp .6
.RS 4n
Specifies the maximum number of concurrent unauthenticated connections to the
\fBsshd\fR daemon. Additional connections are dropped until authentication
succeeds or the \fBLoginGraceTime\fR expires for a connection. The default is
\fB10\fR.
.sp
Alternatively, random early drop can be enabled by specifying the three
colon-separated values \fB\fIstart\fR:\fIrate\fR:\fIfull\fR\fR (for example,
\fB10:30:60\fR). Referring to this example, \fBsshd\fR refuse connection
attempts with a probability of \fIrate\fR/100 (30% in our example) if there are
currently 10 (from the \fIstart\fR field) unauthenticated connections. The
probability increases linearly and all connection attempts are refused if the
number of unauthenticated connections reaches \fIfull\fR (60 in our example).
.RE

.sp
.ne 2
.na
\fB\fBPasswordAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether password authentication is allowed. The default is \fByes\fR.
This option applies to both protocol versions 1 and 2.
.RE

.sp
.ne 2
.na
\fB\fBPermitEmptyPasswords\fR\fR
.ad
.sp .6
.RS 4n
When password or keyboard-interactive authentication is allowed, it specifies
whether the server allows login to accounts with empty password strings.
.sp
If not set then the \fB/etc/default/login\fR \fBPASSREQ\fR value is used
instead.
.sp
\fBPASSREQ=no\fR is equivalent to \fBPermitEmptyPasswords yes\fR.
\fBPASSREQ=yes\fR is equivalent to \fBPermitEmptyPasswords no\fR. If neither
\fBPermitEmptyPasswords\fR or \fBPASSREQ\fR are set the default is \fBno\fR.
.RE

.sp
.ne 2
.na
\fB\fBPermitRootLogin\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether the root can log in using \fBssh\fR(1). The argument must be
\fByes\fR, \fBwithout-password\fR, \fBforced-commands-only\fR, or \fBno\fR.
\fBwithout-password\fR means that root cannot be authenticated using the
"password" or "keyboard-interactive" methods (see description of
\fBKbdInteractiveAuthentication\fR). \fBforced-commands-only\fR means that
authentication is allowed only for \fBpublickey\fR (for SSHv2, or RSA, for
SSHv1) and only if the matching \fBauthorized_keys entry\fR for root has a
\fBcommand=\fR\fI<cmd>\fR option.
.sp
In Solaris, the default \fB/etc/ssh/sshd_config\fR file is shipped with
\fBPermitRootLogin\fR set to \fBno\fR. If unset by the administrator, then
\fBCONSOLE\fR parameter from \fB/etc/default/login\fR supplies the default
value as follows: if the \fBCONSOLE\fR parameter is not commented out (it can
even be empty, that is, "\fBCONSOLE=\fR"), then \fBwithout-password\fR is used
as default value. If \fBCONSOLE\fR is commented out, then the default for
\fBPermitRootLogin\fR is \fByes\fR.
.sp
The \fBwithout-password\fR and \fBforced-commands-only\fR settings are useful
for, for example, performing remote administration and backups using trusted
public keys for authentication of the remote client, without allowing access to
the root account using passwords.
.RE

.sp
.ne 2
.na
\fB\fBPermitUserEnvironment\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether a user's \fB~/.ssh/environment\fR on the server side and
\fBenvironment\fR options in the \fBAuthorizedKeysFile\fR file are processed by
\fBsshd\fR. The default is \fBno\fR. Enabling environment processing can enable
users to bypass access restrictions in some configurations using mechanisms
such as \fBLD_PRELOAD\fR.
.sp
Environment setting from a relevant entry in \fBAuthorizedKeysFile\fR file is
processed only if the user was authenticated using the public key
authentication method. Of the two files used, values of variables set in
\fB~/.ssh/environment\fR are of higher priority.
.RE

.sp
.ne 2
.na
\fB\fBPidFile\fR\fR
.ad
.sp .6
.RS 4n
Allows you to specify an alternative to \fB/var/run/sshd.pid\fR, the default
file for storing the PID of the \fBsshd\fR listening for connections. See
\fBsshd\fR(1M).
.RE

.sp
.ne 2
.na
\fB\fBPort\fR\fR
.ad
.sp .6
.RS 4n
Specifies the port number that \fBsshd\fR listens on. The default is 22.
Multiple options of this type are permitted. See also \fBListenAddress\fR.
.RE

.sp
.ne 2
.na
\fB\fBPrintLastLog\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should display the date and time when the user
last logged in. The default is \fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBPrintMotd\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should display the contents of \fB/etc/motd\fR
when a user logs in interactively. (On some systems it is also displayed by the
shell or a shell startup file, such as \fB/etc/profile\fR.) The default is
\fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBProtocol\fR\fR
.ad
.sp .6
.RS 4n
Specifies the protocol versions \fBsshd\fR should support in order of
preference. The possible values are \fB1\fR and \fB2\fR. Multiple versions must
be comma-separated. The default is \fB2,1\fR. This means that \fBssh\fR tries
version 2 and falls back to version 1 if version 2 is not available.
.RE

.sp
.ne 2
.na
\fB\fBPubkeyAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether public key authentication is allowed. The default is
\fByes\fR. This option applies to protocol version 2 only.
.RE

.sp
.ne 2
.na
\fB\fBRhostsAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether authentication using \fBrhosts\fR or \fB/etc/hosts.equiv\fR
files is sufficient. Normally, this method should not be permitted because it
is insecure. \fBRhostsRSAAuthentication\fR should be used instead, because it
performs RSA-based host authentication in addition to normal \fBrhosts\fR or
\fB/etc/hosts.equiv\fR authentication. The default is \fBno\fR. This parameter
applies only to protocol version 1.
.RE

.sp
.ne 2
.na
\fB\fBRhostsRSAAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBrhosts\fR or \fB/etc/hosts.equiv\fR authentication
together with successful RSA host authentication is allowed. The default is
\fBno\fR. This parameter applies only to protocol version 1.
.RE

.sp
.ne 2
.na
\fB\fBRSAAuthentication\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether pure RSA authentication is allowed. The default is \fByes\fR.
This option applies to protocol version 1 only.
.RE

.sp
.ne 2
.na
\fB\fBServerKeyBits\fR\fR
.ad
.sp .6
.RS 4n
Defines the number of bits in the ephemeral protocol version 1 server key. The
minimum value is 512, and the default is 768.
.RE

.sp
.ne 2
.na
\fB\fBStrictModes\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should check file modes and ownership of the
user's files and home directory before accepting login. This is normally
desirable because novices sometimes accidentally leave their directory or files
world-writable. The default is \fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBSubsystem\fR\fR
.ad
.sp .6
.RS 4n
Configures an external subsystem (for example, a file transfer daemon).
Arguments should be a subsystem name and a command to execute upon subsystem
request. The command \fBsftp-server\fR(1M) implements the \fBsftp\fR file
transfer subsystem.
.sp
Alternately, the name \fBinternal-sftp\fR implements an in-process \fBsftp\fR
server. This can simplify configurations using \fBChrootDirectory\fR to force a
different filesystem root on clients.
.sp
By default, no subsystems are defined. This option applies to protocol version
2 only.
.RE

.sp
.ne 2
.na
\fB\fBSyslogFacility\fR\fR
.ad
.sp .6
.RS 4n
Gives the facility code that is used when logging messages from \fBsshd\fR. The
possible values are: \fBDAEMON\fR, \fBUSER\fR, \fBAUTH\fR, \fBLOCAL0\fR,
\fBLOCAL1\fR, \fBLOCAL2\fR, \fBLOCAL3\fR, \fBLOCAL4\fR, \fBLOCAL5\fR,
\fBLOCAL6\fR, and \fBLOCAL7\fR. The default is \fBAUTH\fR.
.RE

.sp
.ne 2
.na
\fB\fBUseOpenSSLEngine\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should use the OpenSSL PKCS#11 engine for
offloading cryptographic operations to the Cryptographic Framework.
Cryptographic operations are accelerated according to the available installed
plug-ins. When no suitable plug-ins are present this option does not have an
effect. The default is \fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBVerifyReverseMapping\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should try to verify the remote host name and
check that the resolved host name for the remote IP address maps back to the
very same IP address. (A \fByes\fR setting means "verify".) Setting this
parameter to \fBno\fR can be useful where DNS servers might be down and thus
cause \fBsshd\fR to spend much time trying to resolve the client's IP address
to a name. This feature is useful for Internet-facing servers. The default is
\fBno\fR.
.RE

.sp
.ne 2
.na
\fB\fBX11DisplayOffset\fR\fR
.ad
.sp .6
.RS 4n
Specifies the first display number available for \fBsshd\fR's X11 forwarding.
This prevents \fBsshd\fR from interfering with real X11 servers. The default is
10.
.RE

.sp
.ne 2
.na
\fB\fBX11Forwarding\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether X11 forwarding is permitted. The default is \fByes\fR.
Disabling X11 forwarding does not improve security in any way, as users can
always install their own forwarders.
.sp
When X11 forwarding is enabled, there can be additional exposure to the server
and to client displays if the \fBsshd\fR proxy display is configured to listen
on the wildcard address (see \fBX11UseLocalhost\fR). However, this is not the
default. Additionally, the authentication spoofing and authentication data
verification and substitution occur on the client side. The security risk of
using X11 forwarding is that the client's X11 display server can be exposed to
attack when the \fBssh\fR client requests forwarding (see the warnings for
\fBForwardX11\fR in \fBssh_config\fR(4)). A system administrator who wants to
protect clients that expose themselves to attack by unwittingly requesting X11
forwarding, should specify a \fBno\fR setting.
.sp
Disabling X11 forwarding does not prevent users from forwarding X11 traffic, as
users can always install their own forwarders.
.RE

.sp
.ne 2
.na
\fB\fBX11UseLocalhost\fR\fR
.ad
.sp .6
.RS 4n
Specifies whether \fBsshd\fR should bind the X11 forwarding server to the
loopback address or to the wildcard address. By default, \fBsshd\fR binds the
forwarding server to the loopback address and sets the hostname part of the
\fBDISPLAY\fR environment variable to \fBlocalhost\fR. This prevents remote
hosts from connecting to the proxy display. However, some older X11 clients
might not function with this configuration. \fBX11UseLocalhost\fR can be set to
\fBno\fR to specify that the forwarding server should be bound to the wildcard
address. The argument must be \fByes\fR or \fBno\fR. The default is \fByes\fR.
.RE

.sp
.ne 2
.na
\fB\fBXAuthLocation\fR\fR
.ad
.sp .6
.RS 4n
Specifies the location of the \fBxauth\fR(1) program. The default is
\fB/usr/X11/bin/xauth\fR and \fBsshd\fR attempts to open it when X11 forwarding
is enabled.
.RE

.SS "Time Formats"
.sp
.LP
\fBsshd\fR command-line arguments and configuration file options that specify
time can be expressed using a sequence of the form:
\fItime\fR[\fIqualifier\fR,] where \fItime\fR is a positive integer value and
\fIqualifier\fR is one of the following:
.sp
.ne 2
.na
\fB\fI<none>\fR\fR
.ad
.RS 10n
seconds
.RE

.sp
.ne 2
.na
\fB\fBs\fR | \fBS\fR\fR
.ad
.RS 10n
seconds
.RE

.sp
.ne 2
.na
\fB\fBm\fR | \fBM\fR\fR
.ad
.RS 10n
minutes
.RE

.sp
.ne 2
.na
\fB\fBh\fR | \fBH\fR\fR
.ad
.RS 10n
hours
.RE

.sp
.ne 2
.na
\fB\fBd\fR | \fBD\fR\fR
.ad
.RS 10n
days
.RE

.sp
.ne 2
.na
\fB\fBw\fR | \fB\fR\fR
.ad
.RS 10n
weeks
.RE

.sp
.LP
Each element of the sequence is added together to calculate the total time
value. For example:
.sp
.ne 2
.na
\fB\fB600\fR\fR
.ad
.RS 9n
600 seconds (10 minutes)
.RE

.sp
.ne 2
.na
\fB\fB10m\fR\fR
.ad
.RS 9n
10 minutes
.RE

.sp
.ne 2
.na
\fB\fB1h30m\fR\fR
.ad
.RS 9n
1 hour, 30 minutes (90 minutes)
.RE

.SH FILES
.sp
.ne 2
.na
\fB\fB/etc/ssh/sshd_config\fR\fR
.ad
.RS 24n
Contains configuration data for \fBsshd\fR. This file should be writable by
root only, but it is recommended (though not necessary) that it be
world-readable.
.RE

.SH ATTRIBUTES
.sp
.LP
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp

.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE	ATTRIBUTE VALUE
_
Interface Stability	Uncommitted
.TE

.SH SEE ALSO
.sp
.LP
\fBlogin\fR(1), \fBsshd\fR(1M), \fBchroot\fR(2), \fBssh_config\fR(4),
\fBattributes\fR(5), \fBkerberos\fR(5)
.SH AUTHORS
.sp
.LP
OpenSSH is a derivative of the original and free \fBssh\fR 1.2.12 release by
Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de
Raadt, and Dug Song removed many bugs, re-added recent features, and created
OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5
and 2.0. Niels Provos and Markus Friedl contributed support for privilege
separation.