version 1.120, 2001/04/22 23:58:36 |
version 1.120.2.5, 2002/03/09 00:20:45 |
|
|
.Nd OpenSSH SSH daemon |
.Nd OpenSSH SSH daemon |
.Sh SYNOPSIS |
.Sh SYNOPSIS |
.Nm sshd |
.Nm sshd |
.Op Fl deiqD46 |
.Op Fl deiqtD46 |
.Op Fl b Ar bits |
.Op Fl b Ar bits |
.Op Fl f Ar config_file |
.Op Fl f Ar config_file |
.Op Fl g Ar login_grace_time |
.Op Fl g Ar login_grace_time |
.Op Fl h Ar host_key_file |
.Op Fl h Ar host_key_file |
.Op Fl k Ar key_gen_time |
.Op Fl k Ar key_gen_time |
|
.Op Fl o Ar option |
.Op Fl p Ar port |
.Op Fl p Ar port |
.Op Fl u Ar len |
.Op Fl u Ar len |
.Op Fl V Ar client_protocol_id |
|
.Sh DESCRIPTION |
.Sh DESCRIPTION |
.Nm |
.Nm |
(SSH Daemon) is the daemon program for |
(SSH Daemon) is the daemon program for |
|
|
System security is not improved unless |
System security is not improved unless |
.Xr rshd 8 , |
.Xr rshd 8 , |
.Xr rlogind 8 , |
.Xr rlogind 8 , |
.Xr rexecd 8 , |
|
and |
and |
.Xr rexd 8 |
.Xr rexecd 8 |
are disabled (thus completely disabling |
are disabled (thus completely disabling |
.Xr rlogin 1 |
.Xr rlogin 1 |
and |
and |
|
|
.Ss SSH protocol version 2 |
.Ss SSH protocol version 2 |
.Pp |
.Pp |
Version 2 works similarly: |
Version 2 works similarly: |
Each host has a host-specific DSA key used to identify the host. |
Each host has a host-specific key (RSA or DSA) used to identify the host. |
However, when the daemon starts, it does not generate a server key. |
However, when the daemon starts, it does not generate a server key. |
Forward security is provided through a Diffie-Hellman key agreement. |
Forward security is provided through a Diffie-Hellman key agreement. |
This key agreement results in a shared session key. |
This key agreement results in a shared session key. |
|
|
.Nm |
.Nm |
rereads its configuration file when it receives a hangup signal, |
rereads its configuration file when it receives a hangup signal, |
.Dv SIGHUP , |
.Dv SIGHUP , |
by executing itself with the name it was started as, ie. |
by executing itself with the name it was started as, i.e., |
.Pa /usr/sbin/sshd . |
.Pa /usr/sbin/sshd . |
.Pp |
.Pp |
The options are as follows: |
The options are as follows: |
|
|
.It Fl b Ar bits |
.It Fl b Ar bits |
Specifies the number of bits in the ephemeral protocol version 1 |
Specifies the number of bits in the ephemeral protocol version 1 |
server key (default 768). |
server key (default 768). |
.Pp |
|
.It Fl d |
.It Fl d |
Debug mode. |
Debug mode. |
The server sends verbose debug output to the system |
The server sends verbose debug output to the system |
|
|
this many seconds, the server disconnects and exits. |
this many seconds, the server disconnects and exits. |
A value of zero indicates no limit. |
A value of zero indicates no limit. |
.It Fl h Ar host_key_file |
.It Fl h Ar host_key_file |
Specifies the file from which the host key is read (default |
Specifies a file from which a host key is read. |
.Pa /etc/ssh_host_key ) . |
|
This option must be given if |
This option must be given if |
.Nm |
.Nm |
is not run as root (as the normal |
is not run as root (as the normal |
host file is normally not readable by anyone but root). |
host key files are normally not readable by anyone but root). |
|
The default is |
|
.Pa /etc/ssh_host_key |
|
for protocol version 1, and |
|
.Pa /etc/ssh_host_rsa_key |
|
and |
|
.Pa /etc/ssh_host_dsa_key |
|
for protocol version 2. |
It is possible to have multiple host key files for |
It is possible to have multiple host key files for |
the different protocol versions and host key algorithms. |
the different protocol versions and host key algorithms. |
.It Fl i |
.It Fl i |
|
|
communications even if the machine is cracked into or physically |
communications even if the machine is cracked into or physically |
seized. |
seized. |
A value of zero indicates that the key will never be regenerated. |
A value of zero indicates that the key will never be regenerated. |
|
.It Fl o Ar option |
|
Can be used to give options in the format used in the configuration file. |
|
This is useful for specifying options for which there is no separate |
|
command-line flag. |
.It Fl p Ar port |
.It Fl p Ar port |
Specifies the port on which the server listens for connections |
Specifies the port on which the server listens for connections |
(default 22). |
(default 22). |
|
Multiple port options are permitted. |
|
Ports specified in the configuration file are ignored when a |
|
command-line port is specified. |
.It Fl q |
.It Fl q |
Quiet mode. |
Quiet mode. |
Nothing is sent to the system log. |
Nothing is sent to the system log. |
Normally the beginning, |
Normally the beginning, |
authentication, and termination of each connection is logged. |
authentication, and termination of each connection is logged. |
|
.It Fl t |
|
Test mode. |
|
Only check the validity of the configuration file and sanity of the keys. |
|
This is useful for updating |
|
.Nm |
|
reliably as configuration options may change. |
.It Fl u Ar len |
.It Fl u Ar len |
This option is used to specify the size of the field |
This option is used to specify the size of the field |
in the |
in the |
|
|
should be put into the |
should be put into the |
.Pa utmp |
.Pa utmp |
file. |
file. |
|
.Fl u0 |
|
is also be used to prevent |
|
.Nm |
|
from making DNS requests unless the authentication |
|
mechanism or configuration requires it. |
|
Authentication mechanisms that may require DNS include |
|
.Cm RhostsAuthentication , |
|
.Cm RhostsRSAAuthentication , |
|
.Cm HostbasedAuthentication |
|
and using a |
|
.Cm from="pattern-list" |
|
option in a key file. |
|
Configuration options that require DNS include using a |
|
USER@HOST pattern in |
|
.Cm AllowUsers |
|
or |
|
.Cm DenyUsers . |
.It Fl D |
.It Fl D |
When this option is specified |
When this option is specified |
.Nm |
.Nm |
|
|
(or the file specified with |
(or the file specified with |
.Fl f |
.Fl f |
on the command line). |
on the command line). |
The file contains keyword-value pairs, one per line. |
The file contains keyword-argument pairs, one per line. |
Lines starting with |
Lines starting with |
.Ql # |
.Ql # |
and empty lines are interpreted as comments. |
and empty lines are interpreted as comments. |
.Pp |
.Pp |
The following keywords are possible. |
The possible |
|
keywords and their meanings are as follows (note that |
|
keywords are case-insensitive and arguments are case-sensitive): |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Cm AFSTokenPassing |
.It Cm AFSTokenPassing |
Specifies whether an AFS token may be forwarded to the server. |
Specifies whether an AFS token may be forwarded to the server. |
Default is |
Default is |
.Dq yes . |
.Dq yes . |
.It Cm AllowGroups |
.It Cm AllowGroups |
This keyword can be followed by a list of group names, separated |
This keyword can be followed by a list of group name patterns, separated |
by spaces. |
by spaces. |
If specified, login is allowed only for users whose primary |
If specified, login is allowed only for users whose primary |
group or supplementary group list matches one of the patterns. |
group or supplementary group list matches one of the patterns. |
|
|
.Ql ? |
.Ql ? |
can be used as |
can be used as |
wildcards in the patterns. |
wildcards in the patterns. |
Only group names are valid; a numerical group ID isn't recognized. |
Only group names are valid; a numerical group ID is not recognized. |
By default login is allowed regardless of the group list. |
By default, login is allowed for all groups. |
.Pp |
.Pp |
.It Cm AllowTcpForwarding |
.It Cm AllowTcpForwarding |
Specifies whether TCP forwarding is permitted. |
Specifies whether TCP forwarding is permitted. |
|
|
own forwarders. |
own forwarders. |
.Pp |
.Pp |
.It Cm AllowUsers |
.It Cm AllowUsers |
This keyword can be followed by a list of user names, separated |
This keyword can be followed by a list of user name patterns, separated |
by spaces. |
by spaces. |
If specified, login is allowed only for users names that |
If specified, login is allowed only for users names that |
match one of the patterns. |
match one of the patterns. |
|
|
.Ql ? |
.Ql ? |
can be used as |
can be used as |
wildcards in the patterns. |
wildcards in the patterns. |
Only user names are valid; a numerical user ID isn't recognized. |
Only user names are valid; a numerical user ID is not recognized. |
By default login is allowed regardless of the user name. |
By default, login is allowed for all users. |
|
If the pattern takes the form USER@HOST then USER and HOST |
|
are separately checked, restricting logins to particular |
|
users from particular hosts. |
.Pp |
.Pp |
|
.It Cm AuthorizedKeysFile |
|
Specifies the file that contains the public keys that can be used |
|
for user authentication. |
|
.Cm AuthorizedKeysFile |
|
may contain tokens of the form %T which are substituted during connection |
|
set-up. The following tokens are defined: %% is replaced by a literal '%', |
|
%h is replaced by the home directory of the user being authenticated and |
|
%u is replaced by the username of that user. |
|
After expansion, |
|
.Cm AuthorizedKeysFile |
|
is taken to be an absolute path or one relative to the user's home |
|
directory. |
|
The default is |
|
.Dq .ssh/authorized_keys . |
.It Cm Banner |
.It Cm Banner |
In some jurisdictions, sending a warning message before authentication |
In some jurisdictions, sending a warning message before authentication |
may be relevant for getting legal protection. |
may be relevant for getting legal protection. |
|
|
This option is only available for protocol version 2. |
This option is only available for protocol version 2. |
.Pp |
.Pp |
.It Cm ChallengeResponseAuthentication |
.It Cm ChallengeResponseAuthentication |
Specifies whether |
Specifies whether challenge response authentication is allowed. |
challenge response |
All authentication styles from |
authentication is allowed. |
.Xr login.conf 5 |
Currently there is only support for |
are supported. |
.Xr skey 1 |
|
authentication. |
|
The default is |
The default is |
.Dq yes . |
.Dq yes . |
.It Cm Ciphers |
.It Cm Ciphers |
Specifies the ciphers allowed for protocol version 2. |
Specifies the ciphers allowed for protocol version 2. |
Multiple ciphers must be comma-separated. |
Multiple ciphers must be comma-separated. |
The default is |
The default is |
.Dq aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour. |
.Pp |
.It Cm CheckMail |
.Bd -literal |
Specifies whether |
``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, |
.Nm |
aes192-cbc,aes256-cbc'' |
should check for new mail for interactive logins. |
.Ed |
The default is |
|
.Dq no . |
|
.It Cm ClientAliveInterval |
.It Cm ClientAliveInterval |
Sets a timeout interval in seconds after which if no data has been received |
Sets a timeout interval in seconds after which if no data has been received |
from the client, |
from the client, |
.Nm |
.Nm |
will send a message through the encrypted |
will send a message through the encrypted |
channel to request a response from the client. |
channel to request a response from the client. |
|
|
sent without |
sent without |
.Nm |
.Nm |
receiving any messages back from the client. If this threshold is |
receiving any messages back from the client. If this threshold is |
reached while client alive messages are being sent, |
reached while client alive messages are being sent, |
.Nm |
.Nm |
will disconnect the client, terminating the session. It is important |
will disconnect the client, terminating the session. It is important |
to note that the use of client alive messages is very different from |
to note that the use of client alive messages is very different from |
.Cm Keepalive |
.Cm KeepAlive |
(below). The client alive messages are sent through the |
(below). The client alive messages are sent through the |
encrypted channel and therefore will not be spoofable. The TCP keepalive |
encrypted channel and therefore will not be spoofable. The TCP keepalive |
option enabled by |
option enabled by |
.Cm Keepalive |
.Cm KeepAlive |
is spoofable. You want to use the client |
is spoofable. The client alive mechanism is valuable when the client or |
alive mechanism when you are basing something important on |
server depend on knowing when a connection has become inactive. |
clients having an active connection to the server. |
|
.Pp |
.Pp |
The default value is 3. If you set |
The default value is 3. If |
.Cm ClientAliveInterval |
.Cm ClientAliveInterval |
(above) to 15, and leave this value at the default, unresponsive ssh clients |
(above) is set to 15, and |
will be disconnected after approximately 45 seconds. |
.Cm ClientAliveCountMax |
|
is left at the default, unresponsive ssh clients |
|
will be disconnected after approximately 45 seconds. |
.It Cm DenyGroups |
.It Cm DenyGroups |
This keyword can be followed by a number of group names, separated |
This keyword can be followed by a list of group name patterns, separated |
by spaces. |
by spaces. |
Users whose primary group or supplementary group list matches |
Login is disallowed for users whose primary group or supplementary |
one of the patterns aren't allowed to log in. |
group list matches one of the patterns. |
.Ql \&* |
.Ql \&* |
and |
and |
.Ql ? |
.Ql ? |
can be used as |
can be used as |
wildcards in the patterns. |
wildcards in the patterns. |
Only group names are valid; a numerical group ID isn't recognized. |
Only group names are valid; a numerical group ID is not recognized. |
By default login is allowed regardless of the group list. |
By default, login is allowed for all groups. |
.Pp |
.Pp |
.It Cm DenyUsers |
.It Cm DenyUsers |
This keyword can be followed by a number of user names, separated |
This keyword can be followed by a list of user name patterns, separated |
by spaces. |
by spaces. |
Login is disallowed for user names that match one of the patterns. |
Login is disallowed for user names that match one of the patterns. |
.Ql \&* |
.Ql \&* |
and |
and |
.Ql ? |
.Ql ? |
can be used as wildcards in the patterns. |
can be used as wildcards in the patterns. |
Only user names are valid; a numerical user ID isn't recognized. |
Only user names are valid; a numerical user ID is not recognized. |
By default login is allowed regardless of the user name. |
By default, login is allowed for all users. |
|
If the pattern takes the form USER@HOST then USER and HOST |
|
are separately checked, restricting logins to particular |
|
users from particular hosts. |
.It Cm GatewayPorts |
.It Cm GatewayPorts |
Specifies whether remote hosts are allowed to connect to ports |
Specifies whether remote hosts are allowed to connect to ports |
forwarded for the client. |
forwarded for the client. |
|
By default, |
|
.Nm |
|
binds remote port forwardings to the loopback addresss. This |
|
prevents other remote hosts from connecting to forwarded ports. |
|
.Cm GatewayPorts |
|
can be used to specify that |
|
.Nm |
|
should bind remote port forwardings to the wildcard address, |
|
thus allowing remote hosts to connect to forwarded ports. |
The argument must be |
The argument must be |
.Dq yes |
.Dq yes |
or |
or |
|
|
The default is |
The default is |
.Dq no . |
.Dq no . |
.It Cm HostKey |
.It Cm HostKey |
Specifies the file containing the private host keys (default |
Specifies a file containing a private host key |
.Pa /etc/ssh_host_key ) |
used by SSH. |
used by SSH protocol versions 1 and 2. |
The default is |
|
.Pa /etc/ssh_host_key |
|
for protocol version 1, and |
|
.Pa /etc/ssh_host_rsa_key |
|
and |
|
.Pa /etc/ssh_host_dsa_key |
|
for protocol version 2. |
Note that |
Note that |
.Nm |
.Nm |
will refuse to use a file if it is group/world-accessible. |
will refuse to use a file if it is group/world-accessible. |
|
|
The default is |
The default is |
.Dq no . |
.Dq no . |
.It Cm KeepAlive |
.It Cm KeepAlive |
Specifies whether the system should send keepalive messages to the |
Specifies whether the system should send TCP keepalive messages to the |
other side. |
other side. |
If they are sent, death of the connection or crash of one |
If they are sent, death of the connection or crash of one |
of the machines will be properly noticed. |
of the machines will be properly noticed. |
|
|
The default is |
The default is |
.Dq yes |
.Dq yes |
(to send keepalives), and the server will notice |
(to send keepalives), and the server will notice |
if the network goes down or the client host reboots. |
if the network goes down or the client host crashes. |
This avoids infinitely hanging sessions. |
This avoids infinitely hanging sessions. |
.Pp |
.Pp |
To disable keepalives, the value should be set to |
To disable keepalives, the value should be set to |
.Dq no |
.Dq no . |
in both the server and the client configuration files. |
|
.It Cm KerberosAuthentication |
.It Cm KerberosAuthentication |
Specifies whether Kerberos authentication is allowed. |
Specifies whether Kerberos authentication is allowed. |
This can be in the form of a Kerberos ticket, or if |
This can be in the form of a Kerberos ticket, or if |
|
|
Gives the verbosity level that is used when logging messages from |
Gives the verbosity level that is used when logging messages from |
.Nm sshd . |
.Nm sshd . |
The possible values are: |
The possible values are: |
QUIET, FATAL, ERROR, INFO, VERBOSE and DEBUG. |
QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3. |
The default is INFO. |
The default is INFO. DEBUG and DEBUG1 are equivalent. DEBUG2 |
Logging with level DEBUG violates the privacy of users |
and DEBUG3 each specify higher levels of debugging output. |
|
Logging with a DEBUG level violates the privacy of users |
and is not recommended. |
and is not recommended. |
.It Cm MACs |
.It Cm MACs |
Specifies the available MAC (message authentication code) algorithms. |
Specifies the available MAC (message authentication code) algorithms. |
|
|
for data integrity protection. |
for data integrity protection. |
Multiple algorithms must be comma-separated. |
Multiple algorithms must be comma-separated. |
The default is |
The default is |
.Pp |
.Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 . |
.Bd -literal |
|
``hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com, |
|
hmac-sha1-96,hmac-md5-96'' |
|
.Ed |
|
.It Cm MaxStartups |
.It Cm MaxStartups |
Specifies the maximum number of concurrent unauthenticated connections to the |
Specifies the maximum number of concurrent unauthenticated connections to the |
.Nm |
.Nm |
|
|
The default is |
The default is |
.Dq yes . |
.Dq yes . |
Note that this option applies to protocol version 2 only. |
Note that this option applies to protocol version 2 only. |
.It Cm ReverseMappingCheck |
|
Specifies whether |
|
.Nm |
|
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. |
|
The default is |
|
.Dq no . |
|
.It Cm RhostsAuthentication |
.It Cm RhostsAuthentication |
Specifies whether authentication using rhosts or /etc/hosts.equiv |
Specifies whether authentication using rhosts or /etc/hosts.equiv |
files is sufficient. |
files is sufficient. |
|
|
Specifies whether |
Specifies whether |
.Xr login 1 |
.Xr login 1 |
is used for interactive login sessions. |
is used for interactive login sessions. |
|
The default is |
|
.Dq no . |
Note that |
Note that |
.Xr login 1 |
.Xr login 1 |
is never used for remote command execution. |
is never used for remote command execution. |
|
Note also, that if this is enabled, |
|
.Cm X11Forwarding |
|
will be disabled because |
|
.Xr login 1 |
|
does not know how to handle |
|
.Xr xauth 1 |
|
cookies. |
|
.It Cm VerifyReverseMapping |
|
Specifies whether |
|
.Nm |
|
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. |
The default is |
The default is |
.Dq no . |
.Dq no . |
.It Cm X11DisplayOffset |
.It Cm X11DisplayOffset |
|
|
.Dq no . |
.Dq no . |
Note that disabling X11 forwarding does not improve security in any |
Note that disabling X11 forwarding does not improve security in any |
way, as users can always install their own forwarders. |
way, as users can always install their own forwarders. |
|
X11 forwarding is automatically disabled if |
|
.Cm UseLogin |
|
is enabled. |
|
.It Cm X11UseLocalhost |
|
Specifies whether |
|
.Nm |
|
should bind the X11 forwarding server to the loopback address or to |
|
the wildcard address. By default, |
|
.Nm |
|
binds the forwarding server to the loopback address and sets the |
|
hostname part of the |
|
.Ev DISPLAY |
|
environment variable to |
|
.Dq localhost . |
|
This prevents remote hosts from connecting to the fake display. |
|
However, some older X11 clients may not function with this |
|
configuration. |
|
.Cm X11UseLocalhost |
|
may be set to |
|
.Dq no |
|
to specify that the forwarding server should be bound to the wildcard |
|
address. |
|
The argument must be |
|
.Dq yes |
|
or |
|
.Dq no . |
|
The default is |
|
.Dq yes . |
.It Cm XAuthLocation |
.It Cm XAuthLocation |
Specifies the location of the |
Specifies the location of the |
.Xr xauth 1 |
.Xr xauth 1 |
|
|
The default is |
The default is |
.Pa /usr/X11R6/bin/xauth . |
.Pa /usr/X11R6/bin/xauth . |
.El |
.El |
|
.Ss Time Formats |
|
.Pp |
|
.Nm |
|
command-line arguments and configuration file options that specify time |
|
may be expressed using a sequence of the form: |
|
.Sm off |
|
.Ar time Oo Ar qualifier Oc , |
|
.Sm on |
|
where |
|
.Ar time |
|
is a positive integer value and |
|
.Ar qualifier |
|
is one of the following: |
|
.Pp |
|
.Bl -tag -width Ds -compact -offset indent |
|
.It Cm <none> |
|
seconds |
|
.It Cm s | Cm S |
|
seconds |
|
.It Cm m | Cm M |
|
minutes |
|
.It Cm h | Cm H |
|
hours |
|
.It Cm d | Cm D |
|
days |
|
.It Cm w | Cm W |
|
weeks |
|
.El |
|
.Pp |
|
Each member of the sequence is added together to calculate |
|
the total time value. |
|
.Pp |
|
Time format examples: |
|
.Pp |
|
.Bl -tag -width Ds -compact -offset indent |
|
.It 600 |
|
600 seconds (10 minutes) |
|
.It 10m |
|
10 minutes |
|
.It 1h30m |
|
1 hour 30 minutes (90 minutes) |
|
.El |
.Sh LOGIN PROCESS |
.Sh LOGIN PROCESS |
When a user successfully logs in, |
When a user successfully logs in, |
.Nm |
.Nm |
|
|
Runs user's shell or command. |
Runs user's shell or command. |
.El |
.El |
.Sh AUTHORIZED_KEYS FILE FORMAT |
.Sh AUTHORIZED_KEYS FILE FORMAT |
The |
|
.Pa $HOME/.ssh/authorized_keys |
.Pa $HOME/.ssh/authorized_keys |
file lists the RSA keys that are |
is the default file that lists the public keys that are |
permitted for RSA authentication in protocol version 1 |
permitted for RSA authentication in protocol version 1 |
Similarly, the |
and for public key authentication (PubkeyAuthentication) |
.Pa $HOME/.ssh/authorized_keys2 |
|
file lists the DSA and RSA keys that are |
|
permitted for public key authentication (PubkeyAuthentication) |
|
in protocol version 2. |
in protocol version 2. |
|
.Cm AuthorizedKeysFile |
|
may be used to specify an alternative file. |
.Pp |
.Pp |
Each line of the file contains one |
Each line of the file contains one |
key (empty lines and lines starting with a |
key (empty lines and lines starting with a |
|
|
The options (if present) consist of comma-separated option |
The options (if present) consist of comma-separated option |
specifications. |
specifications. |
No spaces are permitted, except within double quotes. |
No spaces are permitted, except within double quotes. |
The following option specifications are supported: |
The following option specifications are supported (note |
|
that option keywords are case-insensitive): |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
.It Cm from="pattern-list" |
.It Cm from="pattern-list" |
Specifies that in addition to RSA authentication, the canonical name |
Specifies that in addition to RSA authentication, the canonical name |
|
|
Specifies that the command is executed whenever this key is used for |
Specifies that the command is executed whenever this key is used for |
authentication. |
authentication. |
The command supplied by the user (if any) is ignored. |
The command supplied by the user (if any) is ignored. |
The command is run on a pty if the connection requests a pty; |
The command is run on a pty if the client requests a pty; |
otherwise it is run without a tty. |
otherwise it is run without a tty. |
Note that if you want a 8-bit clean channel, |
If a 8-bit clean channel is required, |
you must not request a pty or should specify |
one must not request a pty or should specify |
.Cm no-pty . |
.Cm no-pty . |
A quote may be included in the command by quoting it with a backslash. |
A quote may be included in the command by quoting it with a backslash. |
This option might be useful |
This option might be useful |
|
|
An example might be a key that permits remote backups but nothing else. |
An example might be a key that permits remote backups but nothing else. |
Note that the client may specify TCP/IP and/or X11 |
Note that the client may specify TCP/IP and/or X11 |
forwarding unless they are explicitly prohibited. |
forwarding unless they are explicitly prohibited. |
|
Note that this option applies to shell, command or subsystem execution. |
.It Cm environment="NAME=value" |
.It Cm environment="NAME=value" |
Specifies that the string is to be added to the environment when |
Specifies that the string is to be added to the environment when |
logging in using this key. |
logging in using this key. |
Environment variables set this way |
Environment variables set this way |
override other default environment values. |
override other default environment values. |
Multiple options of this type are permitted. |
Multiple options of this type are permitted. |
|
This option is automatically disabled if |
|
.Cm UseLogin |
|
is enabled. |
.It Cm no-port-forwarding |
.It Cm no-port-forwarding |
Forbids TCP/IP forwarding when this key is used for authentication. |
Forbids TCP/IP forwarding when this key is used for authentication. |
Any port forward requests by the client will return an error. |
Any port forward requests by the client will return an error. |
|
|
.It Cm no-pty |
.It Cm no-pty |
Prevents tty allocation (a request to allocate a pty will fail). |
Prevents tty allocation (a request to allocate a pty will fail). |
.It Cm permitopen="host:port" |
.It Cm permitopen="host:port" |
Limit local |
Limit local |
.Li ``ssh -L'' |
.Li ``ssh -L'' |
port forwarding such that it may only connect to the specified host and |
port forwarding such that it may only connect to the specified host and |
port. Multiple |
port. |
|
IPv6 addresses can be specified with an alternative syntax: |
|
.Ar host/port . |
|
Multiple |
.Cm permitopen |
.Cm permitopen |
options may be applied separated by commas. No pattern matching is |
options may be applied separated by commas. No pattern matching is |
performed on the specified hostnames, they must be literal domains or |
performed on the specified hostnames, they must be literal domains or |
addresses. |
addresses. |
.El |
.El |
.Ss Examples |
.Ss Examples |
|
|
.Sh SSH_KNOWN_HOSTS FILE FORMAT |
.Sh SSH_KNOWN_HOSTS FILE FORMAT |
The |
The |
.Pa /etc/ssh_known_hosts , |
.Pa /etc/ssh_known_hosts , |
.Pa /etc/ssh_known_hosts2 , |
|
.Pa $HOME/.ssh/known_hosts , |
|
and |
and |
.Pa $HOME/.ssh/known_hosts2 |
.Pa $HOME/.ssh/known_hosts |
files contain host public keys for all known hosts. |
files contain host public keys for all known hosts. |
The global file should |
The global file should |
be prepared by the administrator (optional), and the per-user file is |
be prepared by the administrator (optional), and the per-user file is |
|
|
the user so their contents can be copied to known hosts files. |
the user so their contents can be copied to known hosts files. |
These files are created using |
These files are created using |
.Xr ssh-keygen 1 . |
.Xr ssh-keygen 1 . |
.It Pa /etc/primes |
.It Pa /etc/moduli |
Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange". |
Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange". |
.It Pa /var/run/sshd.pid |
.It Pa /var/run/sshd.pid |
Contains the process ID of the |
Contains the process ID of the |
|
|
started last). |
started last). |
The content of this file is not sensitive; it can be world-readable. |
The content of this file is not sensitive; it can be world-readable. |
.It Pa $HOME/.ssh/authorized_keys |
.It Pa $HOME/.ssh/authorized_keys |
Lists the RSA keys that can be used to log into the user's account. |
|
This file must be readable by root (which may on some machines imply |
|
it being world-readable if the user's home directory resides on an NFS |
|
volume). |
|
It is recommended that it not be accessible by others. |
|
The format of this file is described above. |
|
Users will place the contents of their |
|
.Pa identity.pub |
|
files into this file, as described in |
|
.Xr ssh-keygen 1 . |
|
.It Pa $HOME/.ssh/authorized_keys2 |
|
Lists the public keys (RSA or DSA) that can be used to log into the user's account. |
Lists the public keys (RSA or DSA) that can be used to log into the user's account. |
This file must be readable by root (which may on some machines imply |
This file must be readable by root (which may on some machines imply |
it being world-readable if the user's home directory resides on an NFS |
it being world-readable if the user's home directory resides on an NFS |
|
|
It is recommended that it not be accessible by others. |
It is recommended that it not be accessible by others. |
The format of this file is described above. |
The format of this file is described above. |
Users will place the contents of their |
Users will place the contents of their |
|
.Pa identity.pub , |
.Pa id_dsa.pub |
.Pa id_dsa.pub |
and/or |
and/or |
.Pa id_rsa.pub |
.Pa id_rsa.pub |
|
|
.Xr ssh-keygen 1 . |
.Xr ssh-keygen 1 . |
.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts" |
.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts" |
These files are consulted when using rhosts with RSA host |
These files are consulted when using rhosts with RSA host |
authentication to check the public key of the host. |
authentication or protocol version 2 hostbased authentication |
|
to check the public key of the host. |
The key must be listed in one of these files to be accepted. |
The key must be listed in one of these files to be accepted. |
The client uses the same files |
The client uses the same files |
to verify that it is connecting to the correct remote host. |
to verify that it is connecting to the correct remote host. |
|
|
should be world-readable, and |
should be world-readable, and |
.Pa $HOME/.ssh/known_hosts |
.Pa $HOME/.ssh/known_hosts |
can but need not be world-readable. |
can but need not be world-readable. |
.It Pa "/etc/ssh_known_hosts2" and "$HOME/.ssh/known_hosts2" |
|
These files are consulted when using protocol version 2 hostbased |
|
authentication to check the public key of the host. |
|
The key must be listed in one of these files to be accepted. |
|
The client uses the same files |
|
to verify that it is connecting to the correct remote host. |
|
These files should be writable only by root/the owner. |
|
.Pa /etc/ssh_known_hosts2 |
|
should be world-readable, and |
|
.Pa $HOME/.ssh/known_hosts2 |
|
can but need not be world-readable. |
|
.It Pa /etc/nologin |
.It Pa /etc/nologin |
If this file exists, |
If this file exists, |
.Nm |
.Nm |
|
|
refused. |
refused. |
The file should be world-readable. |
The file should be world-readable. |
.It Pa /etc/hosts.allow, /etc/hosts.deny |
.It Pa /etc/hosts.allow, /etc/hosts.deny |
If compiled with |
Access controls that should be enforced by tcp-wrappers are defined here. |
.Sy LIBWRAP |
Further details are described in |
support, tcp-wrappers access controls may be defined here as described in |
|
.Xr hosts_access 5 . |
.Xr hosts_access 5 . |
.It Pa $HOME/.rhosts |
.It Pa $HOME/.rhosts |
This file contains host-username pairs, separated by a space, one per |
This file contains host-username pairs, separated by a space, one per |
|
|
.Sh SEE ALSO |
.Sh SEE ALSO |
.Xr scp 1 , |
.Xr scp 1 , |
.Xr sftp 1 , |
.Xr sftp 1 , |
.Xr sftp-server 8 , |
|
.Xr ssh 1 , |
.Xr ssh 1 , |
.Xr ssh-add 1 , |
.Xr ssh-add 1 , |
.Xr ssh-agent 1 , |
.Xr ssh-agent 1 , |
.Xr ssh-keygen 1 , |
.Xr ssh-keygen 1 , |
.Xr rlogin 1 , |
.Xr login.conf 5 , |
.Xr rsh 1 |
.Xr moduli 5 , |
|
.Xr sftp-server 8 |
.Rs |
.Rs |
.%A T. Ylonen |
.%A T. Ylonen |
.%A T. Kivinen |
.%A T. Kivinen |
|
|
.%A T. Rinne |
.%A T. Rinne |
.%A S. Lehtinen |
.%A S. Lehtinen |
.%T "SSH Protocol Architecture" |
.%T "SSH Protocol Architecture" |
.%N draft-ietf-secsh-architecture-07.txt |
.%N draft-ietf-secsh-architecture-09.txt |
.%D January 2001 |
.%D July 2001 |
.%O work in progress material |
.%O work in progress material |
.Re |
.Re |
.Rs |
.Rs |
|
|
.%A N. Provos |
.%A N. Provos |
.%A W. A. Simpson |
.%A W. A. Simpson |
.%T "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol" |
.%T "Diffie-Hellman Group Exchange for the SSH Transport Layer Protocol" |
.%N draft-ietf-secsh-dh-group-exchange-00.txt |
.%N draft-ietf-secsh-dh-group-exchange-01.txt |
.%D January 2001 |
.%D April 2001 |
.%O work in progress material |
.%O work in progress material |
.Re |
.Re |