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.\" $FreeBSD$ 38.\" $OpenBSD: sshd_config.5,v 1.28 2004/02/17 19:35:21 jmc Exp $ 39.Dd September 25, 1999 40.Dt SSHD_CONFIG 5 41.Os 42.Sh NAME 43.Nm sshd_config 44.Nd OpenSSH SSH daemon configuration file 45.Sh SYNOPSIS 46.Bl -tag -width Ds -compact 47.It Pa /etc/ssh/sshd_config 48.El 49.Sh DESCRIPTION 50.Nm sshd 51reads configuration data from 52.Pa /etc/ssh/sshd_config 53(or the file specified with 54.Fl f 55on the command line). 56The file contains keyword-argument pairs, one per line. 57Lines starting with 58.Ql # 59and empty lines are interpreted as comments. 60.Pp 61The possible 62keywords and their meanings are as follows (note that 63keywords are case-insensitive and arguments are case-sensitive): 64.Bl -tag -width Ds 65.It Cm AllowGroups 66This keyword can be followed by a list of group name patterns, separated 67by spaces. 68If specified, login is allowed only for users whose primary 69group or supplementary group list matches one of the patterns. 70.Ql \&* 71and 72.Ql \&? 73can be used as 74wildcards in the patterns. 75Only group names are valid; a numerical group ID is not recognized. 76By default, login is allowed for all groups. 77.Pp 78.It Cm AllowTcpForwarding 79Specifies whether TCP forwarding is permitted. 80The default is 81.Dq yes . 82Note that disabling TCP forwarding does not improve security unless 83users are also denied shell access, as they can always install their 84own forwarders. 85.Pp 86.It Cm AllowUsers 87This keyword can be followed by a list of user name patterns, separated 88by spaces. 89If specified, login is allowed only for user names that 90match one of the patterns. 91.Ql \&* 92and 93.Ql \&? 94can be used as 95wildcards in the patterns. 96Only user names are valid; a numerical user ID is not recognized. 97By default, login is allowed for all users. 98If the pattern takes the form USER@HOST then USER and HOST 99are separately checked, restricting logins to particular 100users from particular hosts. 101.Pp 102.It Cm AuthorizedKeysFile 103Specifies the file that contains the public keys that can be used 104for user authentication. 105.Cm AuthorizedKeysFile 106may contain tokens of the form %T which are substituted during connection 107set-up. 108The following tokens are defined: %% is replaced by a literal '%', 109%h is replaced by the home directory of the user being authenticated and 110%u is replaced by the username of that user. 111After expansion, 112.Cm AuthorizedKeysFile 113is taken to be an absolute path or one relative to the user's home 114directory. 115The default is 116.Dq .ssh/authorized_keys . 117.It Cm Banner 118In some jurisdictions, sending a warning message before authentication 119may be relevant for getting legal protection. 120The contents of the specified file are sent to the remote user before 121authentication is allowed. 122This option is only available for protocol version 2. 123By default, no banner is displayed. 124.Pp 125.It Cm ChallengeResponseAuthentication 126Specifies whether challenge-response authentication is allowed. 127Specifically, in 128.Fx , 129this controls the use of PAM (see 130.Xr pam 3 ) 131for authentication. 132Note that this affects the effectiveness of the 133.Cm PasswordAuthentication 134and 135.Cm PermitRootLogin 136variables. 137The default is 138.Dq yes . 139.It Cm Ciphers 140Specifies the ciphers allowed for protocol version 2. 141Multiple ciphers must be comma-separated. 142The default is 143.Pp 144.Bd -literal 145 ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, 146 aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr'' 147.Ed 148.It Cm ClientAliveInterval 149Sets a timeout interval in seconds after which if no data has been received 150from the client, 151.Nm sshd 152will send a message through the encrypted 153channel to request a response from the client. 154The default 155is 0, indicating that these messages will not be sent to the client. 156This option applies to protocol version 2 only. 157.It Cm ClientAliveCountMax 158Sets the number of client alive messages (see above) which may be 159sent without 160.Nm sshd 161receiving any messages back from the client. 162If this threshold is reached while client alive messages are being sent, 163.Nm sshd 164will disconnect the client, terminating the session. 165It is important to note that the use of client alive messages is very 166different from 167.Cm TCPKeepAlive 168(below). 169The client alive messages are sent through the encrypted channel 170and therefore will not be spoofable. 171The TCP keepalive option enabled by 172.Cm TCPKeepAlive 173is spoofable. 174The client alive mechanism is valuable when the client or 175server depend on knowing when a connection has become inactive. 176.Pp 177The default value is 3. 178If 179.Cm ClientAliveInterval 180(above) is set to 15, and 181.Cm ClientAliveCountMax 182is left at the default, unresponsive ssh clients 183will be disconnected after approximately 45 seconds. 184.It Cm Compression 185Specifies whether compression is allowed. 186The argument must be 187.Dq yes 188or 189.Dq no . 190The default is 191.Dq yes . 192.It Cm DenyGroups 193This keyword can be followed by a list of group name patterns, separated 194by spaces. 195Login is disallowed for users whose primary group or supplementary 196group list matches one of the patterns. 197.Ql \&* 198and 199.Ql \&? 200can be used as 201wildcards in the patterns. 202Only group names are valid; a numerical group ID is not recognized. 203By default, login is allowed for all groups. 204.Pp 205.It Cm DenyUsers 206This keyword can be followed by a list of user name patterns, separated 207by spaces. 208Login is disallowed for user names that match one of the patterns. 209.Ql \&* 210and 211.Ql \&? 212can be used as wildcards in the patterns. 213Only user names are valid; a numerical user ID is not recognized. 214By default, login is allowed for all users. 215If the pattern takes the form USER@HOST then USER and HOST 216are separately checked, restricting logins to particular 217users from particular hosts. 218.It Cm GatewayPorts 219Specifies whether remote hosts are allowed to connect to ports 220forwarded for the client. 221By default, 222.Nm sshd 223binds remote port forwardings to the loopback address. 224This prevents other remote hosts from connecting to forwarded ports. 225.Cm GatewayPorts 226can be used to specify that 227.Nm sshd 228should bind remote port forwardings to the wildcard address, 229thus allowing remote hosts to connect to forwarded ports. 230The argument must be 231.Dq yes 232or 233.Dq no . 234The default is 235.Dq no . 236.It Cm GSSAPIAuthentication 237Specifies whether user authentication based on GSSAPI is allowed. 238The default is 239.Dq no . 240Note that this option applies to protocol version 2 only. 241.It Cm GSSAPICleanupCredentials 242Specifies whether to automatically destroy the user's credentials cache 243on logout. 244The default is 245.Dq yes . 246Note that this option applies to protocol version 2 only. 247.It Cm HostbasedAuthentication 248Specifies whether rhosts or /etc/hosts.equiv authentication together 249with successful public key client host authentication is allowed 250(hostbased authentication). 251This option is similar to 252.Cm RhostsRSAAuthentication 253and applies to protocol version 2 only. 254The default is 255.Dq no . 256.It Cm HostKey 257Specifies a file containing a private host key 258used by SSH. 259The default is 260.Pa /etc/ssh/ssh_host_key 261for protocol version 1, and 262.Pa /etc/ssh/ssh_host_dsa_key 263for protocol version 2. 264Note that 265.Nm sshd 266will refuse to use a file if it is group/world-accessible. 267It is possible to have multiple host key files. 268.Dq rsa1 269keys are used for version 1 and 270.Dq dsa 271or 272.Dq rsa 273are used for version 2 of the SSH protocol. 274.It Cm IgnoreRhosts 275Specifies that 276.Pa .rhosts 277and 278.Pa .shosts 279files will not be used in 280.Cm RhostsRSAAuthentication 281or 282.Cm HostbasedAuthentication . 283.Pp 284.Pa /etc/hosts.equiv 285and 286.Pa /etc/ssh/shosts.equiv 287are still used. 288The default is 289.Dq yes . 290.It Cm IgnoreUserKnownHosts 291Specifies whether 292.Nm sshd 293should ignore the user's 294.Pa $HOME/.ssh/known_hosts 295during 296.Cm RhostsRSAAuthentication 297or 298.Cm HostbasedAuthentication . 299The default is 300.Dq no . 301.It Cm KerberosAuthentication 302Specifies whether the password provided by the user for 303.Cm PasswordAuthentication 304will be validated through the Kerberos KDC. 305To use this option, the server needs a 306Kerberos servtab which allows the verification of the KDC's identity. 307Default is 308.Dq no . 309.It Cm KerberosGetAFSToken 310If AFS is active and the user has a Kerberos 5 TGT, attempt to aquire 311an AFS token before accessing the user's home directory. 312Default is 313.Dq no . 314.It Cm KerberosOrLocalPasswd 315If set then if password authentication through Kerberos fails then 316the password will be validated via any additional local mechanism 317such as 318.Pa /etc/passwd . 319Default is 320.Dq yes . 321.It Cm KerberosTicketCleanup 322Specifies whether to automatically destroy the user's ticket cache 323file on logout. 324Default is 325.Dq yes . 326.It Cm KeyRegenerationInterval 327In protocol version 1, the ephemeral server key is automatically regenerated 328after this many seconds (if it has been used). 329The purpose of regeneration is to prevent 330decrypting captured sessions by later breaking into the machine and 331stealing the keys. 332The key is never stored anywhere. 333If the value is 0, the key is never regenerated. 334The default is 3600 (seconds). 335.It Cm ListenAddress 336Specifies the local addresses 337.Nm sshd 338should listen on. 339The following forms may be used: 340.Pp 341.Bl -item -offset indent -compact 342.It 343.Cm ListenAddress 344.Sm off 345.Ar host No | Ar IPv4_addr No | Ar IPv6_addr 346.Sm on 347.It 348.Cm ListenAddress 349.Sm off 350.Ar host No | Ar IPv4_addr No : Ar port 351.Sm on 352.It 353.Cm ListenAddress 354.Sm off 355.Oo 356.Ar host No | Ar IPv6_addr Oc : Ar port 357.Sm on 358.El 359.Pp 360If 361.Ar port 362is not specified, 363.Nm sshd 364will listen on the address and all prior 365.Cm Port 366options specified. 367The default is to listen on all local addresses. 368Multiple 369.Cm ListenAddress 370options are permitted. 371Additionally, any 372.Cm Port 373options must precede this option for non port qualified addresses. 374.It Cm LoginGraceTime 375The server disconnects after this time if the user has not 376successfully logged in. 377If the value is 0, there is no time limit. 378The default is 120 seconds. 379.It Cm LogLevel 380Gives the verbosity level that is used when logging messages from 381.Nm sshd . 382The possible values are: 383QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. 384The default is INFO. 385DEBUG and DEBUG1 are equivalent. 386DEBUG2 and DEBUG3 each specify higher levels of debugging output. 387Logging with a DEBUG level violates the privacy of users and is not recommended. 388.It Cm MACs 389Specifies the available MAC (message authentication code) algorithms. 390The MAC algorithm is used in protocol version 2 391for data integrity protection. 392Multiple algorithms must be comma-separated. 393The default is 394.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 . 395.It Cm MaxStartups 396Specifies the maximum number of concurrent unauthenticated connections to the 397.Nm sshd 398daemon. 399Additional connections will be dropped until authentication succeeds or the 400.Cm LoginGraceTime 401expires for a connection. 402The default is 10. 403.Pp 404Alternatively, random early drop can be enabled by specifying 405the three colon separated values 406.Dq start:rate:full 407(e.g., "10:30:60"). 408.Nm sshd 409will refuse connection attempts with a probability of 410.Dq rate/100 411(30%) 412if there are currently 413.Dq start 414(10) 415unauthenticated connections. 416The probability increases linearly and all connection attempts 417are refused if the number of unauthenticated connections reaches 418.Dq full 419(60). 420.It Cm PasswordAuthentication 421Specifies whether password authentication is allowed. 422The default is 423.Dq no , 424unless 425.Nm sshd 426was built without PAM support, in which case the default is 427.Dq yes . 428Note that if 429.Cm ChallengeResponseAuthentication 430is 431.Dq yes , 432and the PAM authentication policy for 433.Nm sshd 434includes 435.Xr pam_unix 8 , 436password authentication will be allowed through the challenge-response 437mechanism regardless of the value of 438.Cm PasswordAuthentication . 439.It Cm PermitEmptyPasswords 440When password authentication is allowed, it specifies whether the 441server allows login to accounts with empty password strings. 442The default is 443.Dq no . 444.It Cm PermitRootLogin 445Specifies whether root can login using 446.Xr ssh 1 . 447The argument must be 448.Dq yes , 449.Dq without-password , 450.Dq forced-commands-only 451or 452.Dq no . 453The default is 454.Dq no . 455Note that if 456.Cm ChallengeResponseAuthentication 457is 458.Dq yes , 459the root user may be allowed in with its password even if 460.Cm PermitRootLogin is set to 461.Dq without-password . 462.Pp 463If this option is set to 464.Dq without-password 465password authentication is disabled for root. Note that other authentication 466methods (e.g., keyboard-interactive/PAM) may still allow root to login using 467a password. 468.Pp 469If this option is set to 470.Dq forced-commands-only 471root login with public key authentication will be allowed, 472but only if the 473.Ar command 474option has been specified 475(which may be useful for taking remote backups even if root login is 476normally not allowed). 477All other authentication methods are disabled for root. 478.Pp 479If this option is set to 480.Dq no 481root is not allowed to login. 482.It Cm PermitUserEnvironment 483Specifies whether 484.Pa ~/.ssh/environment 485and 486.Cm environment= 487options in 488.Pa ~/.ssh/authorized_keys 489are processed by 490.Nm sshd . 491The default is 492.Dq no . 493Enabling environment processing may enable users to bypass access 494restrictions in some configurations using mechanisms such as 495.Ev LD_PRELOAD . 496.It Cm PidFile 497Specifies the file that contains the process ID of the 498.Nm sshd 499daemon. 500The default is 501.Pa /var/run/sshd.pid . 502.It Cm Port 503Specifies the port number that 504.Nm sshd 505listens on. 506The default is 22. 507Multiple options of this type are permitted. 508See also 509.Cm ListenAddress . 510.It Cm PrintLastLog 511Specifies whether 512.Nm sshd 513should print the date and time when the user last logged in. 514The default is 515.Dq yes . 516.It Cm PrintMotd 517Specifies whether 518.Nm sshd 519should print 520.Pa /etc/motd 521when a user logs in interactively. 522(On some systems it is also printed by the shell, 523.Pa /etc/profile , 524or equivalent.) 525The default is 526.Dq yes . 527.It Cm Protocol 528Specifies the protocol versions 529.Nm sshd 530supports. 531The possible values are 532.Dq 1 533and 534.Dq 2 . 535Multiple versions must be comma-separated. 536The default is 537.Dq 2 . 538Note that the order of the protocol list does not indicate preference, 539because the client selects among multiple protocol versions offered 540by the server. 541Specifying 542.Dq 2,1 543is identical to 544.Dq 1,2 . 545.It Cm PubkeyAuthentication 546Specifies whether public key authentication is allowed. 547The default is 548.Dq yes . 549Note that this option applies to protocol version 2 only. 550.It Cm RhostsRSAAuthentication 551Specifies whether rhosts or 552.Pa /etc/hosts.equiv 553authentication together 554with successful RSA host authentication is allowed. 555The default is 556.Dq no . 557This option applies to protocol version 1 only. 558.It Cm RSAAuthentication 559Specifies whether pure RSA authentication is allowed. 560The default is 561.Dq yes . 562This option applies to protocol version 1 only. 563.It Cm ServerKeyBits 564Defines the number of bits in the ephemeral protocol version 1 server key. 565The minimum value is 512, and the default is 768. 566.It Cm StrictModes 567Specifies whether 568.Nm sshd 569should check file modes and ownership of the 570user's files and home directory before accepting login. 571This is normally desirable because novices sometimes accidentally leave their 572directory or files world-writable. 573The default is 574.Dq yes . 575.It Cm Subsystem 576Configures an external subsystem (e.g., file transfer daemon). 577Arguments should be a subsystem name and a command to execute upon subsystem 578request. 579The command 580.Xr sftp-server 8 581implements the 582.Dq sftp 583file transfer subsystem. 584By default no subsystems are defined. 585Note that this option applies to protocol version 2 only. 586.It Cm SyslogFacility 587Gives the facility code that is used when logging messages from 588.Nm sshd . 589The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, 590LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. 591The default is AUTH. 592.It Cm TCPKeepAlive 593Specifies whether the system should send TCP keepalive messages to the 594other side. 595If they are sent, death of the connection or crash of one 596of the machines will be properly noticed. 597However, this means that 598connections will die if the route is down temporarily, and some people 599find it annoying. 600On the other hand, if TCP keepalives are not sent, 601sessions may hang indefinitely on the server, leaving 602.Dq ghost 603users and consuming server resources. 604.Pp 605The default is 606.Dq yes 607(to send TCP keepalive messages), and the server will notice 608if the network goes down or the client host crashes. 609This avoids infinitely hanging sessions. 610.Pp 611To disable TCP keepalive messages, the value should be set to 612.Dq no . 613.It Cm UseDNS 614Specifies whether 615.Nm sshd 616should lookup the remote host name and check that 617the resolved host name for the remote IP address maps back to the 618very same IP address. 619The default is 620.Dq yes . 621.It Cm UseLogin 622Specifies whether 623.Xr login 1 624is used for interactive login sessions. 625The default is 626.Dq no . 627Note that 628.Xr login 1 629is never used for remote command execution. 630Note also, that if this is enabled, 631.Cm X11Forwarding 632will be disabled because 633.Xr login 1 634does not know how to handle 635.Xr xauth 1 636cookies. 637If 638.Cm UsePrivilegeSeparation 639is specified, it will be disabled after authentication. 640.It Cm UsePAM 641Enables PAM authentication (via challenge-response) and session set up. 642If you enable this, you should probably disable 643.Cm PasswordAuthentication . 644If you enable 645.CM UsePAM 646then you will not be able to run sshd as a non-root user. The default is 647.Dq yes . 648.It Cm UsePrivilegeSeparation 649Specifies whether 650.Nm sshd 651separates privileges by creating an unprivileged child process 652to deal with incoming network traffic. 653After successful authentication, another process will be created that has 654the privilege of the authenticated user. 655The goal of privilege separation is to prevent privilege 656escalation by containing any corruption within the unprivileged processes. 657The default is 658.Dq yes . 659.It Cm VersionAddendum 660Specifies a string to append to the regular version string to identify 661OS- or site-specific modifications. 662The default is 663.Dq FreeBSD-20040419 . 664.It Cm X11DisplayOffset 665Specifies the first display number available for 666.Nm sshd Ns 's 667X11 forwarding. 668This prevents 669.Nm sshd 670from interfering with real X11 servers. 671The default is 10. 672.It Cm X11Forwarding 673Specifies whether X11 forwarding is permitted. 674The argument must be 675.Dq yes 676or 677.Dq no . 678The default is 679.Dq yes . 680.Pp 681When X11 forwarding is enabled, there may be additional exposure to 682the server and to client displays if the 683.Nm sshd 684proxy display is configured to listen on the wildcard address (see 685.Cm X11UseLocalhost 686below), however this is not the default. 687Additionally, the authentication spoofing and authentication data 688verification and substitution occur on the client side. 689The security risk of using X11 forwarding is that the client's X11 690display server may be exposed to attack when the ssh client requests 691forwarding (see the warnings for 692.Cm ForwardX11 693in 694.Xr ssh_config 5 ) . 695A system administrator may have a stance in which they want to 696protect clients that may expose themselves to attack by unwittingly 697requesting X11 forwarding, which can warrant a 698.Dq no 699setting. 700.Pp 701Note that disabling X11 forwarding does not prevent users from 702forwarding X11 traffic, as users can always install their own forwarders. 703X11 forwarding is automatically disabled if 704.Cm UseLogin 705is enabled. 706.It Cm X11UseLocalhost 707Specifies whether 708.Nm sshd 709should bind the X11 forwarding server to the loopback address or to 710the wildcard address. 711By default, 712.Nm sshd 713binds the forwarding server to the loopback address and sets the 714hostname part of the 715.Ev DISPLAY 716environment variable to 717.Dq localhost . 718This prevents remote hosts from connecting to the proxy display. 719However, some older X11 clients may not function with this 720configuration. 721.Cm X11UseLocalhost 722may be set to 723.Dq no 724to specify that the forwarding server should be bound to the wildcard 725address. 726The argument must be 727.Dq yes 728or 729.Dq no . 730The default is 731.Dq yes . 732.It Cm XAuthLocation 733Specifies the full pathname of the 734.Xr xauth 1 735program. 736The default is 737.Pa /usr/X11R6/bin/xauth . 738.El 739.Ss Time Formats 740.Nm sshd 741command-line arguments and configuration file options that specify time 742may be expressed using a sequence of the form: 743.Sm off 744.Ar time Op Ar qualifier , 745.Sm on 746where 747.Ar time 748is a positive integer value and 749.Ar qualifier 750is one of the following: 751.Pp 752.Bl -tag -width Ds -compact -offset indent 753.It Cm <none> 754seconds 755.It Cm s | Cm S 756seconds 757.It Cm m | Cm M 758minutes 759.It Cm h | Cm H 760hours 761.It Cm d | Cm D 762days 763.It Cm w | Cm W 764weeks 765.El 766.Pp 767Each member of the sequence is added together to calculate 768the total time value. 769.Pp 770Time format examples: 771.Pp 772.Bl -tag -width Ds -compact -offset indent 773.It 600 774600 seconds (10 minutes) 775.It 10m 77610 minutes 777.It 1h30m 7781 hour 30 minutes (90 minutes) 779.El 780.Sh FILES 781.Bl -tag -width Ds 782.It Pa /etc/ssh/sshd_config 783Contains configuration data for 784.Nm sshd . 785This file should be writable by root only, but it is recommended 786(though not necessary) that it be world-readable. 787.El 788.Sh SEE ALSO 789.Xr sshd 8 790.Sh AUTHORS 791OpenSSH is a derivative of the original and free 792ssh 1.2.12 release by Tatu Ylonen. 793Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, 794Theo de Raadt and Dug Song 795removed many bugs, re-added newer features and 796created OpenSSH. 797Markus Friedl contributed the support for SSH 798protocol versions 1.5 and 2.0. 799Niels Provos and Markus Friedl contributed support 800for privilege separation. 801