Release notes are available at https://www.openssh.com/txt/release-9.1 9.1 contains fixes for three minor memory safety problems; these have lready been merged to the copy of OpenSSH 9.0 that is in the FreeBSD base system. Some highlights copied from the release notes: Potentially-incompatible changes -------------------------------- * ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config are now first-match-wins to match other directives. Previously if an environment variable was multiply specified the last set value would have been used. bz3438 * ssh-keygen(8): ssh-keygen -A (generate all default host key types) will no longer generate DSA keys, as these are insecure and have not been used by default for some years. New features ------------ * ssh(1), sshd(8): add a RequiredRSASize directive to set a minimum RSA key length. Keys below this length will be ignored for user authentication and for host authentication in sshd(8). * sftp-server(8): add a "users-groups-by-id@openssh.com" extension request that allows the client to obtain user/group names that correspond to a set of uids/gids. * sftp(1): use "users-groups-by-id@openssh.com" sftp-server extension (when available) to fill in user/group names for directory listings. * sftp-server(8): support the "home-directory" extension request defined in draft-ietf-secsh-filexfer-extensions-00. This overlaps a bit with the existing "expand-path@openssh.com", but some other clients support it. * ssh-keygen(1), sshd(8): allow certificate validity intervals, sshsig verification times and authorized_keys expiry-time options to accept dates in the UTC time zone in addition to the default of interpreting them in the system time zone. YYYYMMDD and YYMMDDHHMM[SS] dates/times will be interpreted as UTC if suffixed with a 'Z' character. Also allow certificate validity intervals to be specified in raw seconds-since-epoch as hex value, e.g. -V 0x1234:0x4567890. This is intended for use by regress tests and other tools that call ssh-keygen as part of a CA workflow. bz3468 * sftp(1): allow arguments to the sftp -D option, e.g. sftp -D "/usr/libexec/sftp-server -el debug3" * ssh-keygen(1): allow the existing -U (use agent) flag to work with "-Y sign" operations, where it will be interpreted to require that the private keys is hosted in an agent; bz3429 MFC after: 2 weeks Relnotes: Yes Sponsored by: The FreeBSD Foundation
127 lines
3.6 KiB
Groff
127 lines
3.6 KiB
Groff
.\" $OpenBSD: moduli.5,v 1.19 2022/04/16 04:30:10 dtucker Exp $
|
|
.\"
|
|
.\" Copyright (c) 2008 Damien Miller <djm@mindrot.org>
|
|
.\"
|
|
.\" Permission to use, copy, modify, and distribute this software for any
|
|
.\" purpose with or without fee is hereby granted, provided that the above
|
|
.\" copyright notice and this permission notice appear in all copies.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
.Dd $Mdocdate: April 16 2022 $
|
|
.Dt MODULI 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm moduli
|
|
.Nd Diffie-Hellman moduli
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Pa /etc/moduli
|
|
file contains prime numbers and generators for use by
|
|
.Xr sshd 8
|
|
in the Diffie-Hellman Group Exchange key exchange method.
|
|
.Pp
|
|
New moduli may be generated with
|
|
.Xr ssh-keygen 1
|
|
using a two-step process.
|
|
An initial
|
|
.Em candidate generation
|
|
pass, using
|
|
.Ic ssh-keygen -M generate ,
|
|
calculates numbers that are likely to be useful.
|
|
A second
|
|
.Em primality testing
|
|
pass, using
|
|
.Ic ssh-keygen -M screen ,
|
|
provides a high degree of assurance that the numbers are prime and are
|
|
safe for use in Diffie-Hellman operations by
|
|
.Xr sshd 8 .
|
|
This
|
|
.Nm
|
|
format is used as the output from each pass.
|
|
.Pp
|
|
The file consists of newline-separated records, one per modulus,
|
|
containing seven space-separated fields.
|
|
These fields are as follows:
|
|
.Bl -tag -width Description -offset indent
|
|
.It timestamp
|
|
The time that the modulus was last processed as YYYYMMDDHHMMSS.
|
|
.It type
|
|
Decimal number specifying the internal structure of the prime modulus.
|
|
Supported types are:
|
|
.Pp
|
|
.Bl -tag -width 0x00 -compact
|
|
.It 0
|
|
Unknown, not tested.
|
|
.It 2
|
|
"Safe" prime; (p-1)/2 is also prime.
|
|
.It 4
|
|
Sophie Germain; 2p+1 is also prime.
|
|
.El
|
|
.Pp
|
|
Moduli candidates initially produced by
|
|
.Xr ssh-keygen 1
|
|
are Sophie Germain primes (type 4).
|
|
Further primality testing with
|
|
.Xr ssh-keygen 1
|
|
produces safe prime moduli (type 2) that are ready for use in
|
|
.Xr sshd 8 .
|
|
Other types are not used by OpenSSH.
|
|
.It tests
|
|
Decimal number indicating the type of primality tests that the number
|
|
has been subjected to represented as a bitmask of the following values:
|
|
.Pp
|
|
.Bl -tag -width 0x00 -compact
|
|
.It 0x00
|
|
Not tested.
|
|
.It 0x01
|
|
Composite number \(en not prime.
|
|
.It 0x02
|
|
Sieve of Eratosthenes.
|
|
.It 0x04
|
|
Probabilistic Miller-Rabin primality tests.
|
|
.El
|
|
.Pp
|
|
The
|
|
.Xr ssh-keygen 1
|
|
moduli candidate generation uses the Sieve of Eratosthenes (flag 0x02).
|
|
Subsequent
|
|
.Xr ssh-keygen 1
|
|
primality tests are Miller-Rabin tests (flag 0x04).
|
|
.It trials
|
|
Decimal number indicating the number of primality trials
|
|
that have been performed on the modulus.
|
|
.It size
|
|
Decimal number indicating the size of the prime in bits.
|
|
.It generator
|
|
The recommended generator for use with this modulus (hexadecimal).
|
|
.It modulus
|
|
The modulus itself in hexadecimal.
|
|
.El
|
|
.Pp
|
|
When performing Diffie-Hellman Group Exchange,
|
|
.Xr sshd 8
|
|
first estimates the size of the modulus required to produce enough
|
|
Diffie-Hellman output to sufficiently key the selected symmetric cipher.
|
|
.Xr sshd 8
|
|
then randomly selects a modulus from
|
|
.Fa /etc/moduli
|
|
that best meets the size requirement.
|
|
.Sh SEE ALSO
|
|
.Xr ssh-keygen 1 ,
|
|
.Xr sshd 8
|
|
.Sh STANDARDS
|
|
.Rs
|
|
.%A M. Friedl
|
|
.%A N. Provos
|
|
.%A W. Simpson
|
|
.%D March 2006
|
|
.%R RFC 4419
|
|
.%T Diffie-Hellman Group Exchange for the Secure Shell (SSH) Transport Layer Protocol
|
|
.Re
|