diff options
Diffstat (limited to 'other/openssh-2.1.1p4/sshd.8')
| -rw-r--r-- | other/openssh-2.1.1p4/sshd.8 | 1004 |
1 files changed, 1004 insertions, 0 deletions
diff --git a/other/openssh-2.1.1p4/sshd.8 b/other/openssh-2.1.1p4/sshd.8 new file mode 100644 index 0000000..c6c2ce8 --- /dev/null +++ b/other/openssh-2.1.1p4/sshd.8 | |||
| @@ -0,0 +1,1004 @@ | |||
| 1 | .\" -*- nroff -*- | ||
| 2 | .\" | ||
| 3 | .\" sshd.8.in | ||
| 4 | .\" | ||
| 5 | .\" Author: Tatu Ylonen <ylo@cs.hut.fi> | ||
| 6 | .\" | ||
| 7 | .\" Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 8 | .\" All rights reserved | ||
| 9 | .\" | ||
| 10 | .\" Created: Sat Apr 22 21:55:14 1995 ylo | ||
| 11 | .\" | ||
| 12 | .\" $Id: sshd.8,v 1.56 2000/07/06 04:06:56 aaron Exp $ | ||
| 13 | .\" | ||
| 14 | .Dd September 25, 1999 | ||
| 15 | .Dt SSHD 8 | ||
| 16 | .Os | ||
| 17 | .Sh NAME | ||
| 18 | .Nm sshd | ||
| 19 | .Nd secure shell daemon | ||
| 20 | .Sh SYNOPSIS | ||
| 21 | .Nm sshd | ||
| 22 | .Op Fl diqQ46 | ||
| 23 | .Op Fl b Ar bits | ||
| 24 | .Op Fl f Ar config_file | ||
| 25 | .Op Fl g Ar login_grace_time | ||
| 26 | .Op Fl h Ar host_key_file | ||
| 27 | .Op Fl k Ar key_gen_time | ||
| 28 | .Op Fl p Ar port | ||
| 29 | .Op Fl V Ar client_protocol_id | ||
| 30 | .Sh DESCRIPTION | ||
| 31 | .Nm | ||
| 32 | (Secure Shell Daemon) is the daemon program for | ||
| 33 | .Xr ssh 1 . | ||
| 34 | Together these programs replace rlogin and rsh, and | ||
| 35 | provide secure encrypted communications between two untrusted hosts | ||
| 36 | over an insecure network. | ||
| 37 | The programs are intended to be as easy to | ||
| 38 | install and use as possible. | ||
| 39 | .Pp | ||
| 40 | .Nm | ||
| 41 | is the daemon that listens for connections from clients. | ||
| 42 | It is normally started at boot from | ||
| 43 | .Pa /etc/rc . | ||
| 44 | It forks a new | ||
| 45 | daemon for each incoming connection. | ||
| 46 | The forked daemons handle | ||
| 47 | key exchange, encryption, authentication, command execution, | ||
| 48 | and data exchange. | ||
| 49 | This implementation of | ||
| 50 | .Nm | ||
| 51 | supports both SSH protocol version 1 and 2 simultaneously. | ||
| 52 | .Nm | ||
| 53 | works as follows. | ||
| 54 | .Pp | ||
| 55 | .Ss SSH protocol version 1 | ||
| 56 | .Pp | ||
| 57 | Each host has a host-specific RSA key | ||
| 58 | (normally 1024 bits) used to identify the host. | ||
| 59 | Additionally, when | ||
| 60 | the daemon starts, it generates a server RSA key (normally 768 bits). | ||
| 61 | This key is normally regenerated every hour if it has been used, and | ||
| 62 | is never stored on disk. | ||
| 63 | .Pp | ||
| 64 | Whenever a client connects the daemon responds with its public | ||
| 65 | host and server keys. | ||
| 66 | The client compares the | ||
| 67 | RSA host key against its own database to verify that it has not changed. | ||
| 68 | The client then generates a 256 bit random number. | ||
| 69 | It encrypts this | ||
| 70 | random number using both the host key and the server key, and sends | ||
| 71 | the encrypted number to the server. | ||
| 72 | Both sides then use this | ||
| 73 | random number as a session key which is used to encrypt all further | ||
| 74 | communications in the session. | ||
| 75 | The rest of the session is encrypted | ||
| 76 | using a conventional cipher, currently Blowfish or 3DES, with 3DES | ||
| 77 | being used by default. | ||
| 78 | The client selects the encryption algorithm | ||
| 79 | to use from those offered by the server. | ||
| 80 | .Pp | ||
| 81 | Next, the server and the client enter an authentication dialog. | ||
| 82 | The client tries to authenticate itself using | ||
| 83 | .Pa .rhosts | ||
| 84 | authentication, | ||
| 85 | .Pa .rhosts | ||
| 86 | authentication combined with RSA host | ||
| 87 | authentication, RSA challenge-response authentication, or password | ||
| 88 | based authentication. | ||
| 89 | .Pp | ||
| 90 | Rhosts authentication is normally disabled | ||
| 91 | because it is fundamentally insecure, but can be enabled in the server | ||
| 92 | configuration file if desired. | ||
| 93 | System security is not improved unless | ||
| 94 | .Xr rshd 8 , | ||
| 95 | .Xr rlogind 8 , | ||
| 96 | .Xr rexecd 8 , | ||
| 97 | and | ||
| 98 | .Xr rexd 8 | ||
| 99 | are disabled (thus completely disabling | ||
| 100 | .Xr rlogin 1 | ||
| 101 | and | ||
| 102 | .Xr rsh 1 | ||
| 103 | into the machine). | ||
| 104 | .Pp | ||
| 105 | .Ss SSH protocol version 2 | ||
| 106 | .Pp | ||
| 107 | Version 2 works similar: | ||
| 108 | Each host has a host-specific DSA key used to identify the host. | ||
| 109 | However, when the daemon starts, it does not generate a server key. | ||
| 110 | Forward security is provided through a Diffie-Hellman key agreement. | ||
| 111 | This key agreement results in a shared session key. | ||
| 112 | The rest of the session is encrypted | ||
| 113 | using a symmetric cipher, currently | ||
| 114 | Blowfish, 3DES or CAST128 in CBC mode or Arcfour. | ||
| 115 | The client selects the encryption algorithm | ||
| 116 | to use from those offered by the server. | ||
| 117 | Additionally, session integrity is provided | ||
| 118 | through a cryptographic message authentication code | ||
| 119 | (hmac-sha1 or hmac-md5). | ||
| 120 | .Pp | ||
| 121 | Protocol version 2 provides a public key based | ||
| 122 | user authentication method (DSAAuthentication) | ||
| 123 | and conventional password authentication. | ||
| 124 | .Pp | ||
| 125 | .Ss Command execution and data forwarding | ||
| 126 | .Pp | ||
| 127 | If the client successfully authenticates itself, a dialog for | ||
| 128 | preparing the session is entered. | ||
| 129 | At this time the client may request | ||
| 130 | things like allocating a pseudo-tty, forwarding X11 connections, | ||
| 131 | forwarding TCP/IP connections, or forwarding the authentication agent | ||
| 132 | connection over the secure channel. | ||
| 133 | .Pp | ||
| 134 | Finally, the client either requests a shell or execution of a command. | ||
| 135 | The sides then enter session mode. | ||
| 136 | In this mode, either side may send | ||
| 137 | data at any time, and such data is forwarded to/from the shell or | ||
| 138 | command on the server side, and the user terminal in the client side. | ||
| 139 | .Pp | ||
| 140 | When the user program terminates and all forwarded X11 and other | ||
| 141 | connections have been closed, the server sends command exit status to | ||
| 142 | the client, and both sides exit. | ||
| 143 | .Pp | ||
| 144 | .Nm | ||
| 145 | can be configured using command-line options or a configuration | ||
| 146 | file. | ||
| 147 | Command-line options override values specified in the | ||
| 148 | configuration file. | ||
| 149 | .Pp | ||
| 150 | .Nm | ||
| 151 | rereads its configuration file when it receives a hangup signal, | ||
| 152 | .Dv SIGHUP . | ||
| 153 | .Pp | ||
| 154 | The options are as follows: | ||
| 155 | .Bl -tag -width Ds | ||
| 156 | .It Fl b Ar bits | ||
| 157 | Specifies the number of bits in the server key (default 768). | ||
| 158 | .Pp | ||
| 159 | .It Fl d | ||
| 160 | Debug mode. | ||
| 161 | The server sends verbose debug output to the system | ||
| 162 | log, and does not put itself in the background. | ||
| 163 | The server also will not fork and will only process one connection. | ||
| 164 | This option is only intended for debugging for the server. | ||
| 165 | .It Fl f Ar configuration_file | ||
| 166 | Specifies the name of the configuration file. | ||
| 167 | The default is | ||
| 168 | .Pa /etc/sshd_config . | ||
| 169 | .Nm | ||
| 170 | refuses to start if there is no configuration file. | ||
| 171 | .It Fl g Ar login_grace_time | ||
| 172 | Gives the grace time for clients to authenticate themselves (default | ||
| 173 | 300 seconds). | ||
| 174 | If the client fails to authenticate the user within | ||
| 175 | this many seconds, the server disconnects and exits. | ||
| 176 | A value of zero indicates no limit. | ||
| 177 | .It Fl h Ar host_key_file | ||
| 178 | Specifies the file from which the RSA host key is read (default | ||
| 179 | .Pa /etc/ssh_host_key ) . | ||
| 180 | This option must be given if | ||
| 181 | .Nm | ||
| 182 | is not run as root (as the normal | ||
| 183 | host file is normally not readable by anyone but root). | ||
| 184 | .It Fl i | ||
| 185 | Specifies that | ||
| 186 | .Nm | ||
| 187 | is being run from inetd. | ||
| 188 | .Nm | ||
| 189 | is normally not run | ||
| 190 | from inetd because it needs to generate the server key before it can | ||
| 191 | respond to the client, and this may take tens of seconds. | ||
| 192 | Clients would have to wait too long if the key was regenerated every time. | ||
| 193 | However, with small key sizes (e.g., 512) using | ||
| 194 | .Nm | ||
| 195 | from inetd may | ||
| 196 | be feasible. | ||
| 197 | .It Fl k Ar key_gen_time | ||
| 198 | Specifies how often the server key is regenerated (default 3600 | ||
| 199 | seconds, or one hour). | ||
| 200 | The motivation for regenerating the key fairly | ||
| 201 | often is that the key is not stored anywhere, and after about an hour, | ||
| 202 | it becomes impossible to recover the key for decrypting intercepted | ||
| 203 | communications even if the machine is cracked into or physically | ||
| 204 | seized. | ||
| 205 | A value of zero indicates that the key will never be regenerated. | ||
| 206 | .It Fl p Ar port | ||
| 207 | Specifies the port on which the server listens for connections | ||
| 208 | (default 22). | ||
| 209 | .It Fl q | ||
| 210 | Quiet mode. | ||
| 211 | Nothing is sent to the system log. | ||
| 212 | Normally the beginning, | ||
| 213 | authentication, and termination of each connection is logged. | ||
| 214 | .It Fl Q | ||
| 215 | Do not print an error message if RSA support is missing. | ||
| 216 | .It Fl V Ar client_protocol_id | ||
| 217 | SSH2 compatibility mode. | ||
| 218 | When this option is specified | ||
| 219 | .Nm | ||
| 220 | assumes the client has sent the supplied version string | ||
| 221 | and skips the | ||
| 222 | Protocol Version Identification Exchange. | ||
| 223 | .It Fl 4 | ||
| 224 | Forces | ||
| 225 | .Nm | ||
| 226 | to use IPv4 addresses only. | ||
| 227 | .It Fl 6 | ||
| 228 | Forces | ||
| 229 | .Nm | ||
| 230 | to use IPv6 addresses only. | ||
| 231 | .El | ||
| 232 | .Sh CONFIGURATION FILE | ||
| 233 | .Nm | ||
| 234 | reads configuration data from | ||
| 235 | .Pa /etc/sshd_config | ||
| 236 | (or the file specified with | ||
| 237 | .Fl f | ||
| 238 | on the command line). | ||
| 239 | The file contains keyword-value pairs, one per line. | ||
| 240 | Lines starting with | ||
| 241 | .Ql # | ||
| 242 | and empty lines are interpreted as comments. | ||
| 243 | .Pp | ||
| 244 | The following keywords are possible. | ||
| 245 | .Bl -tag -width Ds | ||
| 246 | .It Cm AFSTokenPassing | ||
| 247 | Specifies whether an AFS token may be forwarded to the server. | ||
| 248 | Default is | ||
| 249 | .Dq yes . | ||
| 250 | .It Cm AllowGroups | ||
| 251 | This keyword can be followed by a number of group names, separated | ||
| 252 | by spaces. | ||
| 253 | If specified, login is allowed only for users whose primary | ||
| 254 | group matches one of the patterns. | ||
| 255 | .Ql \&* | ||
| 256 | and | ||
| 257 | .Ql ? | ||
| 258 | can be used as | ||
| 259 | wildcards in the patterns. | ||
| 260 | Only group names are valid, a numerical group ID isn't recognized. | ||
| 261 | By default login is allowed regardless of the primary group. | ||
| 262 | .Pp | ||
| 263 | .It Cm AllowUsers | ||
| 264 | This keyword can be followed by a number of user names, separated | ||
| 265 | by spaces. | ||
| 266 | If specified, login is allowed only for users names that | ||
| 267 | match one of the patterns. | ||
| 268 | .Ql \&* | ||
| 269 | and | ||
| 270 | .Ql ? | ||
| 271 | can be used as | ||
| 272 | wildcards in the patterns. | ||
| 273 | Only user names are valid, a numerical user ID isn't recognized. | ||
| 274 | By default login is allowed regardless of the user name. | ||
| 275 | .Pp | ||
| 276 | .It Cm Ciphers | ||
| 277 | Specifies the ciphers allowed for protocol version 2. | ||
| 278 | Multiple ciphers must be comma-separated. | ||
| 279 | The default is | ||
| 280 | .Dq 3des-cbc,blowfish-cbc,arcfour,cast128-cbc . | ||
| 281 | .It Cm CheckMail | ||
| 282 | Specifies whether | ||
| 283 | .Nm | ||
| 284 | should check for new mail for interactive logins. | ||
| 285 | The default is | ||
| 286 | .Dq no . | ||
| 287 | .It Cm DenyGroups | ||
| 288 | This keyword can be followed by a number of group names, separated | ||
| 289 | by spaces. | ||
| 290 | Users whose primary group matches one of the patterns | ||
| 291 | aren't allowed to log in. | ||
| 292 | .Ql \&* | ||
| 293 | and | ||
| 294 | .Ql ? | ||
| 295 | can be used as | ||
| 296 | wildcards in the patterns. | ||
| 297 | Only group names are valid, a numerical group ID isn't recognized. | ||
| 298 | By default login is allowed regardless of the primary group. | ||
| 299 | .Pp | ||
| 300 | .It Cm DenyUsers | ||
| 301 | This keyword can be followed by a number of user names, separated | ||
| 302 | by spaces. | ||
| 303 | Login is disallowed for user names that match one of the patterns. | ||
| 304 | .Ql \&* | ||
| 305 | and | ||
| 306 | .Ql ? | ||
| 307 | can be used as wildcards in the patterns. | ||
| 308 | Only user names are valid, a numerical user ID isn't recognized. | ||
| 309 | By default login is allowed regardless of the user name. | ||
| 310 | .It Cm DSAAuthentication | ||
| 311 | Specifies whether DSA authentication is allowed. | ||
| 312 | The default is | ||
| 313 | .Dq yes . | ||
| 314 | Note that this option applies to protocol version 2 only. | ||
| 315 | .It Cm GatewayPorts | ||
| 316 | Specifies whether remote hosts are allowed to connect to ports | ||
| 317 | forwarded for the client. | ||
| 318 | The argument must be | ||
| 319 | .Dq yes | ||
| 320 | or | ||
| 321 | .Dq no . | ||
| 322 | The default is | ||
| 323 | .Dq no . | ||
| 324 | .It Cm HostDsaKey | ||
| 325 | Specifies the file containing the private DSA host key (default | ||
| 326 | .Pa /etc/ssh_host_dsa_key ) | ||
| 327 | used by SSH protocol 2.0. | ||
| 328 | Note that | ||
| 329 | .Nm | ||
| 330 | disables protocol 2.0 if this file is group/world-accessible. | ||
| 331 | .It Cm HostKey | ||
| 332 | Specifies the file containing the private RSA host key (default | ||
| 333 | .Pa /etc/ssh_host_key ) | ||
| 334 | used by SSH protocols 1.3 and 1.5. | ||
| 335 | Note that | ||
| 336 | .Nm | ||
| 337 | disables protocols 1.3 and 1.5 if this file is group/world-accessible. | ||
| 338 | .It Cm IgnoreRhosts | ||
| 339 | Specifies that | ||
| 340 | .Pa .rhosts | ||
| 341 | and | ||
| 342 | .Pa .shosts | ||
| 343 | files will not be used in authentication. | ||
| 344 | .Pa /etc/hosts.equiv | ||
| 345 | and | ||
| 346 | .Pa /etc/shosts.equiv | ||
| 347 | are still used. | ||
| 348 | The default is | ||
| 349 | .Dq yes . | ||
| 350 | .It Cm IgnoreUserKnownHosts | ||
| 351 | Specifies whether | ||
| 352 | .Nm | ||
| 353 | should ignore the user's | ||
| 354 | .Pa $HOME/.ssh/known_hosts | ||
| 355 | during | ||
| 356 | .Cm RhostsRSAAuthentication . | ||
| 357 | The default is | ||
| 358 | .Dq no . | ||
| 359 | .It Cm KeepAlive | ||
| 360 | Specifies whether the system should send keepalive messages to the | ||
| 361 | other side. | ||
| 362 | If they are sent, death of the connection or crash of one | ||
| 363 | of the machines will be properly noticed. | ||
| 364 | However, this means that | ||
| 365 | connections will die if the route is down temporarily, and some people | ||
| 366 | find it annoying. | ||
| 367 | On the other hand, if keepalives are not sent, | ||
| 368 | sessions may hang indefinitely on the server, leaving | ||
| 369 | .Dq ghost | ||
| 370 | users and consuming server resources. | ||
| 371 | .Pp | ||
| 372 | The default is | ||
| 373 | .Dq yes | ||
| 374 | (to send keepalives), and the server will notice | ||
| 375 | if the network goes down or the client host reboots. | ||
| 376 | This avoids infinitely hanging sessions. | ||
| 377 | .Pp | ||
| 378 | To disable keepalives, the value should be set to | ||
| 379 | .Dq no | ||
| 380 | in both the server and the client configuration files. | ||
| 381 | .It Cm KerberosAuthentication | ||
| 382 | Specifies whether Kerberos authentication is allowed. | ||
| 383 | This can be in the form of a Kerberos ticket, or if | ||
| 384 | .Cm PasswordAuthentication | ||
| 385 | is yes, the password provided by the user will be validated through | ||
| 386 | the Kerberos KDC. | ||
| 387 | Default is | ||
| 388 | .Dq yes . | ||
| 389 | .It Cm KerberosOrLocalPasswd | ||
| 390 | If set then if password authentication through Kerberos fails then | ||
| 391 | the password will be validated via any additional local mechanism | ||
| 392 | such as | ||
| 393 | .Pa /etc/passwd | ||
| 394 | or SecurID. | ||
| 395 | Default is | ||
| 396 | .Dq yes . | ||
| 397 | .It Cm KerberosTgtPassing | ||
| 398 | Specifies whether a Kerberos TGT may be forwarded to the server. | ||
| 399 | Default is | ||
| 400 | .Dq no , | ||
| 401 | as this only works when the Kerberos KDC is actually an AFS kaserver. | ||
| 402 | .It Cm KerberosTicketCleanup | ||
| 403 | Specifies whether to automatically destroy the user's ticket cache | ||
| 404 | file on logout. | ||
| 405 | Default is | ||
| 406 | .Dq yes . | ||
| 407 | .It Cm KeyRegenerationInterval | ||
| 408 | The server key is automatically regenerated after this many seconds | ||
| 409 | (if it has been used). | ||
| 410 | The purpose of regeneration is to prevent | ||
| 411 | decrypting captured sessions by later breaking into the machine and | ||
| 412 | stealing the keys. | ||
| 413 | The key is never stored anywhere. | ||
| 414 | If the value is 0, the key is never regenerated. | ||
| 415 | The default is 3600 (seconds). | ||
| 416 | .It Cm ListenAddress | ||
| 417 | Specifies what local address | ||
| 418 | .Nm | ||
| 419 | should listen on. | ||
| 420 | The default is to listen to all local addresses. | ||
| 421 | Multiple options of this type are permitted. | ||
| 422 | Additionally, the | ||
| 423 | .Cm Ports | ||
| 424 | options must precede this option. | ||
| 425 | .It Cm LoginGraceTime | ||
| 426 | The server disconnects after this time if the user has not | ||
| 427 | successfully logged in. | ||
| 428 | If the value is 0, there is no time limit. | ||
| 429 | The default is 600 (seconds). | ||
| 430 | .It Cm LogLevel | ||
| 431 | Gives the verbosity level that is used when logging messages from | ||
| 432 | .Nm sshd . | ||
| 433 | The possible values are: | ||
| 434 | QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG. | ||
| 435 | The default is INFO. | ||
| 436 | Logging with level DEBUG violates the privacy of users | ||
| 437 | and is not recommended. | ||
| 438 | .It Cm MaxStartups | ||
| 439 | Specifies the maximum number of concurrent unauthenticated connections to the | ||
| 440 | .Nm | ||
| 441 | daemon. | ||
| 442 | Additional connections will be dropped until authentication succeeds or the | ||
| 443 | .Cm LoginGraceTime | ||
| 444 | expires for a connection. | ||
| 445 | The default is 10. | ||
| 446 | .It Cm PasswordAuthentication | ||
| 447 | Specifies whether password authentication is allowed. | ||
| 448 | The default is | ||
| 449 | .Dq yes . | ||
| 450 | Note that this option applies to both protocol version 1 and 2. | ||
| 451 | .It Cm PermitEmptyPasswords | ||
| 452 | When password authentication is allowed, it specifies whether the | ||
| 453 | server allows login to accounts with empty password strings. | ||
| 454 | The default is | ||
| 455 | .Dq no . | ||
| 456 | .It Cm PermitRootLogin | ||
| 457 | Specifies whether the root can log in using | ||
| 458 | .Xr ssh 1 . | ||
| 459 | The argument must be | ||
| 460 | .Dq yes , | ||
| 461 | .Dq without-password | ||
| 462 | or | ||
| 463 | .Dq no . | ||
| 464 | The default is | ||
| 465 | .Dq yes . | ||
| 466 | If this options is set to | ||
| 467 | .Dq without-password | ||
| 468 | only password authentication is disabled for root. | ||
| 469 | .Pp | ||
| 470 | Root login with RSA authentication when the | ||
| 471 | .Ar command | ||
| 472 | option has been | ||
| 473 | specified will be allowed regardless of the value of this setting | ||
| 474 | (which may be useful for taking remote backups even if root login is | ||
| 475 | normally not allowed). | ||
| 476 | .It Cm PidFile | ||
| 477 | Specifies the file that contains the process identifier of the | ||
| 478 | .Nm | ||
| 479 | daemon. | ||
| 480 | The default is | ||
| 481 | .Pa /var/run/sshd.pid . | ||
| 482 | .It Cm Port | ||
| 483 | Specifies the port number that | ||
| 484 | .Nm | ||
| 485 | listens on. | ||
| 486 | The default is 22. | ||
| 487 | Multiple options of this type are permitted. | ||
| 488 | .It Cm PrintMotd | ||
| 489 | Specifies whether | ||
| 490 | .Nm | ||
| 491 | should print | ||
| 492 | .Pa /etc/motd | ||
| 493 | when a user logs in interactively. | ||
| 494 | (On some systems it is also printed by the shell, | ||
| 495 | .Pa /etc/profile , | ||
| 496 | or equivalent.) | ||
| 497 | The default is | ||
| 498 | .Dq yes . | ||
| 499 | .It Cm Protocol | ||
| 500 | Specifies the protocol versions | ||
| 501 | .Nm | ||
| 502 | should support. | ||
| 503 | The possible values are | ||
| 504 | .Dq 1 | ||
| 505 | and | ||
| 506 | .Dq 2 . | ||
| 507 | Multiple versions must be comma-separated. | ||
| 508 | The default is | ||
| 509 | .Dq 1 . | ||
| 510 | .It Cm RandomSeed | ||
| 511 | Obsolete. | ||
| 512 | Random number generation uses other techniques. | ||
| 513 | .It Cm RhostsAuthentication | ||
| 514 | Specifies whether authentication using rhosts or /etc/hosts.equiv | ||
| 515 | files is sufficient. | ||
| 516 | Normally, this method should not be permitted because it is insecure. | ||
| 517 | .Cm RhostsRSAAuthentication | ||
| 518 | should be used | ||
| 519 | instead, because it performs RSA-based host authentication in addition | ||
| 520 | to normal rhosts or /etc/hosts.equiv authentication. | ||
| 521 | The default is | ||
| 522 | .Dq no . | ||
| 523 | .It Cm RhostsRSAAuthentication | ||
| 524 | Specifies whether rhosts or /etc/hosts.equiv authentication together | ||
| 525 | with successful RSA host authentication is allowed. | ||
| 526 | The default is | ||
| 527 | .Dq no . | ||
| 528 | .It Cm RSAAuthentication | ||
| 529 | Specifies whether pure RSA authentication is allowed. | ||
| 530 | The default is | ||
| 531 | .Dq yes . | ||
| 532 | Note that this option applies to protocol version 1 only. | ||
| 533 | .It Cm ServerKeyBits | ||
| 534 | Defines the number of bits in the server key. | ||
| 535 | The minimum value is 512, and the default is 768. | ||
| 536 | .It Cm SkeyAuthentication | ||
| 537 | Specifies whether | ||
| 538 | .Xr skey 1 | ||
| 539 | authentication is allowed. | ||
| 540 | The default is | ||
| 541 | .Dq yes . | ||
| 542 | Note that s/key authentication is enabled only if | ||
| 543 | .Cm PasswordAuthentication | ||
| 544 | is allowed, too. | ||
| 545 | .It Cm StrictModes | ||
| 546 | Specifies whether | ||
| 547 | .Nm | ||
| 548 | should check file modes and ownership of the | ||
| 549 | user's files and home directory before accepting login. | ||
| 550 | This is normally desirable because novices sometimes accidentally leave their | ||
| 551 | directory or files world-writable. | ||
| 552 | The default is | ||
| 553 | .Dq yes . | ||
| 554 | .It Cm Subsystem | ||
| 555 | Configures an external subsystem (e.g. file transfer daemon). | ||
| 556 | Arguments should be a subsystem name and a command to execute upon subsystem request. | ||
| 557 | By default no subsystems are defined. | ||
| 558 | Note that this option applies to protocol version 2 only. | ||
| 559 | .It Cm SyslogFacility | ||
| 560 | Gives the facility code that is used when logging messages from | ||
| 561 | .Nm sshd . | ||
| 562 | The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, | ||
| 563 | LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. | ||
| 564 | The default is AUTH. | ||
| 565 | .It Cm UseLogin | ||
| 566 | Specifies whether | ||
| 567 | .Xr login 1 | ||
| 568 | is used for interactive login sessions. | ||
| 569 | Note that | ||
| 570 | .Xr login 1 | ||
| 571 | is not never for remote command execution. | ||
| 572 | The default is | ||
| 573 | .Dq no . | ||
| 574 | .It Cm X11DisplayOffset | ||
| 575 | Specifies the first display number available for | ||
| 576 | .Nm sshd Ns 's | ||
| 577 | X11 forwarding. | ||
| 578 | This prevents | ||
| 579 | .Nm | ||
| 580 | from interfering with real X11 servers. | ||
| 581 | The default is 10. | ||
| 582 | .It Cm X11Forwarding | ||
| 583 | Specifies whether X11 forwarding is permitted. | ||
| 584 | The default is | ||
| 585 | .Dq no . | ||
| 586 | Note that disabling X11 forwarding does not improve security in any | ||
| 587 | way, as users can always install their own forwarders. | ||
| 588 | .It Cm XAuthLocation | ||
| 589 | Specifies the location of the | ||
| 590 | .Xr xauth 1 | ||
| 591 | program. | ||
| 592 | The default is | ||
| 593 | .Pa /usr/X11R6/bin/xauth . | ||
| 594 | .El | ||
| 595 | .Sh LOGIN PROCESS | ||
| 596 | When a user successfully logs in, | ||
| 597 | .Nm | ||
| 598 | does the following: | ||
| 599 | .Bl -enum -offset indent | ||
| 600 | .It | ||
| 601 | If the login is on a tty, and no command has been specified, | ||
| 602 | prints last login time and | ||
| 603 | .Pa /etc/motd | ||
| 604 | (unless prevented in the configuration file or by | ||
| 605 | .Pa $HOME/.hushlogin ; | ||
| 606 | see the | ||
| 607 | .Sx FILES | ||
| 608 | section). | ||
| 609 | .It | ||
| 610 | If the login is on a tty, records login time. | ||
| 611 | .It | ||
| 612 | Checks | ||
| 613 | .Pa /etc/nologin ; | ||
| 614 | if it exists, prints contents and quits | ||
| 615 | (unless root). | ||
| 616 | .It | ||
| 617 | Changes to run with normal user privileges. | ||
| 618 | .It | ||
| 619 | Sets up basic environment. | ||
| 620 | .It | ||
| 621 | Reads | ||
| 622 | .Pa $HOME/.ssh/environment | ||
| 623 | if it exists. | ||
| 624 | .It | ||
| 625 | Changes to user's home directory. | ||
| 626 | .It | ||
| 627 | If | ||
| 628 | .Pa $HOME/.ssh/rc | ||
| 629 | exists, runs it; else if | ||
| 630 | .Pa /etc/sshrc | ||
| 631 | exists, runs | ||
| 632 | it; otherwise runs xauth. | ||
| 633 | The | ||
| 634 | .Dq rc | ||
| 635 | files are given the X11 | ||
| 636 | authentication protocol and cookie in standard input. | ||
| 637 | .It | ||
| 638 | Runs user's shell or command. | ||
| 639 | .El | ||
| 640 | .Sh AUTHORIZED_KEYS FILE FORMAT | ||
| 641 | The | ||
| 642 | .Pa $HOME/.ssh/authorized_keys | ||
| 643 | file lists the RSA keys that are | ||
| 644 | permitted for RSA authentication in SSH protocols 1.3 and 1.5 | ||
| 645 | Similarly, the | ||
| 646 | .Pa $HOME/.ssh/authorized_keys2 | ||
| 647 | file lists the DSA keys that are | ||
| 648 | permitted for DSA authentication in SSH protocol 2.0. | ||
| 649 | Each line of the file contains one | ||
| 650 | key (empty lines and lines starting with a | ||
| 651 | .Ql # | ||
| 652 | are ignored as | ||
| 653 | comments). | ||
| 654 | Each line consists of the following fields, separated by | ||
| 655 | spaces: options, bits, exponent, modulus, comment. | ||
| 656 | The options field | ||
| 657 | is optional; its presence is determined by whether the line starts | ||
| 658 | with a number or not (the option field never starts with a number). | ||
| 659 | The bits, exponent, modulus and comment fields give the RSA key; the | ||
| 660 | comment field is not used for anything (but may be convenient for the | ||
| 661 | user to identify the key). | ||
| 662 | .Pp | ||
| 663 | Note that lines in this file are usually several hundred bytes long | ||
| 664 | (because of the size of the RSA key modulus). | ||
| 665 | You don't want to type them in; instead, copy the | ||
| 666 | .Pa identity.pub | ||
| 667 | file and edit it. | ||
| 668 | .Pp | ||
| 669 | The options (if present) consists of comma-separated option | ||
| 670 | specifications. | ||
| 671 | No spaces are permitted, except within double quotes. | ||
| 672 | The following option specifications are supported: | ||
| 673 | .Bl -tag -width Ds | ||
| 674 | .It Cm from="pattern-list" | ||
| 675 | Specifies that in addition to RSA authentication, the canonical name | ||
| 676 | of the remote host must be present in the comma-separated list of | ||
| 677 | patterns | ||
| 678 | .Pf ( Ql * | ||
| 679 | and | ||
| 680 | .Ql ? | ||
| 681 | serve as wildcards). | ||
| 682 | The list may also contain | ||
| 683 | patterns negated by prefixing them with | ||
| 684 | .Ql ! ; | ||
| 685 | if the canonical host name matches a negated pattern, the key is not accepted. | ||
| 686 | The purpose | ||
| 687 | of this option is to optionally increase security: RSA authentication | ||
| 688 | by itself does not trust the network or name servers or anything (but | ||
| 689 | the key); however, if somebody somehow steals the key, the key | ||
| 690 | permits an intruder to log in from anywhere in the world. | ||
| 691 | This additional option makes using a stolen key more difficult (name | ||
| 692 | servers and/or routers would have to be compromised in addition to | ||
| 693 | just the key). | ||
| 694 | .It Cm command="command" | ||
| 695 | Specifies that the command is executed whenever this key is used for | ||
| 696 | authentication. | ||
| 697 | The command supplied by the user (if any) is ignored. | ||
| 698 | The command is run on a pty if the connection requests a pty; | ||
| 699 | otherwise it is run without a tty. | ||
| 700 | A quote may be included in the command by quoting it with a backslash. | ||
| 701 | This option might be useful | ||
| 702 | to restrict certain RSA keys to perform just a specific operation. | ||
| 703 | An example might be a key that permits remote backups but nothing else. | ||
| 704 | Note that the client may specify TCP/IP and/or X11 | ||
| 705 | forwarding unless they are explicitly prohibited. | ||
| 706 | .It Cm environment="NAME=value" | ||
| 707 | Specifies that the string is to be added to the environment when | ||
| 708 | logging in using this key. | ||
| 709 | Environment variables set this way | ||
| 710 | override other default environment values. | ||
| 711 | Multiple options of this type are permitted. | ||
| 712 | .It Cm no-port-forwarding | ||
| 713 | Forbids TCP/IP forwarding when this key is used for authentication. | ||
| 714 | Any port forward requests by the client will return an error. | ||
| 715 | This might be used, e.g., in connection with the | ||
| 716 | .Cm command | ||
| 717 | option. | ||
| 718 | .It Cm no-X11-forwarding | ||
| 719 | Forbids X11 forwarding when this key is used for authentication. | ||
| 720 | Any X11 forward requests by the client will return an error. | ||
| 721 | .It Cm no-agent-forwarding | ||
| 722 | Forbids authentication agent forwarding when this key is used for | ||
| 723 | authentication. | ||
| 724 | .It Cm no-pty | ||
| 725 | Prevents tty allocation (a request to allocate a pty will fail). | ||
| 726 | .El | ||
| 727 | .Ss Examples | ||
| 728 | 1024 33 12121.\|.\|.\|312314325 ylo@foo.bar | ||
| 729 | .Pp | ||
| 730 | from="*.niksula.hut.fi,!pc.niksula.hut.fi" 1024 35 23.\|.\|.\|2334 ylo@niksula | ||
| 731 | .Pp | ||
| 732 | command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi | ||
| 733 | .Sh SSH_KNOWN_HOSTS FILE FORMAT | ||
| 734 | The | ||
| 735 | .Pa /etc/ssh_known_hosts , | ||
| 736 | .Pa /etc/ssh_known_hosts2 , | ||
| 737 | .Pa $HOME/.ssh/known_hosts , | ||
| 738 | and | ||
| 739 | .Pa $HOME/.ssh/known_hosts2 | ||
| 740 | files contain host public keys for all known hosts. | ||
| 741 | The global file should | ||
| 742 | be prepared by the administrator (optional), and the per-user file is | ||
| 743 | maintained automatically: whenever the user connects an unknown host | ||
| 744 | its key is added to the per-user file. | ||
| 745 | .Pp | ||
| 746 | Each line in these files contains the following fields: hostnames, | ||
| 747 | bits, exponent, modulus, comment. | ||
| 748 | The fields are separated by spaces. | ||
| 749 | .Pp | ||
| 750 | Hostnames is a comma-separated list of patterns ('*' and '?' act as | ||
| 751 | wildcards); each pattern in turn is matched against the canonical host | ||
| 752 | name (when authenticating a client) or against the user-supplied | ||
| 753 | name (when authenticating a server). | ||
| 754 | A pattern may also be preceded by | ||
| 755 | .Ql ! | ||
| 756 | to indicate negation: if the host name matches a negated | ||
| 757 | pattern, it is not accepted (by that line) even if it matched another | ||
| 758 | pattern on the line. | ||
| 759 | .Pp | ||
| 760 | Bits, exponent, and modulus are taken directly from the RSA host key; they | ||
| 761 | can be obtained, e.g., from | ||
| 762 | .Pa /etc/ssh_host_key.pub . | ||
| 763 | The optional comment field continues to the end of the line, and is not used. | ||
| 764 | .Pp | ||
| 765 | Lines starting with | ||
| 766 | .Ql # | ||
| 767 | and empty lines are ignored as comments. | ||
| 768 | .Pp | ||
| 769 | When performing host authentication, authentication is accepted if any | ||
| 770 | matching line has the proper key. | ||
| 771 | It is thus permissible (but not | ||
| 772 | recommended) to have several lines or different host keys for the same | ||
| 773 | names. | ||
| 774 | This will inevitably happen when short forms of host names | ||
| 775 | from different domains are put in the file. | ||
| 776 | It is possible | ||
| 777 | that the files contain conflicting information; authentication is | ||
| 778 | accepted if valid information can be found from either file. | ||
| 779 | .Pp | ||
| 780 | Note that the lines in these files are typically hundreds of characters | ||
| 781 | long, and you definitely don't want to type in the host keys by hand. | ||
| 782 | Rather, generate them by a script | ||
| 783 | or by taking | ||
| 784 | .Pa /etc/ssh_host_key.pub | ||
| 785 | and adding the host names at the front. | ||
| 786 | .Ss Examples | ||
| 787 | closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi | ||
| 788 | .Sh FILES | ||
| 789 | .Bl -tag -width Ds | ||
| 790 | .It Pa /etc/sshd_config | ||
| 791 | Contains configuration data for | ||
| 792 | .Nm sshd . | ||
| 793 | This file should be writable by root only, but it is recommended | ||
| 794 | (though not necessary) that it be world-readable. | ||
| 795 | .It Pa /etc/ssh_host_key | ||
| 796 | Contains the private part of the host key. | ||
| 797 | This file should only be owned by root, readable only by root, and not | ||
| 798 | accessible to others. | ||
| 799 | Note that | ||
| 800 | .Nm | ||
| 801 | does not start if this file is group/world-accessible. | ||
| 802 | .It Pa /etc/ssh_host_key.pub | ||
| 803 | Contains the public part of the host key. | ||
| 804 | This file should be world-readable but writable only by | ||
| 805 | root. | ||
| 806 | Its contents should match the private part. | ||
| 807 | This file is not | ||
| 808 | really used for anything; it is only provided for the convenience of | ||
| 809 | the user so its contents can be copied to known hosts files. | ||
| 810 | These two files are created using | ||
| 811 | .Xr ssh-keygen 1 . | ||
| 812 | .It Pa /var/run/sshd.pid | ||
| 813 | Contains the process ID of the | ||
| 814 | .Nm | ||
| 815 | listening for connections (if there are several daemons running | ||
| 816 | concurrently for different ports, this contains the pid of the one | ||
| 817 | started last). | ||
| 818 | The contents of this file are not sensitive; it can be world-readable. | ||
| 819 | .It Pa $HOME/.ssh/authorized_keys | ||
| 820 | Lists the RSA keys that can be used to log into the user's account. | ||
| 821 | This file must be readable by root (which may on some machines imply | ||
| 822 | it being world-readable if the user's home directory resides on an NFS | ||
| 823 | volume). | ||
| 824 | It is recommended that it not be accessible by others. | ||
| 825 | The format of this file is described above. | ||
| 826 | Users will place the contents of their | ||
| 827 | .Pa identity.pub | ||
| 828 | files into this file, as described in | ||
| 829 | .Xr ssh-keygen 1 . | ||
| 830 | .It Pa $HOME/.ssh/authorized_keys2 | ||
| 831 | Lists the DSA keys that can be used to log into the user's account. | ||
| 832 | This file must be readable by root (which may on some machines imply | ||
| 833 | it being world-readable if the user's home directory resides on an NFS | ||
| 834 | volume). | ||
| 835 | It is recommended that it not be accessible by others. | ||
| 836 | The format of this file is described above. | ||
| 837 | Users will place the contents of their | ||
| 838 | .Pa id_dsa.pub | ||
| 839 | files into this file, as described in | ||
| 840 | .Xr ssh-keygen 1 . | ||
| 841 | .It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts" | ||
| 842 | These files are consulted when using rhosts with RSA host | ||
| 843 | authentication to check the public key of the host. | ||
| 844 | The key must be listed in one of these files to be accepted. | ||
| 845 | The client uses the same files | ||
| 846 | to verify that the remote host is the one we intended to connect. | ||
| 847 | These files should be writable only by root/the owner. | ||
| 848 | .Pa /etc/ssh_known_hosts | ||
| 849 | should be world-readable, and | ||
| 850 | .Pa $HOME/.ssh/known_hosts | ||
| 851 | can but need not be world-readable. | ||
| 852 | .It Pa /etc/nologin | ||
| 853 | If this file exists, | ||
| 854 | .Nm | ||
| 855 | refuses to let anyone except root log in. | ||
| 856 | The contents of the file | ||
| 857 | are displayed to anyone trying to log in, and non-root connections are | ||
| 858 | refused. | ||
| 859 | The file should be world-readable. | ||
| 860 | .It Pa /etc/hosts.allow, /etc/hosts.deny | ||
| 861 | If compiled with | ||
| 862 | .Sy LIBWRAP | ||
| 863 | support, tcp-wrappers access controls may be defined here as described in | ||
| 864 | .Xr hosts_access 5 . | ||
| 865 | .It Pa $HOME/.rhosts | ||
| 866 | This file contains host-username pairs, separated by a space, one per | ||
| 867 | line. | ||
| 868 | The given user on the corresponding host is permitted to log in | ||
| 869 | without password. | ||
| 870 | The same file is used by rlogind and rshd. | ||
| 871 | The file must | ||
| 872 | be writable only by the user; it is recommended that it not be | ||
| 873 | accessible by others. | ||
| 874 | .Pp | ||
| 875 | If is also possible to use netgroups in the file. | ||
| 876 | Either host or user | ||
| 877 | name may be of the form +@groupname to specify all hosts or all users | ||
| 878 | in the group. | ||
| 879 | .It Pa $HOME/.shosts | ||
| 880 | For ssh, | ||
| 881 | this file is exactly the same as for | ||
| 882 | .Pa .rhosts . | ||
| 883 | However, this file is | ||
| 884 | not used by rlogin and rshd, so using this permits access using SSH only. | ||
| 885 | .Pa /etc/hosts.equiv | ||
| 886 | This file is used during | ||
| 887 | .Pa .rhosts | ||
| 888 | authentication. | ||
| 889 | In the simplest form, this file contains host names, one per line. | ||
| 890 | Users on | ||
| 891 | those hosts are permitted to log in without a password, provided they | ||
| 892 | have the same user name on both machines. | ||
| 893 | The host name may also be | ||
| 894 | followed by a user name; such users are permitted to log in as | ||
| 895 | .Em any | ||
| 896 | user on this machine (except root). | ||
| 897 | Additionally, the syntax | ||
| 898 | .Dq +@group | ||
| 899 | can be used to specify netgroups. | ||
| 900 | Negated entries start with | ||
| 901 | .Ql \&- . | ||
| 902 | .Pp | ||
| 903 | If the client host/user is successfully matched in this file, login is | ||
| 904 | automatically permitted provided the client and server user names are the | ||
| 905 | same. | ||
| 906 | Additionally, successful RSA host authentication is normally required. | ||
| 907 | This file must be writable only by root; it is recommended | ||
| 908 | that it be world-readable. | ||
| 909 | .Pp | ||
| 910 | .Sy "Warning: It is almost never a good idea to use user names in" | ||
| 911 | .Pa hosts.equiv . | ||
| 912 | Beware that it really means that the named user(s) can log in as | ||
| 913 | .Em anybody , | ||
| 914 | which includes bin, daemon, adm, and other accounts that own critical | ||
| 915 | binaries and directories. | ||
| 916 | Using a user name practically grants the user root access. | ||
| 917 | The only valid use for user names that I can think | ||
| 918 | of is in negative entries. | ||
| 919 | .Pp | ||
| 920 | Note that this warning also applies to rsh/rlogin. | ||
| 921 | .It Pa /etc/shosts.equiv | ||
| 922 | This is processed exactly as | ||
| 923 | .Pa /etc/hosts.equiv . | ||
| 924 | However, this file may be useful in environments that want to run both | ||
| 925 | rsh/rlogin and ssh. | ||
| 926 | .It Pa $HOME/.ssh/environment | ||
| 927 | This file is read into the environment at login (if it exists). | ||
| 928 | It can only contain empty lines, comment lines (that start with | ||
| 929 | .Ql # ) , | ||
| 930 | and assignment lines of the form name=value. | ||
| 931 | The file should be writable | ||
| 932 | only by the user; it need not be readable by anyone else. | ||
| 933 | .It Pa $HOME/.ssh/rc | ||
| 934 | If this file exists, it is run with /bin/sh after reading the | ||
| 935 | environment files but before starting the user's shell or command. | ||
| 936 | If X11 spoofing is in use, this will receive the "proto cookie" pair in | ||
| 937 | standard input (and | ||
| 938 | .Ev DISPLAY | ||
| 939 | in environment). | ||
| 940 | This must call | ||
| 941 | .Xr xauth 1 | ||
| 942 | in that case. | ||
| 943 | .Pp | ||
| 944 | The primary purpose of this file is to run any initialization routines | ||
| 945 | which may be needed before the user's home directory becomes | ||
| 946 | accessible; AFS is a particular example of such an environment. | ||
| 947 | .Pp | ||
| 948 | This file will probably contain some initialization code followed by | ||
| 949 | something similar to: "if read proto cookie; then echo add $DISPLAY | ||
| 950 | $proto $cookie | xauth -q -; fi". | ||
| 951 | .Pp | ||
| 952 | If this file does not exist, | ||
| 953 | .Pa /etc/sshrc | ||
| 954 | is run, and if that | ||
| 955 | does not exist either, xauth is used to store the cookie. | ||
| 956 | .Pp | ||
| 957 | This file should be writable only by the user, and need not be | ||
| 958 | readable by anyone else. | ||
| 959 | .It Pa /etc/sshrc | ||
| 960 | Like | ||
| 961 | .Pa $HOME/.ssh/rc . | ||
| 962 | This can be used to specify | ||
| 963 | machine-specific login-time initializations globally. | ||
| 964 | This file should be writable only by root, and should be world-readable. | ||
| 965 | .El | ||
| 966 | .Sh AUTHOR | ||
| 967 | OpenSSH | ||
| 968 | is a derivative of the original (free) ssh 1.2.12 release by Tatu Ylonen, | ||
| 969 | but with bugs removed and newer features re-added. | ||
| 970 | Rapidly after the | ||
| 971 | 1.2.12 release, newer versions of the original ssh bore successively | ||
| 972 | more restrictive licenses, and thus demand for a free version was born. | ||
| 973 | .Pp | ||
| 974 | This version of OpenSSH | ||
| 975 | .Bl -bullet | ||
| 976 | .It | ||
| 977 | has all components of a restrictive nature (i.e., patents) | ||
| 978 | directly removed from the source code; any licensed or patented components | ||
| 979 | are chosen from | ||
| 980 | external libraries. | ||
| 981 | .It | ||
| 982 | has been updated to support SSH protocol 1.5 and 2, making it compatible with | ||
| 983 | all other SSH clients and servers. | ||
| 984 | .It | ||
| 985 | contains added support for | ||
| 986 | .Xr kerberos 8 | ||
| 987 | authentication and ticket passing. | ||
| 988 | .It | ||
| 989 | supports one-time password authentication with | ||
| 990 | .Xr skey 1 . | ||
| 991 | .El | ||
| 992 | .Pp | ||
| 993 | OpenSSH has been created by Aaron Campbell, Bob Beck, Markus Friedl, | ||
| 994 | Niels Provos, Theo de Raadt, and Dug Song. | ||
| 995 | .Pp | ||
| 996 | The support for SSH protocol 2 was written by Markus Friedl. | ||
| 997 | .Sh SEE ALSO | ||
| 998 | .Xr scp 1 , | ||
| 999 | .Xr ssh 1 , | ||
| 1000 | .Xr ssh-add 1 , | ||
| 1001 | .Xr ssh-agent 1 , | ||
| 1002 | .Xr ssh-keygen 1 , | ||
| 1003 | .Xr rlogin 1 , | ||
| 1004 | .Xr rsh 1 | ||
