* SECURITY UPDATE: double-free memory corruption in ssh-agent
- debian/patches/CVE-2021-28041.patch: set ext_name to NULL after
freeing it so it doesn't get freed again later on in ssh-agent.c.
- CVE-2021-28041
* d/p/lp-1876320-*: avoid applying defaults for every include statement
(LP: #1876320)
* Add /etc/ssh/ssh_config.d/ to openssh-client.
* Add /etc/ssh/sshd_config.d/ to openssh-server (closes: #952427).
* Install ssh-sk-helper even on non-Linux architectures, though it will
need an external middleware library in those cases.
* Reupload with -sa to work around confusion with 1:8.2p1-1 being in NEW.
* Move ssh-sk-helper into openssh-client rather than shipping it in a
separate package. The extra library dependencies are pretty small, so
it doesn't seem worth bloating the Packages file. Suggested by Bastian
Blank.
* New upstream release (https://www.openssh.com/txt/release-8.2, closes:
#951582):
- ssh(1), sshd(8), ssh-keygen(1): this release removes the "ssh-rsa"
(RSA/SHA1) algorithm from those accepted for certificate signatures
(i.e. the client and server CASignatureAlgorithms option) and will use
the rsa-sha2-512 signature algorithm by default when the ssh-keygen(1)
CA signs new certificates.
- ssh(1), sshd(8): Remove diffie-hellman-group14-sha1 from the default
key exchange proposal for both the client and server.
- ssh-keygen(1): The command-line options related to the generation and
screening of safe prime numbers used by the
diffie-hellman-group-exchange-* key exchange algorithms have changed.
Most options have been folded under the -O flag.
- sshd(8): The sshd listener process title visible to ps(1) has changed
to include information about the number of connections that are
currently attempting authentication and the limits configured by
MaxStartups.
- Add support for FIDO/U2F hardware authenticators.
- ssh-keygen(1): Add a "no-touch-required" option when generating
FIDO-hosted keys, that disables their default behaviour of requiring a
physical touch/tap on the token during authentication. Note: not all
tokens support disabling the touch requirement.
- sshd(8): Add a sshd_config PubkeyAuthOptions directive that collects
miscellaneous public key authentication-related options for sshd(8).
At present it supports only a single option "no-touch-required". This
causes sshd to skip its default check for FIDO/U2F keys that the
signature was authorised by a touch or press event on the token
hardware.
- ssh(1), sshd(8), ssh-keygen(1): Add a "no-touch-required" option for
authorized_keys and a similar extension for certificates. This option
disables the default requirement that FIDO key signatures attest that
the user touched their key to authorize them, mirroring the similar
PubkeyAuthOptions sshd_config option.
- ssh-keygen(1): Add support for the writing the FIDO attestation
information that is returned when new keys are generated via the "-O
write-attestation=/path" option. FIDO attestation certificates may be
used to verify that a FIDO key is hosted in trusted hardware. OpenSSH
does not currently make use of this information, beyond optionally
writing it to disk.
- Add support for FIDO2 resident keys.
- sshd(8): Add an Include sshd_config keyword that allows including
additional configuration files via glob(3) patterns (closes: #631189).
- ssh(1)/sshd(8): Make the LE (low effort) DSCP code point available via
the IPQoS directive.
- ssh(1): When AddKeysToAgent=yes is set and the key contains no
comment, add the key to the agent with the key's path as the comment.
- ssh-keygen(1), ssh-agent(1): Expose PKCS#11 key labels and X.509
subjects as key comments, rather than simply listing the PKCS#11
provider library path.
- ssh-keygen(1): Allow PEM export of DSA and ECDSA keys.
- sshd(8): When clients get denied by MaxStartups, send a notification
prior to the SSH2 protocol banner according to RFC4253 section 4.2
(closes: #275458).
- ssh(1), ssh-agent(1): When invoking the $SSH_ASKPASS prompt program,
pass a hint to the program to describe the type of desired prompt.
The possible values are "confirm" (indicating that a yes/no
confirmation dialog with no text entry should be shown), "none" (to
indicate an informational message only), or blank for the original
ssh-askpass behaviour of requesting a password/phrase.
- ssh(1): Allow forwarding a different agent socket to the path
specified by $SSH_AUTH_SOCK, by extending the existing ForwardAgent
option to accepting an explicit path or the name of an environment
variable in addition to yes/no.
- ssh-keygen(1): Add a new signature operations "find-principals" to
look up the principal associated with a signature from an
allowed-signers file.
- sshd(8): Expose the number of currently-authenticating connections
along with the MaxStartups limit in the process title visible to "ps".
- sshd(8): Make ClientAliveCountMax=0 have sensible semantics: it will
now disable connection killing entirely rather than the current
behaviour of instantly killing the connection after the first liveness
test regardless of success.
- sshd(8): Clarify order of AllowUsers / DenyUsers vs AllowGroups /
DenyGroups in the sshd(8) manual page.
- sshd(8): Better describe HashKnownHosts in the manual page.
- sshd(8): Clarify that that permitopen=/PermitOpen do no name or
address translation in the manual page.
- sshd(8): Allow the UpdateHostKeys feature to function when multiple
known_hosts files are in use. When updating host keys, ssh will now
search subsequent known_hosts files, but will add updated host keys to
the first specified file only.
- All: Replace all calls to signal(2) with a wrapper around
sigaction(2). This wrapper blocks all other signals during the
handler preventing races between handlers, and sets SA_RESTART which
should reduce the potential for short read/write operations.
- sftp(1): Fix a race condition in the SIGCHILD handler that could turn
in to a kill(-1).
- sshd(8): Fix a case where valid (but extremely large) SSH channel IDs
were being incorrectly rejected.
- ssh(1): When checking host key fingerprints as answers to new hostkey
prompts, ignore whitespace surrounding the fingerprint itself.
- All: Wait for file descriptors to be readable or writeable during
non-blocking connect, not just readable. Prevents a timeout when the
server doesn't immediately send a banner (e.g. multiplexers like
sslh).
- sshd_config(5): Document the sntrup4591761x25519-sha512@tinyssh.org
key exchange algorithm.
* Add more historical md5sums of /etc/ssh/sshd_config between 1:7.4p1-1
and 1:7.8p1-1 inclusive (closes: #951220).
* ssh(1): Explain that -Y is equivalent to -X in the default configuration
(closes: #951640).
* Include /etc/ssh/ssh_config.d/*.conf from /etc/ssh/ssh_config and
/etc/ssh/sshd_config.d/*.conf from /etc/ssh/sshd_config (closes:
#845315).
* Apply upstream patches to allow clock_nanosleep() and variants in the
seccomp sandbox, fixing failures with glibc 2.31.
* Apply upstream patch to deny (non-fatally) ipc in the seccomp sandbox,
fixing failures with OpenSSL 1.1.1d and Linux < 3.19 on some
architectures (closes: #946242).
* Apply upstream patch to stop using 2020 as a future date in regress
tests.
[ Colin Watson ]
* Drop suggestion of rssh, since it's been removed (see
https://bugs.debian.org/923691).
[ Steve Langasek ]
* Don't build openssh-tests on Ubuntu i386 (closes: #948466).
* Drop "Allow flock and ipc syscall for s390 architecture" patch for now;
upstream has security concerns with it and it doesn't currently seem to
be needed.
* Mark openssh-sftp-server, openssh-tests, ssh, and ssh-askpass-gnome as
Multi-Arch: foreign; none of them provide any architecture-dependent
interfaces.
* New upstream release (https://www.openssh.com/txt/release-8.1):
- ssh(1), sshd(8), ssh-agent(1): Add protection for private keys at rest
in RAM against speculation and memory side-channel attacks like
Spectre, Meltdown and Rambleed. This release encrypts private keys
when they are not in use with a symmetric key that is derived from a
relatively large "prekey" consisting of random data (currently 16KB).
- ssh(1): Allow %n to be expanded in ProxyCommand strings.
- ssh(1), sshd(8): Allow prepending a list of algorithms to the default
set by starting the list with the '^' character, e.g.
"HostKeyAlgorithms ^ssh-ed25519".
- ssh-keygen(1): Add an experimental lightweight signature and
verification ability. Signatures may be made using regular ssh keys
held on disk or stored in a ssh-agent and verified against an
authorized_keys-like list of allowed keys. Signatures embed a
namespace that prevents confusion and attacks between different usage
domains (e.g. files vs email).
- ssh-keygen(1): Print key comment when extracting public key from a
private key.
- ssh-keygen(1): Accept the verbose flag when searching for host keys in
known hosts (i.e. "ssh-keygen -vF host") to print the matching host's
random-art signature too.
- All: Support PKCS8 as an optional format for storage of private keys
to disk. The OpenSSH native key format remains the default, but PKCS8
is a superior format to PEM if interoperability with non-OpenSSH
software is required, as it may use a less insecure key derivation
function than PEM's.
- ssh(1): If a PKCS#11 token returns no keys then try to login and
refetch them.
- ssh(1): Produce a useful error message if the user's shell is set
incorrectly during "match exec" processing.
- sftp(1): Allow the maximum uint32 value for the argument passed to -b
which allows better error messages from later validation.
- ssh-keyscan(1): Include SHA2-variant RSA key algorithms in KEX
proposal; allows ssh-keyscan to harvest keys from servers that disable
old SHA1 ssh-rsa.
- sftp(1): Print explicit "not modified" message if a file was requested
for resumed download but was considered already complete.
- sftp(1): Fix a typo and make <esc><right> move right to the closest
end of a word just like <esc><left> moves left to the closest
beginning of a word.
- sshd(8): Cap the number of permitopen/permitlisten directives allowed
to appear on a single authorized_keys line.
- All: Fix a number of memory leaks (one-off or on exit paths).
- ssh(1), sshd(8): Check for convtime() refusing to accept times that
resolve to LONG_MAX.
- ssh(1): Slightly more instructive error message when the user
specifies multiple -J options on the command-line (closes: #929669).
- ssh-agent(1): Process agent requests for RSA certificate private keys
using correct signature algorithm when requested.
- sftp(1): Check for user@host when parsing sftp target. This allows
user@[1.2.3.4] to work without a path.
- sshd(8): Enlarge format buffer size for certificate serial number so
the log message can record any 64-bit integer without truncation.
- sshd(8): For PermitOpen violations add the remote host and port to be
able to more easily ascertain the source of the request. Add the same
logging for PermitListen violations which were not previously logged
at all.
- scp(1), sftp(1): Use the correct POSIX format style for left
justification for the transfer progress meter.
- sshd(8): When examining a configuration using sshd -T, assume any
attribute not provided by -C does not match, which allows it to work
when sshd_config contains a Match directive with or without -C.
- ssh(1), ssh-keygen(1): Downgrade PKCS#11 "provider returned no slots"
warning from log level error to debug. This is common when attempting
to enumerate keys on smartcard readers with no cards plugged in.
- ssh(1), ssh-keygen(1): Do not unconditionally log in to PKCS#11
tokens. Avoids spurious PIN prompts for keys not selected for
authentication in ssh(1) and when listing public keys available in a
token using ssh-keygen(1).
- ssh(1), sshd(8): Fix typo that prevented detection of Linux VRF.
- sshd(8): In the Linux seccomp-bpf sandbox, allow mprotect(2) with
PROT_(READ|WRITE|NONE) only. This syscall is used by some hardened
heap allocators.
- sshd(8): In the Linux seccomp-bpf sandbox, allow the s390-specific
ioctl for ECC hardware support.
* Re-enable hardening on hppa, since the corresponding GCC bug is
apparently fixed.
[ Daniel Kahn Gillmor ]
* runit: Correct typo in comment.
[ Colin Watson ]
* Apply upstream patch to deny (non-fatally) shmget/shmat/shmdt in preauth
privsep child, coping with changes in OpenSSL 1.1.1d that broke OpenSSH
on Linux kernels before 3.19 (closes: #941663).
* Only run dh_runit on openssh-server (closes: #935936).
[ Lorenzo Puliti ]
* Add a runscript for runit (closes: #933999).
* Use debhelper-compat instead of debian/compat.
* debian/*.apport:
- Remove #! lines.
- Avoid star imports.
- Fix flake8 errors.
* Run regression tests against the Python 3 version of Twisted Conch.
* Upload to unstable.
* Fix interop tests for recent regress changes.
* New upstream release (https://www.openssh.com/txt/release-8.0, closes:
#927792):
- ssh(1), ssh-agent(1), ssh-add(1): Add support for ECDSA keys in
PKCS#11 tokens (LP: #1665695).
- ssh(1), sshd(8): Add experimental quantum-computing resistant key
exchange method, based on a combination of Streamlined NTRU Prime
4591^761 and X25519.
- ssh-keygen(1): Increase the default RSA key size to 3072 bits,
following NIST Special Publication 800-57's guidance for a 128-bit
equivalent symmetric security level (LP: #1445625).
- ssh(1): Allow "PKCS11Provider=none" to override later instances of the
PKCS11Provider directive in ssh_config.
- sshd(8): Add a log message for situations where a connection is
dropped for attempting to run a command but a sshd_config
ForceCommand=internal-sftp restriction is in effect.
- ssh(1): When prompting whether to record a new host key, accept the
key fingerprint as a synonym for "yes". This allows the user to paste
a fingerprint obtained out of band at the prompt and have the client
do the comparison for you.
- ssh-keygen(1): When signing multiple certificates on a single
command-line invocation, allow automatically incrementing the
certificate serial number.
- scp(1), sftp(1): Accept -J option as an alias to ProxyJump on the scp
and sftp command-lines.
- ssh-agent(1), ssh-pkcs11-helper(8), ssh-add(1): Accept "-v"
command-line flags to increase the verbosity of output; pass verbose
flags though to subprocesses, such as ssh-pkcs11-helper started from
ssh-agent.
- ssh-add(1): Add a "-T" option to allowing testing whether keys in an
agent are usable by performing a signature and a verification.
- sftp-server(8): Add a "lsetstat@openssh.com" protocol extension that
replicates the functionality of the existing SSH2_FXP_SETSTAT
operation but does not follow symlinks.
- sftp(1): Add "-h" flag to chown/chgrp/chmod commands to request they
do not follow symlinks.
- sshd(8): Expose $SSH_CONNECTION in the PAM environment. This makes
the connection 4-tuple available to PAM modules that wish to use it in
decision-making.
- sshd(8): Add a ssh_config "Match final" predicate. Matches in same
pass as "Match canonical" but doesn't require hostname
canonicalisation be enabled.
- sftp(1): Support a prefix of '@' to suppress echo of sftp batch
commands.
- ssh-keygen(1): When printing certificate contents using "ssh-keygen
-Lf /path/certificate", include the algorithm that the CA used to sign
the cert.
- sshd(8): Fix authentication failures when sshd_config contains
"AuthenticationMethods any" inside a Match block that overrides a more
restrictive default.
- sshd(8): Avoid sending duplicate keepalives when ClientAliveCount is
enabled.
- sshd(8): Fix two race conditions related to SIGHUP daemon restart.
Remnant file descriptors in recently-forked child processes could
block the parent sshd's attempt to listen(2) to the configured
addresses. Also, the restarting parent sshd could exit before any
child processes that were awaiting their re-execution state had
completed reading it, leaving them in a fallback path.
- ssh(1): Fix stdout potentially being redirected to /dev/null when
ProxyCommand=- was in use.
- sshd(8): Avoid sending SIGPIPE to child processes if they attempt to
write to stderr after their parent processes have exited.
- ssh(1): Fix bad interaction between the ssh_config ConnectTimeout and
ConnectionAttempts directives - connection attempts after the first
were ignoring the requested timeout (LP: #1798049).
- ssh-keyscan(1): Return a non-zero exit status if no keys were found
(closes: #374980, LP: #1661745).
- scp(1): Sanitize scp filenames to allow UTF-8 characters without
terminal control sequences.
- sshd(8): Fix confusion between ClientAliveInterval and time-based
RekeyLimit that could cause connections to be incorrectly closed.
- ssh(1), ssh-add(1): Correct some bugs in PKCS#11 token PIN handling at
initial token login. The attempt to read the PIN could be skipped in
some cases, particularly on devices with integrated PIN readers. This
would lead to an inability to retrieve keys from these tokens.
- ssh(1), ssh-add(1): Support keys on PKCS#11 tokens that set the
CKA_ALWAYS_AUTHENTICATE flag by requring a fresh login after the
C_SignInit operation.
- ssh(1): Improve documentation for ProxyJump/-J, clarifying that local
configuration does not apply to jump hosts.
- ssh-keygen(1): Clarify manual - ssh-keygen -e only writes public keys,
not private.
- ssh(1), sshd(8): be more strict in processing protocol banners,
allowing \r characters only immediately before \n.
- Various: fix a number of memory leaks.
- scp(1), sftp(1): fix calculation of initial bandwidth limits. Account
for bytes written before the timer starts and adjust the schedule on
which recalculations are performed. Avoids an initial burst of
traffic and yields more accurate bandwidth limits.
- sshd(8): Only consider the ext-info-c extension during the initial key
eschange. It shouldn't be sent in subsequent ones, but if it is
present we should ignore it. This prevents sshd from sending a
SSH_MSG_EXT_INFO for REKEX for these buggy clients.
- ssh-keygen(1): Clarify manual that ssh-keygen -F (find host in
authorized_keys) and -R (remove host from authorized_keys) options may
accept either a bare hostname or a [hostname]:port combo.
- ssh(1): Don't attempt to connect to empty SSH_AUTH_SOCK.
- sshd(8): Silence error messages when sshd fails to load some of the
default host keys. Failure to load an explicitly-configured hostkey
is still an error, and failure to load any host key is still fatal.
- ssh(1): Redirect stderr of ProxyCommands to /dev/null when ssh is
started with ControlPersist; prevents random ProxyCommand output from
interfering with session output.
- ssh(1): The ssh client was keeping a redundant ssh-agent socket
(leftover from authentication) around for the life of the connection.
- sshd(8): Fix bug in HostbasedAcceptedKeyTypes and
PubkeyAcceptedKeyTypes options. If only RSA-SHA2 signature types were
specified, then authentication would always fail for RSA keys as the
monitor checks only the base key (not the signature algorithm) type
against *AcceptedKeyTypes.
- ssh(1): Request correct signature types from ssh-agent when
certificate keys and RSA-SHA2 signatures are in use.
- sshd(8): Don't set $MAIL if UsePAM=yes as PAM typically specifies the
user environment if it's enabled (closes: #189920, #532754).
* Mostly resynced GSSAPI key exchange patch with Fedora. Major changes:
- Support selection of GSSAPI key exchange algorithms.
- Support GSSAPI key exchange methods with DH and SHA2.
- Support GSSAPI key exchange using ECDH and SHA2.
- Make sure the Kerberos tickets are cleaned up with the user context.
- Enable gssapi-keyex authentication without gssapi-with-mic.
- Allow querying for GSSAPI key exchange algorithms from ssh (-Q
kex-gss).
* Apply upstream patch to fix the utimensat regression tests when not
using the compatibility implementation.
* Temporarily revert IPQoS defaults to pre-7.8 values until issues with
"iptables -m tos" and VMware have been fixed (closes: #923879, #926229;
LP: #1822370).
* Apply upstream patch to make scp handle shell-style brace expansions
when checking that filenames sent by the server match what the client
requested (closes: #923486).
[ Colin Watson ]
* Apply upstream patch to fix bug in HostbasedAcceptedKeyTypes and
PubkeyAcceptedKeyTypes options in the case where only RSA-SHA2 signature
types were specified.
* Apply upstream patch to request RSA-SHA2 signatures for
rsa-sha2-{256|512}-cert-v01@openssh.com cert algorithms (closes:
#923419).
* Move moduli(5) manual page to openssh-server to go with /etc/ssh/moduli;
forgotten in 1:7.9p1-5.
[ Dominik George ]
* Correctly handle conffile move to openssh-server (closes: #919344).
* Recommend "default-logind | logind | libpam-systemd" rather than just
libpam-systemd (closes: #923199). (I've retained libpam-systemd as an
alternative for a while to avoid backporting accidents, although it can
be removed later.)
* Pass "--exec /usr/sbin/sshd" to start-stop-daemon on stop as well as
start and pass "--chuid 0:0" on start, to avoid problems with non-root
groups leaking into the ownership of /run/sshd.pid (closes: #922365).
* CVE-2019-6109: Apply upstream patches to sanitize scp filenames via
snmprintf (closes: #793412).
* CVE-2019-6111: Apply upstream patch to check in scp client that
filenames sent during remote->local directory copies satisfy the
wildcard specified by the user.
* Move /etc/ssh/moduli to openssh-server, since it's reasonably large and
only used by sshd (closes: #858050).
* Drop obsolete alternate build-dependency on libssl1.0-dev (closes:
#917342).
* CVE-2018-20685: Apply upstream scp patch to disallow empty incoming
filename or ones that refer to the current directory (closes: #919101).
* Fix Ubuntu detection in debian/rules, since the documentation comment
for dpkg_vendor_derives_from is wrong (thanks, Jeremy Bicha; see
#913816).
* Be more specific about what files to install in openssh-tests, to avoid
installing a symlink into the build tree.
* Re-export debian/upstream/signing-key.asc without extra signatures.
* Restore direct test dependencies on openssl, putty-tools, and
python-twisted-conch; these are really only indirect dependencies via
openssh-tests, but including them means that this package will be
retested when they change.
* Add GitLab CI configuration.
* Make the autopkgtest create /run/sshd if it doesn't already exist.
* Drop "set -x" verbosity from the autopkgtest; I think we can do without
this in most cases nowadays.
* Add an openssh-tests binary package containing enough files to run the
upstream regression tests. This allows autopkgtest to run more
efficiently, as it doesn't have to build part of the source tree again.
* New upstream release (https://www.openssh.com/txt/release-7.9):
- ssh(1), sshd(8): allow most port numbers to be specified using service
names from getservbyname(3) (typically /etc/services; closes:
#177406).
- ssh(1): allow the IdentityAgent configuration directive to accept
environment variable names. This supports the use of multiple agent
sockets without needing to use fixed paths.
- sshd(8): support signalling sessions via the SSH protocol. A limited
subset of signals is supported and only for login or command sessions
(i.e. not subsystems) that were not subject to a forced command via
authorized_keys or sshd_config.
- ssh(1): support "ssh -Q sig" to list supported signature options.
Also "ssh -Q help" to show the full set of supported queries.
- ssh(1), sshd(8): add a CASignatureAlgorithms option for the client and
server configs to allow control over which signature formats are
allowed for CAs to sign certificates. For example, this allows
banning CAs that sign certificates using the RSA-SHA1 signature
algorithm.
- sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to revoke
keys specified by SHA256 hash.
- ssh-keygen(1): allow creation of key revocation lists directly from
base64-encoded SHA256 fingerprints. This supports revoking keys using
only the information contained in sshd(8) authentication log messages.
- ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
attempting to load PEM private keys while using an incorrect
passphrase.
- sshd(8): when a channel closed message is received from a client,
close the stderr file descriptor at the same time stdout is closed.
This avoids stuck processes if they were waiting for stderr to close
and were insensitive to stdin/out closing (closes: #844494).
- ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
forwarding timeout and support X11 forwarding indefinitely.
Previously the behaviour of ForwardX11Timeout=0 was undefined.
- sshd(8): when compiled with GSSAPI support, cache supported method
OIDs regardless of whether GSSAPI authentication is enabled in the
main section of sshd_config. This avoids sandbox violations if GSSAPI
authentication was later enabled in a Match block.
- sshd(8): do not fail closed when configured with a text key revocation
list that contains a too-short key.
- ssh(1): treat connections with ProxyJump specified the same as ones
with a ProxyCommand set with regards to hostname canonicalisation
(i.e. don't try to canonicalise the hostname unless
CanonicalizeHostname is set to 'always').
- ssh(1): fix regression in OpenSSH 7.8 that could prevent public-key
authentication using certificates hosted in a ssh-agent(1) or against
sshd(8) from OpenSSH <7.8 (LP: #1790963).
- All: support building against the openssl-1.1 API (releases 1.1.0g and
later). The openssl-1.0 API will remain supported at least until
OpenSSL terminates security patch support for that API version
(closes: #828475).
- sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
apparently required by some glibc/OpenSSL combinations.
* Remove dh_builddeb override to use xz compression; this has been the
default since dpkg 1.17.0.
* Simplify debian/rules using /usr/share/dpkg/default.mk.
* Remove /etc/network/if-up.d/openssh-server, as it causes more problems
than it solves (thanks, Christian Ehrhardt, Andreas Hasenack, and David
Britton; closes: #789532, LP: #1037738, #1674330, #1718227). Add an
"if-up hook removed" section to README.Debian documenting the corner
case that may need configuration adjustments.
* New upstream release (https://www.openssh.com/txt/release-7.8, closes:
#907534):
- ssh-keygen(1): Write OpenSSH format private keys by default instead of
using OpenSSL's PEM format (closes: #905407). The OpenSSH format,
supported in OpenSSH releases since 2014 and described in the
PROTOCOL.key file in the source distribution, offers substantially
better protection against offline password guessing and supports key
comments in private keys. If necessary, it is possible to write old
PEM-style keys by adding "-m PEM" to ssh-keygen's arguments when
generating or updating a key.
- sshd(8): Remove internal support for S/Key multiple factor
authentication. S/Key may still be used via PAM or BSD auth.
- ssh(1): Remove vestigial support for running ssh(1) as setuid. This
used to be required for hostbased authentication and the (long gone)
rhosts-style authentication, but has not been necessary for a long
time. Attempting to execute ssh as a setuid binary, or with uid !=
effective uid will now yield a fatal error at runtime.
- sshd(8): The semantics of PubkeyAcceptedKeyTypes and the similar
HostbasedAcceptedKeyTypes options have changed. These now specify
signature algorithms that are accepted for their respective
authentication mechanism, where previously they specified accepted key
types. This distinction matters when using the RSA/SHA2 signature
algorithms "rsa-sha2-256", "rsa-sha2-512" and their certificate
counterparts. Configurations that override these options but omit
these algorithm names may cause unexpected authentication failures (no
action is required for configurations that accept the default for
these options).
- sshd(8): The precedence of session environment variables has changed.
~/.ssh/environment and environment="..." options in authorized_keys
files can no longer override SSH_* variables set implicitly by sshd.
- ssh(1)/sshd(8): The default IPQoS used by ssh/sshd has changed. They
will now use DSCP AF21 for interactive traffic and CS1 for bulk. For
a detailed rationale, please see the commit message:
https://cvsweb.openbsd.org/src/usr.bin/ssh/readconf.c#rev1.284
- ssh(1)/sshd(8): Add new signature algorithms "rsa-sha2-256-cert-
v01@openssh.com" and "rsa-sha2-512-cert-v01@openssh.com" to explicitly
force use of RSA/SHA2 signatures in authentication.
- sshd(8): Extend the PermitUserEnvironment option to accept a whitelist
of environment variable names in addition to global "yes" or "no"
settings.
- sshd(8): Add a PermitListen directive to sshd_config(5) and a
corresponding permitlisten= authorized_keys option that control which
listen addresses and port numbers may be used by remote forwarding
(ssh -R ...).
- sshd(8): Add some countermeasures against timing attacks used for
account validation/enumeration. sshd will enforce a minimum time or
each failed authentication attempt consisting of a global 5ms minimum
plus an additional per-user 0-4ms delay derived from a host secret.
- sshd(8): Add a SetEnv directive to allow an administrator to
explicitly specify environment variables in sshd_config. Variables
set by SetEnv override the default and client-specified environment.
- ssh(1): Add a SetEnv directive to request that the server sets an
environment variable in the session. Similar to the existing SendEnv
option, these variables are set subject to server configuration.
- ssh(1): Allow "SendEnv -PATTERN" to clear environment variables
previously marked for sending to the server (closes: #573316).
- ssh(1)/sshd(8): Make UID available as a %-expansion everywhere that
the username is available currently.
- ssh(1): Allow setting ProxyJump=none to disable ProxyJump
functionality.
- sshd(8): Avoid observable differences in request parsing that could be
used to determine whether a target user is valid.
- ssh(1)/sshd(8): Fix some memory leaks.
- ssh(1): Fix a pwent clobber (introduced in openssh-7.7) that could
occur during key loading, manifesting as crash on some platforms.
- sshd_config(5): Clarify documentation for AuthenticationMethods
option.
- ssh(1): Ensure that the public key algorithm sent in a public key
SSH_MSG_USERAUTH_REQUEST matches the content of the signature blob.
Previously, these could be inconsistent when a legacy or non-OpenSSH
ssh-agent returned a RSA/SHA1 signature when asked to make a RSA/SHA2
signature.
- sshd(8): Fix failures to read authorized_keys caused by faulty
supplemental group caching.
- scp(1): Apply umask to directories, fixing potential mkdir/chmod race
when copying directory trees.
- ssh-keygen(1): Return correct exit code when searching for and hashing
known_hosts entries in a single operation.
- ssh(1): Prefer the ssh binary pointed to via argv[0] to $PATH when
re-executing ssh for ProxyJump.
- sshd(8): Do not ban PTY allocation when a sshd session is restricted
because the user password is expired as it breaks password change
dialog.
- ssh(1)/sshd(8): Fix error reporting from select() failures.
- ssh(1): Improve documentation for -w (tunnel) flag, emphasising that
-w implicitly sets Tunnel=point-to-point.
- ssh-agent(1): Implement EMFILE mitigation for ssh-agent. ssh-agent
will no longer spin when its file descriptor limit is exceeded.
- ssh(1)/sshd(8): Disable SSH2_MSG_DEBUG messages for Twisted Conch
clients. Twisted Conch versions that lack a version number in their
identification strings will mishandle these messages when running on
Python 2.x (https://twistedmatrix.com/trac/ticket/9422).
- sftp(1): Notify user immediately when underlying ssh process dies
expectedly.
- ssh(1)/sshd(8): Fix tunnel forwarding; regression in 7.7 release.
- ssh-agent(1): Don't kill ssh-agent's listening socket entirely if it
fails to accept(2) a connection.
- ssh(1): Add some missing options in the configuration dump output (ssh
-G).
- sshd(8): Expose details of completed authentication to PAM auth
modules via SSH_AUTH_INFO_0 in the PAM environment.
* Switch debian/watch to HTTPS.
* Temporarily work around https://twistedmatrix.com/trac/ticket/9515 in
regression tests.
* CVE-2018-15473: Apply upstream patch to delay bailout for invalid
authenticating user until after the packet containing the request has
been fully parsed (closes: #906236).
[ Colin Watson ]
* Adjust git-dpm tagging configuration.
* Remove no-longer-used Lintian overrides from openssh-server and ssh.
* Add Documentation keys to ssh-agent.service, ssh.service, and
ssh@.service.
[ Juri Grabowski ]
* Add rescue.target with ssh support.
[ Christian Ehrhardt ]
* Fix unintentional restriction of authorized keys environment options
to be alphanumeric (closes: #903474, LP: #1771011).
* Fix parsing of DebianBanner option (closes: #894730).
* New upstream release (https://www.openssh.com/txt/release-7.7):
- ssh(1)/sshd(8): Drop compatibility support for some very old SSH
implementations, including ssh.com <=2.* and OpenSSH <= 3.*. These
versions were all released in or before 2001 and predate the final SSH
RFCs. The support in question isn't necessary for RFC-compliant SSH
implementations.
- Add experimental support for PQC XMSS keys (Extended Hash-Based
Signatures).
- sshd(8): Add an "rdomain" criterion for the sshd_config Match keyword
to allow conditional configuration that depends on which routing
domain a connection was received on.
- sshd_config(5): Add an optional rdomain qualifier to the ListenAddress
directive to allow listening on different routing domains.
- sshd(8): Add "expiry-time" option for authorized_keys files to allow
for expiring keys.
- ssh(1): Add a BindInterface option to allow binding the outgoing
connection to an interface's address (basically a more usable
BindAddress; closes: #289592).
- ssh(1): Expose device allocated for tun/tap forwarding via a new %T
expansion for LocalCommand. This allows LocalCommand to be used to
prepare the interface.
- sshd(8): Expose the device allocated for tun/tap forwarding via a new
SSH_TUNNEL environment variable. This allows automatic setup of the
interface and surrounding network configuration automatically on the
server.
- ssh(1)/scp(1)/sftp(1): Add URI support to ssh, sftp and scp, e.g.
ssh://user@host or sftp://user@host/path. Additional connection
parameters described in draft-ietf-secsh-scp-sftp-ssh-uri-04 are not
implemented since the ssh fingerprint format in the draft uses the
deprecated MD5 hash with no way to specify any other algorithm.
- ssh-keygen(1): Allow certificate validity intervals that specify only
a start or stop time (instead of both or neither).
- sftp(1): Allow "cd" and "lcd" commands with no explicit path argument.
lcd will change to the local user's home directory as usual. cd will
change to the starting directory for session (because the protocol
offers no way to obtain the remote user's home directory).
- sshd(8): When doing a config test with sshd -T, only require the
attributes that are actually used in Match criteria rather than (an
incomplete list of) all criteria.
- ssh(1)/sshd(8): More strictly check signature types during key
exchange against what was negotiated. Prevents downgrade of RSA
signatures made with SHA-256/512 to SHA-1.
- sshd(8): Fix support for client that advertise a protocol version of
"1.99" (indicating that they are prepared to accept both SSHv1 and
SSHv2). This was broken in OpenSSH 7.6 during the removal of SSHv1
support.
- ssh(1): Warn when the agent returns a ssh-rsa (SHA1) signature when a
rsa-sha2-256/512 signature was requested. This condition is possible
when an old or non-OpenSSH agent is in use.
- ssh-agent(1): Fix regression introduced in 7.6 that caused ssh-agent
to fatally exit if presented an invalid signature request message.
- sshd_config(5): Accept yes/no flag options case-insensitively, as has
been the case in ssh_config(5) for a long time (LP: #1656557).
- ssh(1): Improve error reporting for failures during connection. Under
some circumstances misleading errors were being shown.
- ssh-keyscan(1): Add -D option to allow printing of results directly in
SSHFP format.
- ssh(1): Compatibility fix for some servers that erroneously drop the
connection when the IUTF8 (RFC8160) option is sent.
- scp(1): Disable RemoteCommand and RequestTTY in the ssh session
started by scp (sftp was already doing this).
- ssh-keygen(1): Refuse to create a certificate with an unusable number
of principals.
- ssh-keygen(1): Fatally exit if ssh-keygen is unable to write all the
public key during key generation. Previously it would silently ignore
errors writing the comment and terminating newline.
- ssh(1): Do not modify hostname arguments that are addresses by
automatically forcing them to lower-case. Instead canonicalise them
jo resolve ambiguities (e.g. ::0001 => ::1) before they are matched
against known_hosts.
- ssh(1): Don't accept junk after "yes" or "no" responses to hostkey
prompts.
- sftp(1): Have sftp print a warning about shell cleanliness when
decoding the first packet fails, which is usually caused by shells
polluting stdout of non-interactive startups.
- ssh(1)/sshd(8): Switch timers in packet code from using wall-clock
time to monotonic time, allowing the packet layer to better function
over a clock step and avoiding possible integer overflows during
steps.
- sshd(8): Correctly detect MIPS ABI in use at configure time. Fixes
sandbox violations on some environments.
- Build and link with "retpoline" flags when available to mitigate the
"branch target injection" style (variant 2) of the Spectre
branch-prediction vulnerability.
* Explicitly build-depend on pkg-config, rather than implicitly
build-depending on it via libgtk-3-dev (thanks, Aurelien Jarno; closes:
#894558).
* Move VCS to salsa.debian.org.
* Add a preseeding-only openssh-server/password-authentication debconf
template that can be used to disable password authentication (closes:
#878945).
[ Colin Watson ]
* Remove the decade-old ssh-krb5 transitional package; upgrades of
openssh-server will preserve existing configuration, and new
installations should just enable GSSAPIAuthentication and
GSSAPIKeyExchange in sshd_config (closes: #878626).
* Support the "noudeb" build profile.
* Fix putty-transfer regression test.
[ Anders Kaseorg ]
* debian/systemd/ssh-agent.service: Add missing dbus dependency.
[ Jason Duerstock ]
* Add a "pkg.openssh.nognome" build profile, which disables building the
ssh-askpass-gnome binary package and avoids the build-dependency on
libgtk-3-dev (closes: #883819).
* Apply upstream patch to fix PermitOpen argument handling.
* New upstream release (https://www.openssh.com/txt/release-7.6):
- CVE-2017-15906: sftp-server(8): In read-only mode, sftp-server was
incorrectly permitting creation of zero-length files. Reported by
Michal Zalewski.
- ssh(1): Delete SSH protocol version 1 support, associated
configuration options and documentation (LP: #1584321).
- ssh(1)/sshd(8): Remove support for the hmac-ripemd160 MAC.
- ssh(1)/sshd(8): Remove support for the arcfour, blowfish and CAST
ciphers.
- Refuse RSA keys <1024 bits in length and improve reporting for keys
that do not meet this requirement.
- ssh(1): Do not offer CBC ciphers by default.
- ssh(1): Add RemoteCommand option to specify a command in the ssh
config file instead of giving it on the client's command line. This
allows the configuration file to specify the command that will be
executed on the remote host.
- sshd(8): Add ExposeAuthInfo option that enables writing details of the
authentication methods used (including public keys where applicable)
to a file that is exposed via a $SSH_USER_AUTH environment variable in
the subsequent session.
- ssh(1): Add support for reverse dynamic forwarding. In this mode, ssh
will act as a SOCKS4/5 proxy and forward connections to destinations
requested by the remote SOCKS client. This mode is requested using
extended syntax for the -R and RemoteForward options and, because it
is implemented solely at the client, does not require the server be
updated to be supported.
- sshd(8): Allow LogLevel directive in sshd_config Match blocks.
- ssh-keygen(1): Allow inclusion of arbitrary string or flag certificate
extensions and critical options.
- ssh-keygen(1): Allow ssh-keygen to use a key held in ssh-agent as a CA
when signing certificates.
- ssh(1)/sshd(8): Allow IPQoS=none in ssh/sshd to not set an explicit
ToS/DSCP value and just use the operating system default.
- ssh-add(1): Add -q option to make ssh-add quiet on success.
- ssh(1): Expand the StrictHostKeyChecking option with two new settings.
The first "accept-new" will automatically accept hitherto-unseen keys
but will refuse connections for changed or invalid hostkeys. This is
a safer subset of the current behaviour of StrictHostKeyChecking=no.
The second setting "off", is a synonym for the current behaviour of
StrictHostKeyChecking=no: accept new host keys, and continue
connection for hosts with incorrect hostkeys. A future release will
change the meaning of StrictHostKeyChecking=no to the behaviour of
"accept-new".
- ssh(1): Add SyslogFacility option to ssh(1) matching the equivalent
option in sshd(8).
- ssh(1): Use HostKeyAlias if specified instead of hostname for matching
host certificate principal names.
- sftp(1): Implement sorting for globbed ls.
- ssh(1): Add a user@host prefix to client's "Permission denied"
messages, useful in particular when using "stacked" connections (e.g.
ssh -J) where it's not clear which host is denying.
- ssh(1): Accept unknown EXT_INFO extension values that contain \0
characters. These are legal, but would previously cause fatal
connection errors if received.
- sftp(1): Print '?' instead of incorrect link count (that the protocol
doesn't provide) for remote listings.
- ssh(1): Return failure rather than fatal() for more cases during
session multiplexing negotiations. Causes the session to fall back to
a non-mux connection if they occur.
- ssh(1): Mention that the server may send debug messages to explain
public key authentication problems under some circumstances.
- Translate OpenSSL error codes to better report incorrect passphrase
errors when loading private keys.
- sshd(8): Adjust compatibility patterns for WinSCP to correctly
identify versions that implement only the legacy DH group exchange
scheme (closes: #877800).
- ssh(1): Print the "Killed by signal 1" message only at LogLevel
verbose so that it is not shown at the default level; prevents it from
appearing during ssh -J and equivalent ProxyCommand configs.
- ssh-keygen(1): When generating all hostkeys (ssh-keygen -A), clobber
existing keys if they exist but are zero length. Zero-length keys
could previously be made if ssh-keygen failed or was interrupted part
way through generating them.
- ssh-keyscan(1): Avoid double-close() on file descriptors.
- sshd(8): Avoid reliance on shared use of pointers shared between
monitor and child sshd processes.
- sshd_config(8): Document available AuthenticationMethods.
- ssh(1): Avoid truncation in some login prompts.
- ssh(1): Make "--" before the hostname terminate argument processing
after the hostname too (closes: #873201).
- ssh-keygen(1): Switch from aes256-cbc to aes256-ctr for encrypting
new-style private keys.
- ssh(1): Warn and do not attempt to use keys when the public and
private halves do not match.
- sftp(1): Don't print verbose error message when ssh disconnects from
under sftp.
- sshd(8): Fix keepalive scheduling problem: prevent activity on a
forwarded port from preventing the keepalive from being sent.
- sshd(8): When started without root privileges, don't require the
privilege separation user or path to exist.
- ssh(1)/sshd(8): Correctness fix for channels implementation: accept
channel IDs greater than 0x7FFFFFFF.
- sshd(8): Expose list of completed authentication methods to PAM via
the SSH_AUTH_INFO_0 PAM environment variable.
- ssh(1)/sshd(8): Fix several problems in the tun/tap forwarding code,
mostly to do with host/network byte order confusion.
- sshd(8): Avoid Linux seccomp violations on ppc64le over the socketcall
syscall.
* Build-depend on debhelper (>= 9.20160709~) rather than dh-systemd.
* Change priorities of ssh and ssh-krb5 binary packages to optional, since
"Priority: extra" is now deprecated.
* Use HTTPS form of copyright-format URL.
* Adjust "Running sshd from inittab" instructions in README.Debian to
recommend using service(8) rather than calling the init script directly.
* Policy version 4.1.0.
* Adjust "Per-connection sshd instances with systemd" instructions in
README.Debian to recommend using a drop-in file rather than copying and
modifying the ssh.socket unit file.
* Tell haveged to create the pid file we expect.
* Give up and use systemctl to start haveged if running under systemd;
this shouldn't be necessary, but I can't seem to get things working in
the Ubuntu autopkgtest environment otherwise.
* Run debian/tests/regress with "set -x".
* Run haveged without "-w 1024", as setting the low water mark doesn't
seem possible in all autopkgtest virtualisation environments.
* Drop openssh-client-ssh1, now built by a separate source package.
* Run haveged during autopkgtests to ensure that they have enough entropy
for key generation (LP: #1712921).
* Apply patches from https://bugzilla.mindrot.org/show_bug.cgi?id=2752 to
allow some extra syscalls for crypto cards on s390x (LP: #1686618).
* Fix spelling of RuntimeDirectoryMode (closes: #872976).
* Add RuntimeDirectory and RuntimeDirectoryMode to ssh@.service as well as
ssh.service (closes: #872978).
[ Colin Watson ]
* Test configuration before starting or reloading sshd under systemd
(closes: #865770).
* Create /run/sshd under systemd using RuntimeDirectory rather than
tmpfiles.d (thanks, Dmitry Smirnov; closes: #864190).
[ Dimitri John Ledkov ]
* Drop upstart system and user jobs (closes: #872851).
[ Chris Lamb ]
* Quote IP address in suggested "ssh-keygen -f" calls (closes: #872643).
* Upload to unstable.
* Fix syntax error in debian/copyright.
* Drop README.Debian section on privilege separation, as it's no longer
optional.
* Only call "initctl set-env" from agent-launch if $UPSTART_SESSION is set
(LP: #1689299).
* Fix incoming compression statistics (thanks, Russell Coker; closes:
#797964).
* Relicense debian/* under a two-clause BSD licence for bidirectional
compatibility with upstream, with permission from Matthew Vernon and
others.
* Fix debian/adjust-openssl-dependencies to account for preferring
libssl1.0-dev.
* Adjust OpenSSL dependencies for openssh-client-ssh1 too.
* Fix purge failure when /etc/ssh has already somehow been removed
(LP: #1682817).
* Ensure that /etc/ssh exists before trying to create /etc/ssh/sshd_config
(LP: #1685022).
* Add missing header on Linux/s390.
* Fix syntax error on Linux/X32.
* New upstream release (https://www.openssh.com/txt/release-7.5):
- SECURITY: ssh(1), sshd(8): Fix weakness in CBC padding oracle
countermeasures that allowed a variant of the attack fixed in OpenSSH
7.3 to proceed. Note that the OpenSSH client disables CBC ciphers by
default, sshd offers them as lowest-preference options and will remove
them by default entirely in the next release.
- This release deprecates the sshd_config UsePrivilegeSeparation option,
thereby making privilege separation mandatory (closes: #407754).
- The format of several log messages emitted by the packet code has
changed to include additional information about the user and their
authentication state. Software that monitors ssh/sshd logs may need
to account for these changes.
- ssh(1), sshd(8): Support "=-" syntax to easily remove methods from
algorithm lists, e.g. Ciphers=-*cbc.
- sshd(1): Fix NULL dereference crash when key exchange start messages
are sent out of sequence.
- ssh(1), sshd(8): Allow form-feed characters to appear in configuration
files.
- sshd(8): Fix regression in OpenSSH 7.4 support for the server-sig-algs
extension, where SHA2 RSA signature methods were not being correctly
advertised.
- ssh(1), ssh-keygen(1): Fix a number of case-sensitivity bugs in
known_hosts processing.
- ssh(1): Allow ssh to use certificates accompanied by a private key
file but no corresponding plain *.pub public key.
- ssh(1): When updating hostkeys using the UpdateHostKeys option, accept
RSA keys if HostkeyAlgorithms contains any RSA keytype. Previously,
ssh could ignore RSA keys when only the ssh-rsa-sha2-* methods were
enabled in HostkeyAlgorithms and not the old ssh-rsa method.
- ssh(1): Detect and report excessively long configuration file lines.
- Merge a number of fixes found by Coverity and reported via Redhat and
FreeBSD. Includes fixes for some memory and file descriptor leaks in
error paths.
- ssh(1), sshd(8): When logging long messages to stderr, don't truncate
"\r\n" if the length of the message exceeds the buffer.
- ssh(1): Fully quote [host]:port in generated ProxyJump/-J command-
line; avoid confusion over IPv6 addresses and shells that treat square
bracket characters specially.
- Fix various fallout and sharp edges caused by removing SSH protocol 1
support from the server, including the server banner string being
incorrectly terminated with only \n (instead of \r\n), confusing error
messages from ssh-keyscan, and a segfault in sshd if protocol v.1 was
enabled for the client and sshd_config contained references to legacy
keys.
- ssh(1), sshd(8): Free fd_set on connection timeout.
- sftp(1): Fix division by zero crash in "df" output when server returns
zero total filesystem blocks/inodes.
- ssh(1), ssh-add(1), ssh-keygen(1), sshd(8): Translate OpenSSL errors
encountered during key loading to more meaningful error codes.
- ssh-keygen(1): Sanitise escape sequences in key comments sent to
printf but preserve valid UTF-8 when the locale supports it.
- ssh(1), sshd(8): Return reason for port forwarding failures where
feasible rather than always "administratively prohibited".
- sshd(8): Fix deadlock when AuthorizedKeysCommand or
AuthorizedPrincipalsCommand produces a lot of output and a key is
matched early.
- ssh(1): Fix typo in ~C error message for bad port forward
cancellation.
- ssh(1): Show a useful error message when included config files can't
be opened.
- sshd_config(5): Repair accidentally-deleted mention of %k token in
AuthorizedKeysCommand.
- sshd(8): Remove vestiges of previously removed LOGIN_PROGRAM.
- ssh-agent(1): Relax PKCS#11 whitelist to include libexec and common
32-bit compatibility library directories.
- sftp-client(1): Fix non-exploitable integer overflow in SSH2_FXP_NAME
response handling.
- ssh-agent(1): Fix regression in 7.4 of deleting PKCS#11-hosted keys.
It was not possible to delete them except by specifying their full
physical path.
- sshd(8): Avoid sandbox errors for Linux S390 systems using an ICA
crypto coprocessor.
- sshd(8): Fix non-exploitable weakness in seccomp-bpf sandbox arg
inspection.
- ssh-keygen(1), ssh(1), sftp(1): Fix output truncation for various that
contain non-printable characters where the codeset in use is ASCII.
* Fix incoming compression statistics (thanks, Russell Coker; closes:
#797964).
* Move privilege separation directory and PID file from /var/run/ to /run/
(closes: #760422, #856825).
* Unbreak Unix domain socket forwarding for root (closes: #858252).
* Fix null pointer dereference in ssh-keygen; this fixes an autopkgtest
regression introduced in 1:7.4p1-8.
* Fix ssh-keygen -H accidentally corrupting known_hosts that contained
already-hashed entries (closes: #851734, LP: #1668093).
* Fix ssh-keyscan to correctly hash hosts with a port number (closes:
#857736, LP: #1670745).
* Don't set "PermitRootLogin yes" on fresh installations (regression
introduced in 1:7.4p1-1; closes: #852781).
* Restore reading authorized_keys2 by default. Upstream seems to intend
to gradually phase this out, so don't assume that this will remain the
default forever. However, we were late in adopting the upstream
sshd_config changes, so it makes sense to extend the grace period
(closes: #852320).
* Remove temporary file on exit from postinst (closes: #850275).
* Remove LOGIN_PROGRAM and LOGIN_NO_ENDOPT definitions, since UseLogin is
gone.
* Document sshd_config changes that may be needed following the removal of
protocol 1 support from sshd (closes: #851573).
* Remove ssh_host_dsa_key from HostKey default (closes: #850614).
* Fix rekeying failure with GSSAPI key exchange (thanks, Harald Barth;
closes: #819361, LP: #1608965).
* Create mux socket for regression tests in a temporary directory.
* Work around clock_gettime kernel bug on Linux x32 (closes: #849923).
* Run regression tests inside annotate-output to try to diagnose timeout
issues.
* Make integrity tests more robust against timeouts in the case where the
first test in a series for a given MAC happens to modify the low bytes
of a packet length.
* Fix race conditions in forwarding tests.
* Revert attempted hack around regress/forwarding.sh test failure, since
it doesn't seem to help.
* Run regression tests using 'sh -x' to try to get more information about
failures.
* Dump some useful log files if regression tests fail.
* Tweak regression test setup to cope with the case where some of the
source directory is unreadable by the openssh-tests user.
* Attempt to hack around regress/forwarding.sh test failure in some
environments.
* Avoid calling into Kerberos libraries from ssh_gssapi_server_mechanisms
in the privsep monitor.
* New upstream release (http://www.openssh.com/txt/release-7.4):
- ssh(1): Remove 3des-cbc from the client's default proposal. 64-bit
block ciphers are not safe in 2016 and we don't want to wait until
attacks like SWEET32 are extended to SSH. As 3des-cbc was the only
mandatory cipher in the SSH RFCs, this may cause problems connecting
to older devices using the default configuration, but it's highly
likely that such devices already need explicit configuration for key
exchange and hostkey algorithms already anyway.
- sshd(8): When a forced-command appears in both a certificate and an
authorized keys/principals command= restriction, sshd will now refuse
to accept the certificate unless they are identical. The previous
(documented) behaviour of having the certificate forced-command
override the other could be a bit confusing and error-prone.
- sshd(8): Remove the UseLogin configuration directive and support for
having /bin/login manage login sessions.
- CVE-2016-10009: ssh-agent(1): Will now refuse to load PKCS#11 modules
from paths outside a trusted whitelist (run-time configurable).
Requests to load modules could be passed via agent forwarding and an
attacker could attempt to load a hostile PKCS#11 module across the
forwarded agent channel: PKCS#11 modules are shared libraries, so this
would result in code execution on the system running the ssh-agent if
the attacker has control of the forwarded agent-socket (on the host
running the sshd server) and the ability to write to the filesystem of
the host running ssh-agent (usually the host running the ssh client)
(closes: #848714).
- CVE-2016-10010: sshd(8): When privilege separation is disabled,
forwarded Unix-domain sockets would be created by sshd(8) with the
privileges of 'root' instead of the authenticated user. This release
refuses Unix-domain socket forwarding when privilege separation is
disabled (Privilege separation has been enabled by default for 14
years) (closes: #848715).
- CVE-2016-10011: sshd(8): Avoid theoretical leak of host private key
material to privilege-separated child processes via realloc() when
reading keys. No such leak was observed in practice for normal-sized
keys, nor does a leak to the child processes directly expose key
material to unprivileged users (closes: #848716).
- CVE-2016-10012: sshd(8): The shared memory manager used by
pre-authentication compression support had a bounds checks that could
be elided by some optimising compilers. Additionally, this memory
manager was incorrectly accessible when pre-authentication compression
was disabled. This could potentially allow attacks against the
privileged monitor process from the sandboxed privilege-separation
process (a compromise of the latter would be required first). This
release removes support for pre-authentication compression from
sshd(8) (closes: #848717).
- SECURITY: sshd(8): Validate address ranges for AllowUser and DenyUsers
directives at configuration load time and refuse to accept invalid
ones. It was previously possible to specify invalid CIDR address
ranges (e.g. user@127.1.2.3/55) and these would always match, possibly
resulting in granting access where it was not intended.
- ssh(1): Add a proxy multiplexing mode to ssh(1) inspired by the
version in PuTTY by Simon Tatham. This allows a multiplexing client
to communicate with the master process using a subset of the SSH
packet and channels protocol over a Unix-domain socket, with the main
process acting as a proxy that translates channel IDs, etc. This
allows multiplexing mode to run on systems that lack file-descriptor
passing (used by current multiplexing code) and potentially, in
conjunction with Unix-domain socket forwarding, with the client and
multiplexing master process on different machines. Multiplexing proxy
mode may be invoked using "ssh -O proxy ...".
- sshd(8): Add a sshd_config DisableForwarding option that disables X11,
agent, TCP, tunnel and Unix domain socket forwarding, as well as
anything else we might implement in the future. Like the 'restrict'
authorized_keys flag, this is intended to be a simple and future-proof
way of restricting an account.
- sshd(8), ssh(1): Support the "curve25519-sha256" key exchange method.
This is identical to the currently-supported method named
"curve25519-sha256@libssh.org".
- sshd(8): Improve handling of SIGHUP by checking to see if sshd is
already daemonised at startup and skipping the call to daemon(3) if it
is. This ensures that a SIGHUP restart of sshd(8) will retain the
same process-ID as the initial execution. sshd(8) will also now
unlink the PidFile prior to SIGHUP restart and re-create it after a
successful restart, rather than leaving a stale file in the case of a
configuration error.
- sshd(8): Allow ClientAliveInterval and ClientAliveCountMax directives
to appear in sshd_config Match blocks.
- sshd(8): Add %-escapes to AuthorizedPrincipalsCommand to match those
supported by AuthorizedKeysCommand (key, key type, fingerprint, etc.)
and a few more to provide access to the contents of the certificate
being offered.
- ssh(1): Allow IdentityFile to successfully load and use certificates
that have no corresponding bare public key.
- ssh(1): Fix public key authentication when multiple authentication is
in use and publickey is not just the first method attempted.
- ssh(1): Improve reporting when attempting to load keys from PKCS#11
tokens with fewer useless log messages and more detail in debug
messages.
- ssh(1): When tearing down ControlMaster connections, don't pollute
stderr when LogLevel=quiet.
- sftp(1): On ^Z wait for underlying ssh(1) to suspend before suspending
sftp(1) to ensure that ssh(1) restores the terminal mode correctly if
suspended during a password prompt.
- ssh(1): Avoid busy-wait when ssh(1) is suspended during a password
prompt (LP: #1646813).
- ssh(1), sshd(8): Correctly report errors during sending of ext-info
messages.
- sshd(8): Fix NULL-deref crash if sshd(8) received an out-of-sequence
NEWKEYS message.
- sshd(8): Correct list of supported signature algorithms sent in the
server-sig-algs extension.
- sshd(8): Fix sending ext_info message if privsep is disabled.
- sshd(8): More strictly enforce the expected ordering of privilege
separation monitor calls used for authentication and allow them only
when their respective authentication methods are enabled in the
configuration.
- sshd_config(5): Use 2001:db8::/32, the official IPv6 subnet for
configuration examples.
- On environments configured with Turkish locales, fall back to the
C/POSIX locale to avoid errors in configuration parsing caused by that
locale's unique handling of the letters 'i' and 'I' (LP: #1638338).
- contrib: Add a gnome-ssh-askpass3 with GTK+3 support.
- sshd(8): Improve PRNG reseeding across privilege separation and force
libcrypto to obtain a high-quality seed before chroot or sandboxing.
* Apply "wrap-and-sort -at -f debian/control -f debian/tests/control".
* Remove entries related to protocol 1 from the default sshd_config
generated on new installations.
* Remove some advice related to protocol 1 from README.Debian.
* Start handling /etc/ssh/sshd_config using ucf. The immediate motivation
for this is to deal with deprecations of options related to protocol 1,
but something like this has been needed for a long time (closes:
#419574, #848089):
- sshd_config is now a slightly-patched version of upstream's, and only
contains non-default settings (closes: #147201).
- I've included as many historical md5sums of default versions of
sshd_config as I could reconstruct from version control, but I'm sure
I've missed some.
- Explicitly synchronise the debconf database with the current
configuration file state in openssh-server.config, to ensure that the
PermitRootLogin setting is properly preserved.
- UsePrivilegeSeparation now defaults to the stronger "sandbox" rather
than "yes", per upstream.
* Remove redundant "GSSAPIDelegateCredentials no" from ssh_config (already
the upstream default), and document that setting ServerAliveInterval to
300 by default if BatchMode is set is Debian-specific (closes: #765630).
* Build gnome-ssh-askpass with GTK+ 3 (LP: #801187).
* When running regression tests under autopkgtest, use a non-root user
with passwordless sudo.
* debian/tests/control: Add dependency on openssl, required by the PuTTY
interoperability tests.
* Adjust Build-Depends further to avoid considering libssl-dev >= 1.1.0~
as sufficient.
* Move build directories under debian/.
* Remove the non-upstream .gitignore file and add the relevant entries to
debian/.gitignore, in order to make the source tree more
dgit-compatible.
* Build all upstream regression test binaries using the new
"regress-binaries" target.
* Fix and enable PuTTY interoperability tests under autopkgtest.
* Avoid building with OpenSSL 1.1 for now (see #828475).
* Add a missing License line to debian/copyright.
* Policy version 3.9.8: no changes required.
* Rewrite debian/copyright using copyright-format 1.0.
* CVE-2016-8858: Unregister the KEXINIT handler after message has been
received (closes: #841884).
* New upstream release (http://www.openssh.com/txt/release-7.3):
- SECURITY: sshd(8): Mitigate a potential denial-of-service attack
against the system's crypt(3) function via sshd(8). An attacker could
send very long passwords that would cause excessive CPU use in
crypt(3). sshd(8) now refuses to accept password authentication
requests of length greater than 1024 characters.
- SECURITY: ssh(1), sshd(8): Fix observable timing weakness in the CBC
padding oracle countermeasures. Note that CBC ciphers are disabled by
default and only included for legacy compatibility.
- SECURITY: ssh(1), sshd(8): Improve operation ordering of MAC
verification for Encrypt-then-MAC (EtM) mode transport MAC algorithms
to verify the MAC before decrypting any ciphertext. This removes the
possibility of timing differences leaking facts about the plaintext,
though no such leakage has been observed.
- ssh(1): Add a ProxyJump option and corresponding -J command-line flag
to allow simplified indirection through a one or more SSH bastions or
"jump hosts".
- ssh(1): Add an IdentityAgent option to allow specifying specific agent
sockets instead of accepting one from the environment.
- ssh(1): Allow ExitOnForwardFailure and ClearAllForwardings to be
optionally overridden when using ssh -W.
- ssh(1), sshd(8): Implement support for the IUTF8 terminal mode as per
draft-sgtatham-secsh-iutf8-00 (closes: #337041, LP: #394570).
- ssh(1), sshd(8): Add support for additional fixed Diffie-Hellman 2K,
4K and 8K groups from draft-ietf-curdle-ssh-kex-sha2-03.
- ssh-keygen(1), ssh(1), sshd(8): Support SHA256 and SHA512 RSA
signatures in certificates.
- ssh(1): Add an Include directive for ssh_config(5) files (closes:
#536031).
- ssh(1): Permit UTF-8 characters in pre-authentication banners sent
from the server.
- ssh(1), sshd(8): Reduce the syslog level of some relatively common
protocol events from LOG_CRIT.
- sshd(8): Refuse AuthenticationMethods="" in configurations and accept
AuthenticationMethods=any for the default behaviour of not requiring
multiple authentication.
- sshd(8): Remove obsolete and misleading "POSSIBLE BREAK-IN ATTEMPT!"
message when forward and reverse DNS don't match.
- ssh(1): Deduplicate LocalForward and RemoteForward entries to fix
failures when both ExitOnForwardFailure and hostname canonicalisation
are enabled.
- sshd(8): Remove fallback from moduli to obsolete "primes" file that
was deprecated in 2001 (LP: #1528251).
- sshd_config(5): Correct description of UseDNS: it affects ssh hostname
processing for authorized_keys, not known_hosts.
- sshd(8): Send ClientAliveInterval pings when a time-based RekeyLimit
is set; previously keepalive packets were not being sent.
- sshd(8): Whitelist more architectures to enable the seccomp-bpf
sandbox.
- scp(1): Respect the local user's LC_CTYPE locale (closes: #396295).
- Take character display widths into account for the progressmeter
(closes: #407088).
[ Colin Watson ]
* Stop enabling ssh-session-cleanup.service by default; instead, ship it
as an example and add a section to README.Debian. libpam-systemd >= 230
and "UsePAM yes" should take care of the original problem for most
systemd users (thanks, Michael Biebl; closes: #832155).
[ Martin Pitt ]
* Add debian/agent-launch: Helper script for conditionally starting the SSH
agent in the user session. Use it in ssh-agent.user-session.upstart.
* Add systemd user unit for graphical sessions that use systemd. Override
the corresponding upstart job in that case (closes: #832445).
* debian/openssh-server.if-up: Don't block on a finished reload of
openssh.service, to avoid deadlocking with restarting networking.
(closes: #832557, LP: #1584393)
* Don't stop the ssh-session-cleanup service on upgrade (closes: #832155).
This may cause SSH sessions to be killed on upgrade to this version if
you had previously installed 1:7.2p2-6. Sorry! If your session is
killed, you can recover using "dpkg --unpack" on this openssh-server
.deb, followed by "dpkg --configure -a".
* Recommend libpam-systemd from openssh-server. It's a much better
solution than the above for systemd users, but I'm wary of depending on
it in case I cause an assortment of exciting dependency problems on
upgrade for non-systemd users.
* debian/watch: Switch to HTTP (thanks, Nicholas Luedtke; closes:
#822997).
* Copy summary of supported SFTP protocol versions from upstream's
PROTOCOL file into the openssh-sftp-server package description (closes:
#766887).
* Set SSH_PROGRAM=/usr/bin/ssh1 when building openssh-client-ssh1 so that
scp1 works (reported by Olivier MATZ).
* Retroactively add a NEWS.Debian entry for the UseDNS change in 6.9 (see
LP #1588457).
* CVE-2016-6210: Mitigate user enumeration via covert timing channel
(closes: #831902).
* Backport upstream patch to close ControlPersist background process
stderr when not in debug mode or when logging to a file or syslog
(closes: #714526).
* Add a session cleanup script and a systemd unit file to trigger it,
which serves to terminate SSH sessions cleanly if systemd doesn't do
that itself, often because libpam-systemd is not installed (thanks,
Vivek Das Mohapatra, Tom Hutter, and others; closes: #751636).
* Stop generating DSA host keys by default (thanks, Santiago Vila; closes:
#823827).
* Backport upstream patch to unbreak authentication using lone certificate
keys in ssh-agent: when attempting pubkey auth with a certificate, if no
separate private key is found among the keys then try with the
certificate key itself (thanks, Paul Querna; LP: #1575961).
* Drop dependency on libnss-files-udeb (closes: #819686).
* Policy version 3.9.7: no changes required.
* Change all openssh.org references to openssh.com (closes: #819213).
* CVE-2015-8325: Ignore PAM environment vars when UseLogin=yes.
* Fix kexgss_server to cope with DH_GRP_MIN/DH_GRP_MAX being stricter on
the server end than the client (thanks, Damien Miller; closes: #817870,
LP: #1558576).
* New upstream release (http://www.openssh.com/txt/release-7.2p2):
- CVE-2016-3115: sshd(8): Sanitise X11 authentication credentials to
avoid xauth command injection when X11Forwarding is enabled
(http://www.openssh.com/txt/x11fwd.adv).
* New upstream release (http://www.openssh.com/txt/release-7.2):
- This release disables a number of legacy cryptographic algorithms by
default in ssh:
+ Several ciphers blowfish-cbc, cast128-cbc, all arcfour variants and
the rijndael-cbc aliases for AES.
+ MD5-based and truncated HMAC algorithms.
These algorithms are already disabled by default in sshd.
- ssh(1), sshd(8): Remove unfinished and unused roaming code (was
already forcibly disabled in OpenSSH 7.1p2).
- ssh(1): Eliminate fallback from untrusted X11 forwarding to trusted
forwarding when the X server disables the SECURITY extension.
- ssh(1), sshd(8): Increase the minimum modulus size supported for
diffie-hellman-group-exchange to 2048 bits.
- sshd(8): Pre-auth sandboxing is now enabled by default (previous
releases enabled it for new installations via sshd_config).
- all: Add support for RSA signatures using SHA-256/512 hash algorithms
based on draft-rsa-dsa-sha2-256-03.txt and draft-ssh-ext-info-04.txt.
- ssh(1): Add an AddKeysToAgent client option which can be set to 'yes',
'no', 'ask', or 'confirm', and defaults to 'no'. When enabled, a
private key that is used during authentication will be added to
ssh-agent if it is running (with confirmation enabled if set to
'confirm').
- sshd(8): Add a new authorized_keys option "restrict" that includes all
current and future key restrictions (no-*-forwarding, etc.). Also add
permissive versions of the existing restrictions, e.g. "no-pty" ->
"pty". This simplifies the task of setting up restricted keys and
ensures they are maximally-restricted, regardless of any permissions
we might implement in the future.
- ssh(1): Add ssh_config CertificateFile option to explicitly list
certificates.
- ssh-keygen(1): Allow ssh-keygen to change the key comment for all
supported formats (closes: #811125).
- ssh-keygen(1): Allow fingerprinting from standard input, e.g.
"ssh-keygen -lf -" (closes: #509058).
- ssh-keygen(1): Allow fingerprinting multiple public keys in a file,
e.g. "ssh-keygen -lf ~/.ssh/authorized_keys".
- sshd(8): Support "none" as an argument for sshd_config Foreground and
ChrootDirectory. Useful inside Match blocks to override a global
default.
- ssh-keygen(1): Support multiple certificates (one per line) and
reading from standard input (using "-f -") for "ssh-keygen -L"
- ssh-keyscan(1): Add "ssh-keyscan -c ..." flag to allow fetching
certificates instead of plain keys.
- ssh(1): Better handle anchored FQDNs (e.g. 'cvs.openbsd.org.') in
hostname canonicalisation - treat them as already canonical and remove
the trailing '.' before matching ssh_config.
- sftp(1): Existing destination directories should not terminate
recursive uploads (regression in OpenSSH 6.8; LP: #1553378).
* Use HTTPS for Vcs-* URLs, and link to cgit rather than gitweb.
* Restore slogin symlinks for compatibility, although they were removed
upstream.
* Remove protocol 1 host key generation from openssh-server.postinst
(closes: #811265).
* New upstream release (http://www.openssh.com/txt/release-7.1p2):
- CVE-2016-0777, CVE-2016-0778: Disable experimental client-side support
for roaming, which could be tricked by a malicious server into leaking
client memory to the server, including private client user keys; this
information leak is restricted to connections to malicious or
compromised servers (closes: #810984).
- SECURITY: Fix an out of-bound read access in the packet handling code.
Reported by Ben Hawkes.
- Further use of explicit_bzero has been added in various buffer
handling code paths to guard against compilers aggressively doing
dead-store removal.
[ Colin Watson ]
* Remove explicit "XS-Testsuite: autopkgtest" from debian/control;
dpkg-source now figures that out automatically based on the existence of
debian/tests/control.
* Allow authenticating as root using gssapi-keyex even with
"PermitRootLogin prohibit-password" (closes: #809695).
* Shuffle PROPOSAL_KEX_ALGS mangling for GSSAPI key exchange a little
later in ssh_kex2 so that it's actually effective (closes: #809696).
[ Michael Biebl ]
* Don't call sd_notify when sshd is re-execed (closes: #809035).
[ Michael Biebl ]
* Add systemd readiness notification support (closes: #778913).
* Backport upstream patch to unbreak connections with peers that set
first_kex_follows (LP: #1526357).
* Drop priority of openssh-client-ssh1 to extra (closes: #807518).
* Redirect regression test input from /dev/zero, since otherwise conch
will immediately send EOF.
* Really enable conch interoperability tests under autopkgtest.
* Drop SSH1 keepalive patch. Now that SSH1 is disabled at compile-time,
it's been rejected upstream and there isn't much point carrying it any
more.
* Add NEWS.Debian documenting cryptographic changes in OpenSSH 7.0
(closes: #806962).
* Add an openssh-client-ssh1 binary package for people who need to connect
to outdated SSH1-only servers (closes: #807107).
* Update "Subsystem sftp" path in example sshd_config (closes: #691004,
LP: #1437005).
* New upstream release (http://www.openssh.com/txt/release-7.0, closes:
#785190):
- Support for the legacy SSH version 1 protocol is disabled by default
at compile time.
- Support for the 1024-bit diffie-hellman-group1-sha1 key exchange is
disabled by default at run-time. It may be re-enabled using the
instructions at http://www.openssh.com/legacy.html
- Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by
default at run-time. These may be re-enabled using the instructions
at http://www.openssh.com/legacy.html
- Support for the legacy v00 cert format has been removed.
- The default for the sshd_config(5) PermitRootLogin option has changed
from "yes" to "prohibit-password".
- PermitRootLogin=without-password/prohibit-password now bans all
interactive authentication methods, allowing only public-key,
hostbased and GSSAPI authentication (previously it permitted
keyboard-interactive and password-less authentication if those were
enabled).
- ssh_config(5): Add PubkeyAcceptedKeyTypes option to control which
public key types are available for user authentication.
- sshd_config(5): Add HostKeyAlgorithms option to control which public
key types are offered for host authentications.
- ssh(1), sshd(8): Extend Ciphers, MACs, KexAlgorithms,
HostKeyAlgorithms, PubkeyAcceptedKeyTypes and HostbasedKeyTypes
options to allow appending to the default set of algorithms instead of
replacing it. Options may now be prefixed with a '+' to append to the
default, e.g. "HostKeyAlgorithms=+ssh-dss".
- sshd_config(5): PermitRootLogin now accepts an argument of
'prohibit-password' as a less-ambiguous synonym of 'without-
password'.
- ssh(1), sshd(8): Add compatability workarounds for Cisco and more
PuTTY versions.
- Fix some omissions and errors in the PROTOCOL and PROTOCOL.mux
documentation relating to Unix domain socket forwarding.
- ssh(1): Improve the ssh(1) manual page to include a better description
of Unix domain socket forwarding (closes: #779068).
- ssh(1), ssh-agent(1): Skip uninitialised PKCS#11 slots, fixing
failures to load keys when they are present.
- ssh(1), ssh-agent(1): Do not ignore PKCS#11 hosted keys that wth empty
CKA_ID.
- sshd(8): Clarify documentation for UseDNS option.
- Check realpath(3) behaviour matches what sftp-server requires and use
a replacement if necessary.
* New upstream release (http://www.openssh.com/txt/release-7.1):
- sshd(8): OpenSSH 7.0 contained a logic error in PermitRootLogin=
prohibit-password/without-password that could, depending on
compile-time configuration, permit password authentication to root
while preventing other forms of authentication. This problem was
reported by Mantas Mikulenas.
- ssh(1), sshd(8): Add compatibility workarounds for FuTTY.
- ssh(1), sshd(8): Refine compatibility workarounds for WinSCP.
- Fix a number of memory faults (double-free, free of uninitialised
memory, etc) in ssh(1) and ssh-keygen(1). Reported by Mateusz
Kocielski.
* Change "PermitRootLogin without-password" to the new preferred spelling
of "PermitRootLogin prohibit-password" in sshd_config, and update
documentation to reflect the new upstream default.
* Enable conch interoperability tests under autopkgtest.
* ssh_config(5): Fix markup errors in description of GSSAPITrustDns
(closes: #799271).
* Fix dh_install and dh_fixperms overrides to work properly with an
architecture-independent-only build (closes: #806090).
* Do much less work in architecture-independent-only builds.
* Drop ConsoleKit session registration patch; it was only ever enabled for
Ubuntu, which no longer needs it (LP: #1334916, #1502045).
[ Colin Watson ]
* mention-ssh-keygen-on-keychange.patch: Move example ssh-keygen
invocation onto a separate line to make it easier to copy and paste
(LP: #1491532).
[ Tyler Hicks ]
* Build with audit support on Linux (closes: #797727, LP: #1478087).
* New upstream release (http://www.openssh.com/txt/release-6.8):
- sshd(8): UseDNS now defaults to 'no'. Configurations that match
against the client host name (via sshd_config or authorized_keys) may
need to re-enable it or convert to matching against addresses.
- Add FingerprintHash option to ssh(1) and sshd(8), and equivalent
command-line flags to the other tools to control algorithm used for
key fingerprints. The default changes from MD5 to SHA256 and format
from hex to base64.
Fingerprints now have the hash algorithm prepended. An example of the
new format: SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE
Please note that visual host keys will also be different.
- ssh(1), sshd(8): Experimental host key rotation support. Add a
protocol extension for a server to inform a client of all its
available host keys after authentication has completed. The client
may record the keys in known_hosts, allowing it to upgrade to better
host key algorithms and a server to gracefully rotate its keys.
The client side of this is controlled by a UpdateHostkeys config
option (default off).
- ssh(1): Add a ssh_config HostbasedKeyType option to control which host
public key types are tried during host-based authentication.
- ssh(1), sshd(8): Fix connection-killing host key mismatch errors when
sshd offers multiple ECDSA keys of different lengths.
- ssh(1): When host name canonicalisation is enabled, try to parse host
names as addresses before looking them up for canonicalisation. Fixes
bz#2074 and avoids needless DNS lookups in some cases.
- ssh(1), ssh-keysign(8): Make ed25519 keys work for host based
authentication.
- sshd(8): SSH protocol v.1 workaround for the Meyer, et al,
Bleichenbacher Side Channel Attack. Fake up a bignum key before RSA
decryption.
- sshd(8): Remember which public keys have been used for authentication
and refuse to accept previously-used keys. This allows
AuthenticationMethods=publickey,publickey to require that users
authenticate using two _different_ public keys.
- sshd(8): add sshd_config HostbasedAcceptedKeyTypes and
PubkeyAcceptedKeyTypes options to allow sshd to control what public
key types will be accepted (closes: #481133). Currently defaults to
all.
- sshd(8): Don't count partial authentication success as a failure
against MaxAuthTries.
- ssh(1): Add RevokedHostKeys option for the client to allow text-file
or KRL-based revocation of host keys.
- ssh-keygen(1), sshd(8): Permit KRLs that revoke certificates by serial
number or key ID without scoping to a particular CA.
- ssh(1): Add a "Match canonical" criteria that allows ssh_config Match
blocks to trigger only in the second config pass.
- ssh(1): Add a -G option to ssh that causes it to parse its
configuration and dump the result to stdout, similar to "sshd -T".
- ssh(1): Allow Match criteria to be negated. E.g. "Match !host".
- ssh-keyscan(1): ssh-keyscan has been made much more robust against
servers that hang or violate the SSH protocol (closes: #241119).
- ssh(1), ssh-keygen(1): Fix regression bz#2306: Key path names were
being lost as comment fields (closes: #787776).
- ssh(1): Allow ssh_config Port options set in the second config parse
phase to be applied (they were being ignored; closes: #774369).
- ssh(1): Tweak config re-parsing with host canonicalisation - make the
second pass through the config files always run when host name
canonicalisation is enabled (and not whenever the host name changes)
- ssh(1): Fix passing of wildcard forward bind addresses when connection
multiplexing is in use.
- ssh-keygen(1): Fix broken private key conversion from non-OpenSSH
formats.
- ssh-keygen(1): Fix KRL generation bug when multiple CAs are in use.
* New upstream release (http://www.openssh.com/txt/release-6.9):
- CVE-2015-5352: ssh(1): When forwarding X11 connections with
ForwardX11Trusted=no, connections made after ForwardX11Timeout expired
could be permitted and no longer subject to XSECURITY restrictions
because of an ineffective timeout check in ssh(1) coupled with "fail
open" behaviour in the X11 server when clients attempted connections
with expired credentials (closes: #790798). This problem was reported
by Jann Horn.
- SECURITY: ssh-agent(1): Fix weakness of agent locking (ssh-add -x) to
password guessing by implementing an increasing failure delay, storing
a salted hash of the password rather than the password itself and
using a timing-safe comparison function for verifying unlock attempts.
This problem was reported by Ryan Castellucci.
- sshd(8): Support admin-specified arguments to AuthorizedKeysCommand
(closes: #740494).
- sshd(8): Add AuthorizedPrincipalsCommand that allows retrieving
authorized principals information from a subprocess rather than a
file.
- ssh(1), ssh-add(1): Support PKCS#11 devices with external PIN entry
devices.
- ssh-keygen(1): Support "ssh-keygen -lF hostname" to search known_hosts
and print key hashes rather than full keys.
- ssh-agent(1): Add -D flag to leave ssh-agent in foreground without
enabling debug mode.
- ssh(1), sshd(8): Deprecate legacy SSH2_MSG_KEX_DH_GEX_REQUEST_OLD
message and do not try to use it against some 3rd-party SSH
implementations that use it (older PuTTY, WinSCP).
- ssh(1), sshd(8): Cap DH-GEX group size at 4Kbits for Cisco
implementations as some would fail when attempting to use group sizes
>4K (closes: #740307, LP: #1287222).
- ssh(1): Fix out-of-bound read in EscapeChar configuration option
parsing.
- sshd(8): Fix application of PermitTunnel, LoginGraceTime,
AuthenticationMethods and StreamLocalBindMask options in Match blocks.
- ssh(1), sshd(8): Improve disconnection message on TCP reset.
- ssh(1): Remove failed remote forwards established by multiplexing from
the list of active forwards.
- sshd(8): Make parsing of authorized_keys "environment=" options
independent of PermitUserEnv being enabled.
- sshd(8): Fix post-auth crash with permitopen=none (closes: #778807).
- ssh(1), ssh-add(1), ssh-keygen(1): Allow new-format private keys to be
encrypted with AEAD ciphers.
- ssh(1): Allow ListenAddress, Port and AddressFamily configuration
options to appear in any order.
- sshd(8): Check for and reject missing arguments for VersionAddendum
and ForceCommand.
- ssh(1), sshd(8): Don't treat unknown certificate extensions as fatal.
- ssh-keygen(1): Make stdout and stderr output consistent.
- ssh(1): Mention missing DISPLAY environment in debug log when X11
forwarding requested.
- sshd(8): Correctly record login when UseLogin is set.
- sshd(8): Add some missing options to sshd -T output and fix output of
VersionAddendum and HostCertificate.
- Document and improve consistency of options that accept a "none"
argument: TrustedUserCAKeys, RevokedKeys, AuthorizedPrincipalsFile.
- ssh(1): Include remote username in debug output.
- sshd(8): Avoid compatibility problem with some versions of Tera Term,
which would crash when they received the hostkeys notification message
(hostkeys-00@openssh.com).
- sshd(8): Mention ssh-keygen -E as useful when comparing legacy MD5
host key fingerprints.
- ssh(1): Clarify pseudo-terminal request behaviour and make manual
language consistent.
- ssh(1): Document that the TERM environment variable is not subject to
SendEnv and AcceptEnv; bz#2386
- sshd(8): Format UsePAM setting when using sshd -T (closes: #767648).
- moduli(5): Update DH-GEX moduli (closes: #787037).
* There are some things I want to fix before upgrading to 7.0p1, though I
intend to do that soon. In the meantime, backport some patches, mainly
to fix security issues:
- SECURITY: sshd(8): OpenSSH 6.8 and 6.9 incorrectly set TTYs to be
world-writable. Local attackers may be able to write arbitrary
messages to logged-in users, including terminal escape sequences.
Reported by Nikolay Edigaryev.
- SECURITY: sshd(8): Fixed a privilege separation weakness related to
PAM support. Attackers who could successfully compromise the
pre-authentication process for remote code execution and who had valid
credentials on the host could impersonate other users. Reported by
Moritz Jodeit.
- SECURITY: sshd(8): Fixed a use-after-free bug related to PAM support
that was reachable by attackers who could compromise the
pre-authentication process for remote code execution (closes:
#795711). Also reported by Moritz Jodeit.
- CVE-2015-5600: sshd(8): Fix circumvention of MaxAuthTries using
keyboard-interactive authentication (closes: #793616). By specifying
a long, repeating keyboard-interactive "devices" string, an attacker
could request the same authentication method be tried thousands of
times in a single pass. The LoginGraceTime timeout in sshd(8) and any
authentication failure delays implemented by the authentication
mechanism itself were still applied. Found by Kingcope.
- Let principals-command.sh work for noexec /var/run.
* Thanks to Jakub Jelen of Red Hat for Fedora's rebased version of the
GSSAPI key exchange patch.
* Document the Debian-specific change to the default value of
ForwardX11Trusted in ssh(1) (closes: #781469).
[ Martin Pitt ]
* openssh-server.postinst: Quiesce "Unable to connect to Upstart" error
message from initctl if upstart is installed, but not the current init
system. (LP: #1440070)
* openssh-server.postinst: Fix version comparisons of upgrade adjustments
to not apply to fresh installs.
* Revert change from previous upload, which causes far more trouble than
it is worth (closes: #780797):
- Send/accept only specific known LC_* variables, rather than using a
wildcard.
* Add a NEWS.Debian entry documenting this reversion, as it is too
difficult to undo the sshd_config change automatically without
compounding the problem of (arguably) overwriting user configuration.
* Send/accept only specific known LC_* variables, rather than using a
wildcard (closes: #765633).
* Document interactions between ListenAddress/Port and ssh.socket in
README.Debian (closes: #764842).
* Debconf translations:
- Brazilian Portuguese (thanks, José de Figueiredo; closes: #771859).
* Debconf translations:
- Dutch (thanks, Frans Spiesschaert; closes: #765851).
* Assume that dpkg-statoverride exists and drop the test for an obsolete
compatibility path.
* debian/tests/control: Drop isolation-container, since the tests run on a
high port. They're still not guaranteed to run correctly in an schroot,
but may manage to work, so this lets the tests at least try to run on
ci.debian.net.
* New upstream release (http://www.openssh.com/txt/release-6.7):
- sshd(8): The default set of ciphers and MACs has been altered to
remove unsafe algorithms. In particular, CBC ciphers and arcfour* are
disabled by default. The full set of algorithms remains available if
configured explicitly via the Ciphers and MACs sshd_config options.
- ssh(1), sshd(8): Add support for Unix domain socket forwarding. A
remote TCP port may be forwarded to a local Unix domain socket and
vice versa or both ends may be a Unix domain socket (closes: #236718).
- ssh(1), ssh-keygen(1): Add support for SSHFP DNS records for ED25519
key types.
- sftp(1): Allow resumption of interrupted uploads.
- ssh(1): When rekeying, skip file/DNS lookups of the hostkey if it is
the same as the one sent during initial key exchange.
- sshd(8): Allow explicit ::1 and 127.0.0.1 forwarding bind addresses
when GatewayPorts=no; allows client to choose address family.
- sshd(8): Add a sshd_config PermitUserRC option to control whether
~/.ssh/rc is executed, mirroring the no-user-rc authorized_keys
option.
- ssh(1): Add a %C escape sequence for LocalCommand and ControlPath that
expands to a unique identifier based on a hash of the tuple of (local
host, remote user, hostname, port). Helps avoid exceeding miserly
pathname limits for Unix domain sockets in multiplexing control paths.
- sshd(8): Make the "Too many authentication failures" message include
the user, source address, port and protocol in a format similar to the
authentication success / failure messages.
- Use CLOCK_BOOTTIME in preference to CLOCK_MONOTONIC when it is
available. It considers time spent suspended, thereby ensuring
timeouts (e.g. for expiring agent keys) fire correctly (closes:
#734553).
- Use prctl() to prevent sftp-server from accessing
/proc/self/{mem,maps}.
* Restore TCP wrappers support, removed upstream in 6.7. It is true that
dropping this reduces preauth attack surface in sshd. On the other
hand, this support seems to be quite widely used, and abruptly dropping
it (from the perspective of users who don't read openssh-unix-dev) could
easily cause more serious problems in practice. It's not entirely clear
what the right long-term answer for Debian is, but it at least probably
doesn't involve dropping this feature shortly before a freeze.
* Replace patch to disable OpenSSL version check with an updated version
of Kurt Roeckx's patch from #732940 to just avoid checking the status
field.
* Build-depend on a new enough dpkg-dev for dpkg-buildflags, rather than
simply a new enough dpkg.
* Simplify debian/rules using /usr/share/dpkg/buildflags.mk.
* Use Package-Type rather than XC-Package-Type, now that it is an official
field.
* Run a subset of the upstream regression test suite at package build
time, and the rest of it under autopkgtest.
* Make the if-up hook use "reload" rather than "restart" if the system was
booted using systemd (closes: #756547).
* Show fingerprints of new keys after creating them in the postinst
(closes: #762128).
* Policy version 3.9.6: no changes required.
* Don't link /usr/share/doc/ssh to openssh-client, as this is not safe
between Architecture: all and Architecture: any binary packages (closes:
#763375).
* Make sure that DEB_HOST_ARCH is set, even when invoking debian/rules
directly.
* Use dh-exec to simplify override_dh_install target.
* Remove several unnecessary entries in debian/*.dirs.
* Pass noupdate to the second call to pam_motd, not the first (thanks, Ken
T Takusagawa; closes: #757059).
* Debconf translations:
- Turkish (thanks, Mert Dirik; closes: #756757).
* Upgrade to debhelper v9.
* Only use pam_keyinit on Linux architectures (closes: #747245).
* Make get_config_option more robust against trailing whitespace (thanks,
LaMont Jones).
* Debconf translations:
- Czech (thanks, Michal Šimůnek; closes: #751419).
* Force ssh-agent Upstart job to use sh syntax regardless of the user's
shell (thanks, Steffen Stempel; LP: #1312928).
* Debconf translations:
- Spanish (thanks, MatÃas Bellone; closes: #744867).
* Apply upstream-recommended patch to fix bignum encoding for
curve25519-sha256@libssh.org, fixing occasional key exchange failures.
* Debconf translations:
- French (thanks, Étienne Gilli; closes: #743242).
* Never signal the service supervisor with SIGSTOP more than once, to
prevent a hang on re-exec (thanks, Robie Basak; LP: #1306877).
* If no root password is set, then switch to "PermitRootLogin
without-password" without asking (LP: #1300127).
[ Colin Watson ]
* Apply various warning-suppression and regression-test fixes to
gssapi.patch from Damien Miller.
* New upstream release (http://www.openssh.com/txt/release-6.6,
LP: #1298280):
- CVE-2014-2532: sshd(8): when using environment passing with an
sshd_config(5) AcceptEnv pattern with a wildcard, OpenSSH prior to 6.6
could be tricked into accepting any environment variable that contains
the characters before the wildcard character.
* Re-enable btmp logging, as its permissions were fixed a long time ago in
response to #370050 (closes: #341883).
* Change to "PermitRootLogin without-password" for new installations, and
ask a debconf question when upgrading systems with "PermitRootLogin yes"
from previous versions (closes: #298138).
* Debconf translations:
- Danish (thanks, Joe Hansen).
- Portuguese (thanks, Américo Monteiro).
- Russian (thanks, Yuri Kozlov; closes: #742308).
- Swedish (thanks, Andreas Rönnquist).
- Japanese (thanks, victory).
- German (thanks, Stephan Beck; closes: #742541).
- Italian (thanks, Beatrice Torracca).
* Don't start ssh-agent from the Upstart user session job if something
like Xsession has already done so (based on work by Bruno Vasselle;
LP: #1244736).
[ Matthew Vernon ]
* CVE-2014-2653: Fix failure to check SSHFP records if server presents a
certificate (bug reported by me, patch by upstream's Damien Miller;
thanks also to Mark Wooding for his help in fixing this) (Closes:
#742513)
* Fix Breaks/Replaces versions of openssh-sftp-server on openssh-server
(thanks, Axel Beckert).
[ Colin Watson ]
* Add Alias=sshd.service to systemd ssh.service file, to match "Provides:
sshd" in the sysvinit script (thanks, Michael Biebl).
* Add Before=ssh.service to systemd ssh.socket file, since otherwise
nothing guarantees that ssh.service has stopped before ssh.socket starts
(thanks, Uoti Urpala).
[ Axel Beckert ]
* Split sftp-server into its own package to allow it to also be used by
other SSH server implementations like dropbear (closes: #504290).
* Configure --without-hardening on hppa, to work around
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60155 (closes: #738798).
* Amend "Running sshd from inittab" instructions in README.Debian to
recommend 'update-rc.d ssh disable', rather than manual removal of rc*.d
symlinks that won't work with dependency-based sysv-rc.
* Remove code related to non-dependency-based sysv-rc ordering, since that
is no longer supported.
* Apply patch from https://bugzilla.mindrot.org/show_bug.cgi?id=2200 to
fix getsockname errors when using "ssh -W" (closes: #738693).
* Clarify socket activation mode in README.Debian, as suggested by Uoti
Urpala.
* Stop claiming that "Protocol 2" is a Debian-specific default; this has
been upstream's default since 5.4p1.
* Avoid stdout noise from which(1) on purge of openssh-client.
* Fix sysvinit->systemd transition code to cope with still-running
sysvinit jobs being considered active by systemd (thanks, Uoti Urpala
and Michael Biebl).
* Bump guard version for sysvinit->systemd transition to 1:6.5p1-3; we may
have got it wrong before, and it's fairly harmless to repeat it.
* Remove tests for whether /dev/null is a character device from the
Upstart job and the systemd service files; it's there to avoid a
confusing failure mode in daemon(), but with modern init systems we use
the -D option to suppress daemonisation anyway.
* Refer to /usr/share/common-licenses/GPL-2 in debian/copyright (for the
Debian patch) rather than plain GPL.
* Drop some very old Conflicts and Replaces (ssh (<< 1:3.8.1p1-9),
rsh-client (<< 0.16.1-1), ssh-krb5 (<< 1:4.3p2-7), ssh-nonfree (<< 2),
and openssh-client (<< 1:3.8.1p1-11)). These all relate to pre-etch
versions, for which we no longer have maintainer script code, and per
policy they would have to become Breaks nowadays anyway.
* Policy version 3.9.5.
* Drop unnecessary -1 in zlib1g Build-Depends version.
* Tweak dh_systemd_enable invocations to avoid lots of error noise.
* Only enable ssh.service for systemd, not both ssh.service and
ssh.socket. Thanks to Michael Biebl for spotting this.
* Backport upstream patch to unbreak case-sensitive matching of ssh_config
(closes: #738619).
* New upstream release (http://www.openssh.com/txt/release-6.5,
LP: #1275068):
- ssh(1): Add support for client-side hostname canonicalisation using a
set of DNS suffixes and rules in ssh_config(5). This allows
unqualified names to be canonicalised to fully-qualified domain names
to eliminate ambiguity when looking up keys in known_hosts or checking
host certificate names (closes: #115286).
* Switch to git; adjust Vcs-* fields.
* Convert to git-dpm, and drop source package documentation associated
with the old bzr/quilt patch handling workflow.
* Drop ssh-vulnkey and the associated ssh/ssh-add/sshd integration code,
leaving only basic configuration file compatibility, since it has been
nearly six years since the original vulnerability and this code is not
likely to be of much value any more (closes: #481853, #570651). See
https://lists.debian.org/debian-devel/2013/09/msg00240.html for my full
reasoning.
* Add OpenPGP signature checking configuration to watch file (thanks,
Daniel Kahn Gillmor; closes: #732441).
* Add the pam_keyinit session module, to create a new session keyring on
login (closes: #734816).
* Incorporate default path changes from shadow 1:4.0.18.1-8, removing
/usr/bin/X11 (closes: #644521).
* Generate ED25519 host keys on fresh installations. Upgraders who wish
to add such host keys should manually add 'HostKey
/etc/ssh/ssh_host_ed25519_key' to /etc/ssh/sshd_config and run
'ssh-keygen -q -f /etc/ssh/ssh_host_ed25519_key -N "" -t ed25519'.
* Drop long-obsolete "SSH now uses protocol 2 by default" section from
README.Debian.
* Add systemd support (thanks, Sven Joachim; closes: #676830).
* Increase ServerKeyBits value in package-generated sshd_config to 1024
(closes: #727622, LP: #1244272).
* Restore patch to disable OpenSSL version check (closes: #732940).
* New upstream release. Important changes:
- 6.3/6.3p1 (http://www.openssh.com/txt/release-6.3):
+ sftp(1): add support for resuming partial downloads using the
"reget" command and on the sftp commandline or on the "get"
commandline using the "-a" (append) option (closes: #158590).
+ ssh(1): add an "IgnoreUnknown" configuration option to selectively
suppress errors arising from unknown configuration directives
(closes: #436052).
+ sftp(1): update progressmeter when data is acknowledged, not when
it's sent (partially addresses #708372).
+ ssh(1): do not fatally exit when attempting to cleanup multiplexing-
created channels that are incompletely opened (closes: #651357).
- 6.4/6.4p1 (http://www.openssh.com/txt/release-6.4):
+ CVE-2013-4548: sshd(8): fix a memory corruption problem triggered
during rekeying when an AES-GCM cipher is selected (closes:
#729029). Full details of the vulnerability are available at:
http://www.openssh.com/txt/gcmrekey.adv
* When running under Upstart, only consider the daemon started once it is
ready to accept connections (by raising SIGSTOP at that point and using
"expect stop").
* Update config.guess and config.sub automatically at build time.
dh_autoreconf does not take care of that by default because openssh does
not use automake.
[ Colin Watson ]
* Document consequences of ssh-agent being setgid in ssh-agent(1); see
#711623.
* Use 'set -e' rather than '#! /bin/sh -e' in maintainer scripts and
ssh-argv0.
[ Yolanda Robla ]
* debian/rules: Include real distribution in SSH_EXTRAVERSION instead of
hardcoding Debian (LP: #1195342).
* Fix non-portable shell in ssh-copy-id (closes: #711162).
* Rebuild against debhelper 9.20130604 with fixed dependencies for
invoke-rc.d and Upstart jobs (closes: #711159, #711364).
* Set SELinux context on private host keys as well as public host keys
(closes: #687436).
* If the running init daemon is Upstart, then, on the first upgrade to
this version, check whether sysvinit is still managing sshd; if so,
manually stop it so that it can be restarted under upstart. We do this
near the end of the postinst, so it shouldn't result in any appreciable
extra window where sshd is not running during upgrade.
* Change start condition of Upstart job to be just the standard "runlevel
[2345]", rather than "filesystem or runlevel [2345]"; the latter makes
it unreasonably difficult to ensure that urandom starts before ssh, and
is not really necessary since one of static-network-up and failsafe-boot
is guaranteed to happen and will trigger entry to the default runlevel,
and we don't care about ssh starting before the network (LP: #1098299).
* Drop conffile handling for direct upgrades from pre-split ssh package;
this was originally added in 1:4.3p2-7 / 1:4.3p2-8, and contained a
truly ghastly hack around a misbehaviour in sarge's dpkg. Since this is
now four Debian releases ago, we can afford to drop this and simplify
the packaging.
* Remove ssh/use_old_init_script, which was a workaround for a very old
bug in /etc/init.d/ssh. If anyone has ignored this for >10 years then
they aren't going to be convinced now (closes: #214182).
* Remove support for upgrading directly from ssh-nonfree.
* Remove lots of maintainer script support for direct upgrades from
pre-etch (three releases before current stable).
* Add #DEBHELPER# tokens to openssh-client.postinst and
openssh-server.postinst.
* Replace old manual conffile handling code with dpkg-maintscript-helper,
via dh_installdeb.
* Switch to new unified layout for Upstart jobs as documented in
https://wiki.ubuntu.com/UpstartCompatibleInitScripts: the init script
checks for a running Upstart, and we now let dh_installinit handle most
of the heavy lifting in maintainer scripts. Ubuntu users should be
essentially unaffected except that sshd may no longer start
automatically in chroots if the running Upstart predates 0.9.0; but the
main goal is simply not to break when openssh-server is installed in a
chroot.
* Remove the check for vulnerable host keys; this was first added five
years ago, and everyone should have upgraded through a version that
applied these checks by now. The ssh-vulnkey tool and the blacklisting
support in sshd are still here, at least for the moment.
* This removes the last of our uses of debconf (closes: #221531).
* Use the pam_loginuid session module (thanks, Laurent Bigonville; closes:
#677440, LP: #1067779).
* Bracket our session stack with calls to pam_selinux close/open (thanks,
Laurent Bigonville; closes: #679458).
* Fix dh_builddeb invocation so that we really use xz compression for
binary packages, as intended since 1:6.1p1-2.
* New upstream release (http://www.openssh.com/txt/release-6.2p2):
- Only warn for missing identity files that were explicitly specified
(closes: #708275).
- Fix bug in contributed contrib/ssh-copy-id script that could result in
"rm *" being called on mktemp failure (closes: #708419).
* Renumber Debian-specific additions to enum monitor_reqtype so that they
fit within a single byte (thanks, Jason Conti; LP: #1179202).
* Fix build failure on Ubuntu:
- Include openbsd-compat/sys-queue.h from consolekit.c.
- Fix consolekit mismerges in monitor.c and monitor_wrap.c.
* New upstream release (http://www.openssh.com/txt/release-6.2).
- Add support for multiple required authentication in SSH protocol 2 via
an AuthenticationMethods option (closes: #195716).
- Fix Sophie Germain formula in moduli(5) (closes: #698612).
- Update ssh-copy-id to Phil Hands' greatly revised version (closes:
#99785, #322228, #620428; LP: #518883, #835901, #1074798).
* Use dh-autoreconf.
[ Gunnar Hjalmarsson ]
* debian/openssh-server.sshd.pam: Explicitly state that ~/.pam_environment
should be read, and move the pam_env calls from "auth" to "session" so
that it's also read when $HOME is encrypted (LP: #952185).
[ Stéphane Graber ]
* Add ssh-agent upstart user job. This implements something similar to
the 90x11-common_ssh-agent Xsession script. That is, start ssh-agent
and set the appropriate environment variables (closes: #703906).
* Give ssh and ssh-krb5 versioned dependencies on openssh-client and
openssh-server, to try to reduce confusion when people run 'apt-get
install ssh' or similar and expect that to upgrade everything relevant.
* CVE-2010-5107: Improve DoS resistance by changing default of MaxStartups
to 10:30:100 (closes: #700102).
* Use xz compression for binary packages.
* Merge from Ubuntu:
- Add support for registering ConsoleKit sessions on login. (This is
currently enabled only when building for Ubuntu.)
- Drop openssh-blacklist and openssh-blacklist-extra to Suggests. It's
been long enough since the relevant vulnerability that we shouldn't
need these installed by default nowadays.
- Add an Upstart job (not currently used by default in Debian).
- Add mention of ssh-keygen in ssh connect warning (Scott Moser).
- Install apport hooks.
* Only build with -j if DEB_BUILD_OPTIONS=parallel=* is used (closes:
#694282).
* New upstream release (http://www.openssh.com/txt/release-6.1).
- Enable pre-auth sandboxing by default for new installs.
- Allow "PermitOpen none" to refuse all port-forwarding requests
(closes: #543683).
* debconf template translations:
- Add Indonesian (thanks, Andika Triwidada; closes: #681670).
* Call restorecon on copied ~/.ssh/authorized_keys if possible, since some
SELinux policies require this (closes: #658675).
* Add ncurses-term to openssh-server's Recommends, since it's often needed
to support unusual terminal emulators on clients (closes: #675362).
* Tighten libssl1.0.0 and libcrypto1.0.0-udeb dependencies to the current
"fix" version at build time (closes: #678661).
[ Roger Leigh ]
* Display dynamic part of MOTD from /run/motd.dynamic, if it exists
(closes: #669699).
[ Colin Watson ]
* Update OpenSSH FAQ to revision 1.113, fixing missing line break (closes:
#669667).
* New upstream release (closes: #671010,
http://www.openssh.com/txt/release-6.0).
- Fix IPQoS not being set on non-mapped v4-in-v6 addressed connections
(closes: #643312, #650512, #671075).
- Add a new privilege separation sandbox implementation for Linux's new
seccomp sandbox, automatically enabled on platforms that support it.
(Note: privilege separation sandboxing is still experimental.)
* Fix a bashism in configure's seccomp_filter check.
* Add a sandbox fallback mechanism, so that behaviour on Linux depends on
whether the running system's kernel has seccomp_filter support, not the
build system's kernel (forwarded upstream as
https://bugzilla.mindrot.org/show_bug.cgi?id=2011).
* Use dpkg-buildflags, including for hardening support; drop use of
hardening-includes.
* Fix cross-building:
- Allow using a cross-architecture pkg-config.
- Pass default LDFLAGS to contrib/Makefile.
- Allow dh_strip to strip gnome-ssh-askpass, rather than calling
'install -s'.
* Disable OpenSSL version check again, as its SONAME is sufficient
nowadays (closes: #664383).
* debconf template translations:
- Update Polish (thanks, Michał Kułach; closes: #659829).
* Ignore errors writing to console in init script (closes: #546743).
* Move ssh-krb5 to Section: oldlibs.
* Mark openssh-client and openssh-server as Multi-Arch: foreign.
* New upstream release (http://www.openssh.com/txt/release-5.9).
- Introduce sandboxing of the pre-auth privsep child using an optional
sshd_config(5) "UsePrivilegeSeparation=sandbox" mode that enables
mandatory restrictions on the syscalls the privsep child can perform.
- Add new SHA256-based HMAC transport integrity modes from
http://www.ietf.org/id/draft-dbider-sha2-mac-for-ssh-02.txt.
- The pre-authentication sshd(8) privilege separation slave process now
logs via a socket shared with the master process, avoiding the need to
maintain /dev/log inside the chroot (closes: #75043, #429243,
#599240).
- ssh(1) now warns when a server refuses X11 forwarding (closes:
#504757).
- sshd_config(5)'s AuthorizedKeysFile now accepts multiple paths,
separated by whitespace (closes: #76312). The authorized_keys2
fallback is deprecated but documented (closes: #560156).
- ssh(1) and sshd(8): set IPv6 traffic class from IPQoS, as well as IPv4
ToS/DSCP (closes: #498297).
- ssh-add(1) now accepts keys piped from standard input. E.g. "ssh-add
- < /path/to/key" (closes: #229124).
- Clean up lost-passphrase text in ssh-keygen(1) (closes: #444691).
- Say "required" rather than "recommended" in unprotected-private-key
warning (LP: #663455).
* Update OpenSSH FAQ to revision 1.112.
* Only recommend ssh-import-id when built on Ubuntu (closes: #635887).
* Use 'dpkg-vendor --derives-from Ubuntu' to detect Ubuntu systems rather
than 'lsb_release -is' so that Ubuntu derivatives behave the same way as
Ubuntu itself.
* openssh-client and openssh-server Suggests: monkeysphere.
* Quieten logs when multiple from= restrictions are used in different
authorized_keys lines for the same key; it's still not ideal, but at
least you'll only get one log entry per key (closes: #630606).
* Merge from Ubuntu (Dustin Kirkland):
- openssh-server Recommends: ssh-import-id (no-op in Debian since that
package doesn't exist there, but this reduces the Ubuntu delta).
* Drop openssh-server's dependency on openssh-blacklist to a
recommendation (closes: #622604).
* Update Vcs-* fields and README.source for Alioth changes.
* Backport from upstream:
- Make hostbased auth with ECDSA keys work correctly (closes: #633368).
* Drop hardcoded dependencies on libssl0.9.8 and libcrypto0.9.8-udeb,
since the required minimum versions are rather old now anyway and
openssl has bumped its SONAME (thanks, Julien Cristau; closes: #620828).
* Remove unreachable code from openssh-server.postinst.
* Correct ssh-keygen instruction in the changelog for 1:5.7p1-1 (thanks,
Joel Stanley).
* Allow ssh-add to read from FIFOs (thanks, Daniel Kahn Gillmor; closes:
#614897).
* Upload to unstable.
* New upstream release (http://www.openssh.com/txt/release-5.8):
- Fix stack information leak in legacy certificate signing
(http://www.openssh.com/txt/legacy-cert.adv).
* Fix crash in ssh_selinux_setfscreatecon when SELinux is disabled
(LP: #708571).
* New upstream release (http://www.openssh.com/txt/release-5.7):
- Implement Elliptic Curve Cryptography modes for key exchange (ECDH)
and host/user keys (ECDSA) as specified by RFC5656. ECDH and ECDSA
offer better performance than plain DH and DSA at the same equivalent
symmetric key length, as well as much shorter keys.
- sftp(1)/sftp-server(8): add a protocol extension to support a hard
link operation. It is available through the "ln" command in the
client. The old "ln" behaviour of creating a symlink is available
using its "-s" option or through the preexisting "symlink" command.
- scp(1): Add a new -3 option to scp: Copies between two remote hosts
are transferred through the local host (closes: #508613).
- ssh(1): "atomically" create the listening mux socket by binding it on
a temporary name and then linking it into position after listen() has
succeeded. This allows the mux clients to determine that the server
socket is either ready or stale without races (closes: #454784).
Stale server sockets are now automatically removed (closes: #523250).
- ssh(1): install a SIGCHLD handler to reap expired child process
(closes: #594687).
- ssh(1)/ssh-agent(1): honour $TMPDIR for client xauth and ssh-agent
temporary directories (closes: #357469, although only if you arrange
for ssh-agent to actually see $TMPDIR since the setgid bit will cause
it to be stripped off).
* Update to current GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-5.7p1-gsskex-all-20110125.patch:
- Add GSSAPIServerIdentity option.
* Generate ECDSA host keys on fresh installations. Upgraders who wish to
add such host keys should manually add 'HostKey
/etc/ssh/ssh_host_ecdsa_key' to /etc/ssh/sshd_config and run 'ssh-keygen
-q -f /etc/ssh/ssh_host_ecdsa_key -N "" -t ecdsa'.
* Build-depend on libssl-dev (>= 0.9.8g) to ensure sufficient ECC support.
* Backport SELinux build fix from CVS.
* Rearrange selinux-role.patch so that it links properly given this
SELinux build fix.
* Drop override for desktop-file-but-no-dh_desktop-call, which Lintian no
longer issues.
* Merge 1:5.5p1-6.
* Backport upstream patch to install a SIGCHLD handler to reap expired ssh
child processes, preventing lots of zombies when using ControlPersist
(closes: #594687).
* New upstream release (http://www.openssh.com/txt/release-5.6):
- Added a ControlPersist option to ssh_config(5) that automatically
starts a background ssh(1) multiplex master when connecting. This
connection can stay alive indefinitely, or can be set to automatically
close after a user-specified duration of inactivity (closes: #335697,
#350898, #454787, #500573, #550262).
- Support AuthorizedKeysFile, AuthorizedPrincipalsFile,
HostbasedUsesNameFromPacketOnly, and PermitTunnel in sshd_config(5)
Match blocks (closes: #549858).
- sftp(1): fix ls in working directories that contain globbing
characters in their pathnames (LP: #530714).
* Touch /var/run/sshd/.placeholder in the preinst so that /var/run/sshd,
which is intentionally no longer shipped in the openssh-server package
due to /var/run often being a temporary directory, is not removed on
upgrade (closes: #575582).
* Use an architecture wildcard for libselinux1-dev (closes: #591740).
* debconf template translations:
- Update Danish (thanks, Joe Hansen; closes: #592800).
[ Sebastian Andrzej Siewior ]
* Add powerpcspe to architecture list for libselinux1-dev build-dependency
(closes: #579843).
[ Colin Watson ]
* Allow ~/.ssh/authorized_keys and other secure files to be
group-writable, provided that the group in question contains only the
file's owner; this extends a patch previously applied to ~/.ssh/config
(closes: #581919).
* Check primary group memberships as well as supplementary group
memberships, and only allow group-writability by groups with exactly one
member, as zero-member groups are typically used by setgid binaries
rather than being user-private groups (closes: #581697).
* Discard error messages while checking whether rsh, rlogin, and rcp
alternatives exist (closes: #579285).
* Drop IDEA key check; I don't think it works properly any more due to
textual changes in error output, it's only relevant for direct upgrades
from truly ancient versions, and it breaks upgrades if
/etc/ssh/ssh_host_key can't be loaded (closes: #579570).
* Use dh_installinit -n, since our maintainer scripts already handle this
more carefully (thanks, Julien Cristau).
* New upstream release:
- Unbreak sshd_config's AuthorizedKeysFile option for $HOME-relative
paths.
- Include a language tag when sending a protocol 2 disconnection
message.
- Make logging of certificates used for user authentication more clear
and consistent between CAs specified using TrustedUserCAKeys and
authorized_keys.
* Borrow patch from Fedora to add DNSSEC support: if glibc 2.11 is
installed, the host key is published in an SSHFP RR secured with DNSSEC,
and VerifyHostKeyDNS=yes, then ssh will no longer prompt for host key
verification (closes: #572049).
* Convert to dh(1), and use dh_installdocs --link-doc.
* Drop lpia support, since Ubuntu no longer supports this architecture.
* Use dh_install more effectively.
* Add a NEWS.Debian entry about changes in smartcard support relative to
previous unofficial builds (closes: #231472).
* New upstream release (LP: #535029).
- After a transition period of about 10 years, this release disables SSH
protocol 1 by default. Clients and servers that need to use the
legacy protocol must explicitly enable it in ssh_config / sshd_config
or on the command-line.
- Remove the libsectok/OpenSC-based smartcard code and add support for
PKCS#11 tokens. This support is enabled by default in the Debian
packaging, since it now doesn't involve additional library
dependencies (closes: #231472, LP: #16918).
- Add support for certificate authentication of users and hosts using a
new, minimal OpenSSH certificate format (closes: #482806).
- Added a 'netcat mode' to ssh(1): "ssh -W host:port ...".
- Add the ability to revoke keys in sshd(8) and ssh(1). (For the Debian
package, this overlaps with the key blacklisting facility added in
openssh 1:4.7p1-9, but with different file formats and slightly
different scopes; for the moment, I've roughly merged the two.)
- Various multiplexing improvements, including support for requesting
port-forwardings via the multiplex protocol (closes: #360151).
- Allow setting an explicit umask on the sftp-server(8) commandline to
override whatever default the user has (closes: #496843).
- Many sftp client improvements, including tab-completion, more options,
and recursive transfer support for get/put (LP: #33378). The old
mget/mput commands never worked properly and have been removed
(closes: #270399, #428082).
- Do not prompt for a passphrase if we fail to open a keyfile, and log
the reason why the open failed to debug (closes: #431538).
- Prevent sftp from crashing when given a "-" without a command. Also,
allow whitespace to follow a "-" (closes: #531561).
* Fix 'debian/rules quilt-setup' to avoid writing .orig files if some
patches apply with offsets.
* Include debian/ssh-askpass-gnome.png in the Debian tarball now that
we're using a source format that permits this, rather than messing
around with uudecode.
* Drop compatibility with the old gssapi mechanism used in ssh-krb5 <<
3.8.1p1-1. Simon Wilkinson refused this patch since the old gssapi
mechanism was removed due to a serious security hole, and since these
versions of ssh-krb5 are no longer security-supported by Debian I don't
think there's any point keeping client compatibility for them.
* Fix substitution of ETC_PAM_D_SSH, following the rename in 1:4.7p1-4.
* Hardcode the location of xauth to /usr/bin/xauth rather than
/usr/bin/X11/xauth (thanks, Aron Griffis; closes: #575725, LP: #8440).
xauth no longer depends on x11-common, so we're no longer guaranteed to
have the /usr/bin/X11 symlink available. I was taking advantage of the
/usr/bin/X11 symlink to smooth X's move to /usr/bin, but this is far
enough in the past now that it's probably safe to just use /usr/bin.
* Remove SSHD_OOM_ADJUST configuration. sshd now unconditionally makes
itself non-OOM-killable, and doesn't require configuration to avoid log
spam in virtualisation containers (closes: #555625).
* Drop Debian-specific removal of OpenSSL version check. Upstream ignores
the two patchlevel nybbles now, which is sufficient to address the
original reason this change was introduced, and it appears that any
change in the major/minor/fix nybbles would involve a new libssl package
name. (We'd still lose if the status nybble were ever changed, but that
would mean somebody had packaged a development/beta version rather than
a proper release, which doesn't appear to be normal practice.)
* Drop most of our "LogLevel SILENT" (-qq) patch. This was originally
introduced to match the behaviour of non-free SSH, in which -q does not
suppress fatal errors, but matching the behaviour of OpenSSH upstream is
much more important nowadays. We no longer document that -q does not
suppress fatal errors (closes: #280609). Migrate "LogLevel SILENT" to
"LogLevel QUIET" in sshd_config on upgrade.
* Policy version 3.8.4:
- Add a Homepage field.
* Convert to source format 3.0 (quilt).
* Update README.source to match, and add a 'quilt-setup' target to
debian/rules for the benefit of those checking out the package from
revision control.
* All patches are now maintained separately and tagged according to DEP-3.
* Add GSSAPIStoreCredentialsOnRekey to 'sshd -T' configuration dump.
* Remove documentation of building for Debian 3.0 in README.Debian.
Support for this was removed in 1:4.7p1-2.
* Remove obsolete header from README.Debian dating from when people
expected non-free SSH.
* Update copyright years for GSSAPI patch.
* Link with -Wl,--as-needed (closes: #560155).
* Install upstream sshd_config as an example (closes: #415008).
* Use dh_lintian.
* Honour DEB_BUILD_OPTIONS=nocheck.
* New upstream release.
* Update to GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-5.3p1-gsskex-all-20100124.patch.
* Backport from upstream:
- Do not fall back to adding keys without constraints (ssh-add -c / -t
...) when the agent refuses the constrained add request. This was a
useful migration measure back in 2002 when constraints were new, but
just adds risk now (LP: #209447).
* Drop change from 1:3.8p1-3 to avoid setresuid() and setresgid() system
calls. This only applied to Linux 2.2, which it's no longer feasible to
run anyway (see 1:5.2p1-2 changelog).
[ Colin Watson ]
* Backport from upstream:
- After sshd receives a SIGHUP, ignore subsequent HUPs while sshd
re-execs itself. Prevents two HUPs in quick succession from resulting
in sshd dying (LP: #497781).
- Output a debug if we can't open an existing keyfile (LP: #505301).
* Use host compiler for ssh-askpass-gnome when cross-compiling.
* Don't run tests when cross-compiling.
* Drop change from 1:3.6.1p2-5 to disable cmsg_type check for file
descriptor passing when running on Linux 2.0. The previous stable
release of Debian dropped support for Linux 2.4, let alone 2.0, so this
very likely has no remaining users depending on it.
[ Kees Cook ]
* Implement DebianBanner server configuration flag that can be set to "no"
to allow sshd to run without the Debian-specific extra version in the
initial protocol handshake (closes: #562048).
* New upstream release (closes: #536182). Yes, I know 5.3p1 has been out
for a while, but there's no GSSAPI patch available for it yet.
- Change the default cipher order to prefer the AES CTR modes and the
revised "arcfour256" mode to CBC mode ciphers that are susceptible to
CPNI-957037 "Plaintext Recovery Attack Against SSH".
- Add countermeasures to mitigate CPNI-957037-style attacks against the
SSH protocol's use of CBC-mode ciphers. Upon detection of an invalid
packet length or Message Authentication Code, ssh/sshd will continue
reading up to the maximum supported packet length rather than
immediately terminating the connection. This eliminates most of the
known differences in behaviour that leaked information about the
plaintext of injected data which formed the basis of this attack
(closes: #506115, LP: #379329).
- ForceCommand directive now accepts commandline arguments for the
internal-sftp server (closes: #524423, LP: #362511).
- Add AllowAgentForwarding to available Match keywords list (closes:
#540623).
- Make ssh(1) send the correct channel number for
SSH2_MSG_CHANNEL_SUCCESS and SSH2_MSG_CHANNEL_FAILURE messages to
avoid triggering 'Non-public channel' error messages on sshd(8) in
openssh-5.1.
- Avoid printing 'Non-public channel' warnings in sshd(8), since the
ssh(1) has sent incorrect channel numbers since ~2004 (this reverts a
behaviour introduced in openssh-5.1; closes: #496017).
- Disable nonfunctional ssh(1) ~C escape handler in multiplex slave
connections (closes: #507541).
- Fix "whitepsace" typo in ssh_config(5) (closes: #514313, LP: #303835).
* Update to GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-5.2p1-gsskex-all-20090726.patch,
including cascading credentials support (LP: #416958).
* Use x11.pc when compiling/linking gnome-ssh-askpass2 (closes: #555951).
* Moved to bzr.debian.org; add Vcs-Bzr and Vcs-Browser control fields.
* Add debian/README.source with instructions on bzr handling.
* Make ChrootDirectory work with SELinux (thanks, Russell Coker; closes:
#556644).
* Initialise sc to NULL in ssh_selinux_getctxbyname (thanks, Václav OvsÃk;
closes: #498684).
* Don't duplicate backslashes when displaying server banner (thanks,
Michał Górny; closes: #505378, LP: #425346).
* Use hardening-includes for hardening logic (thanks, Kees Cook; closes:
#561887).
* Update OpenSSH FAQ to revision 1.110.
* Remove ssh/new_config, only needed for direct upgrades from potato which
are no longer particularly feasible anyway (closes: #420682).
* Cope with insserv reordering of init script links.
* Remove init script stop link in rc1, as killprocs handles it already.
* Adjust short descriptions to avoid relying on previous experience with
rsh, based on suggestions from Reuben Thomas (closes: #512198).
* Remove manual page references to login.conf, which aren't applicable on
non-BSD systems (closes: #154434).
* Remove/adjust manual page references to BSD-specific /etc/rc (closes:
#513417).
* Refer to sshd_config(5) rather than sshd(8) in postinst-written
/etc/ssh/sshd_config, and add UsePAM commentary from upstream-shipped
configuration file (closes: #415008, although unfortunately this will
only be conveniently visible on new installations).
* Include URL to OpenBSD's ssl(8) in ssh(1), since I don't see a better
source for the same information among Debian's manual pages (closes:
#530692, LP: #456660).
* Build with just -fPIC on mips/mipsel, not -fPIE as well (thanks, LIU Qi;
closes: #538313).
* Build-depend on libselinux1-dev on sh4 too (thanks, Nobuhiro Iwamatsu;
closes: #547103).
* Fix grammar in if-up script (closes: #549128).
* Pass $SSHD_OPTS when checking configuration too (thanks, "sobtwmxt";
closes: #548662).
* Update config.guess and config.sub from autotools-dev 20090611.1
(closes: #538301).
* Set umask to 022 in the init script as well as postinsts (closes:
#539030).
* Add ${misc:Depends} to keep Lintian happy.
* Use 'which' rather than 'type' in maintainer scripts.
* Upgrade to debhelper v7.
* Open /proc/self/oom_adj with O_RDONLY or O_WRONLY as necessary, rather
than O_RDWR.
* Disable OOM adjustment for vserver/OpenVZ (thanks, Karl Chen; closes:
#511771).
* Add ufw integration (thanks, Didier Roche; see
https://wiki.ubuntu.com/UbuntuFirewall#Integrating%20UFW%20with%20Packages;
LP: #261884).
* Add a comment above PermitRootLogin in sshd_config pointing to
README.Debian.
* Check if delgroup is present in openssh-client.postrm (closes: #530501).
* Build with -fPIC on mips/mipsel (thanks, Luk Claes; closes: #531942).
* Remove /var/run/sshd from openssh-server package; it will be created at
run-time before starting the server.
* Use invoke-rc.d in openssh-server's if-up script.
* Backport from upstream CVS (Markus Friedl):
- packet_disconnect() on padding error, too. Should reduce the success
probability for the CPNI-957037 Plaintext Recovery Attack to 2^-18.
* Check that /var/run/sshd.pid exists and that the process ID listed there
corresponds to sshd before running '/etc/init.d/ssh reload' from if-up
script; SIGHUP is racy if called at boot before sshd has a chance to
install its signal handler, but fortunately the pid file is written
after that which lets us avoid the race (closes: #502444).
* While the above is a valuable sanity-check, it turns out that it doesn't
really fix the bug (thanks to Kevin Price for testing), so for the
meantime we'll just use '/etc/init.d/ssh restart', even though it is
unfortunately heavyweight.
* ssh-copy-id: Strip trailing colons from hostname (closes: #226172,
LP: #249706; thanks to Karl Goetz for nudging this along; forwarded
upstream as https://bugzilla.mindrot.org/show_bug.cgi?id=1530).
* Backport from upstream CVS (Markus Friedl):
- Only send eow and no-more-sessions requests to openssh 5 and newer;
fixes interop problems with broken ssh v2 implementations (closes:
#495917).
* Fix double-free when failing to parse a forwarding specification given
using ~C (closes: #505330; forwarded upstream as
https://bugzilla.mindrot.org/show_bug.cgi?id=1539).
* Remove unnecessary ssh-vulnkey output in non-verbose mode when no
compromised or unknown keys were found (closes: #496495).
* Configure with --disable-strip; dh_strip will deal with stripping
binaries and will honour DEB_BUILD_OPTIONS (thanks, Bernhard R. Link;
closes: #498681).
* Fix handling of zero-length server banners (thanks, Tomas Mraz; closes:
#497026).
* Look for $SHELL on the path when executing ProxyCommands or
LocalCommands (closes: #492728).
* New upstream release (closes: #474301). Important changes not previously
backported to 4.7p1:
- 4.9/4.9p1 (http://www.openssh.com/txt/release-4.9):
+ Added chroot(2) support for sshd(8), controlled by a new option
"ChrootDirectory" (closes: #139047, LP: #24777).
+ Linked sftp-server(8) into sshd(8). The internal sftp server is used
when the command "internal-sftp" is specified in a Subsystem or
ForceCommand declaration. When used with ChrootDirectory, the
internal sftp server requires no special configuration of files
inside the chroot environment.
+ Added a protocol extension method "posix-rename@openssh.com" for
sftp-server(8) to perform POSIX atomic rename() operations; sftp(1)
prefers this if available (closes: #308561).
+ Removed the fixed limit of 100 file handles in sftp-server(8).
+ ssh(8) will now skip generation of SSH protocol 1 ephemeral server
keys when in inetd mode and protocol 2 connections are negotiated.
This speeds up protocol 2 connections to inetd-mode servers that
also allow Protocol 1.
+ Accept the PermitRootLogin directive in a sshd_config(5) Match
block. Allows for, e.g. permitting root only from the local network.
+ Reworked sftp(1) argument splitting and escaping to be more
internally consistent (i.e. between sftp commands) and more
consistent with sh(1). Please note that this will change the
interpretation of some quoted strings, especially those with
embedded backslash escape sequences.
+ Support "Banner=none" in sshd_config(5) to disable sending of a
pre-login banner (e.g. in a Match block).
+ ssh(1) ProxyCommands are now executed with $SHELL rather than
/bin/sh.
+ ssh(1)'s ConnectTimeout option is now applied to both the TCP
connection and the SSH banner exchange (previously it just covered
the TCP connection). This allows callers of ssh(1) to better detect
and deal with stuck servers that accept a TCP connection but don't
progress the protocol, and also makes ConnectTimeout useful for
connections via a ProxyCommand.
+ scp(1) incorrectly reported "stalled" on slow copies (closes:
#140828).
+ scp(1) date underflow for timestamps before epoch.
+ ssh(1) used the obsolete SIG DNS RRtype for host keys in DNS,
instead of the current standard RRSIG.
+ Correctly drain ACKs when a sftp(1) upload write fails midway,
avoids a fatal() exit from what should be a recoverable condition.
+ Fixed ssh-keygen(1) selective host key hashing (i.e. "ssh-keygen -HF
hostname") to not include any IP address in the data to be hashed.
+ Make ssh(1) skip listening on the IPv6 wildcard address when a
binding address of 0.0.0.0 is used against an old SSH server that
does not support the RFC4254 syntax for wildcard bind addresses.
+ Enable IPV6_V6ONLY socket option on sshd(8) listen socket, as is
already done for X11/TCP forwarding sockets (closes: #439661).
+ Fix FD leak that could hang a ssh(1) connection multiplexing master.
+ Make ssh(1) -q option documentation consistent with reality.
+ Fixed sshd(8) PAM support not calling pam_session_close(), or
failing to call it with root privileges (closes: #372680).
+ Fix activation of OpenSSL engine support when requested in configure
(LP: #119295).
+ Cache SELinux status earlier so we know if it's enabled after a
chroot (LP: #237557).
- 5.1/5.1p1 (http://www.openssh.com/txt/release-5.1):
+ Introduce experimental SSH Fingerprint ASCII Visualisation to ssh(1)
and ssh-keygen(1). Visual fingerprint display is controlled by a new
ssh_config(5) option "VisualHostKey". The intent is to render SSH
host keys in a visual form that is amenable to easy recall and
rejection of changed host keys.
+ sshd_config(5) now supports CIDR address/masklen matching in "Match
address" blocks, with a fallback to classic wildcard matching.
+ sshd(8) now supports CIDR matching in ~/.ssh/authorized_keys
from="..." restrictions, also with a fallback to classic wildcard
matching.
+ Added an extended test mode (-T) to sshd(8) to request that it write
its effective configuration to stdout and exit. Extended test mode
also supports the specification of connection parameters (username,
source address and hostname) to test the application of
sshd_config(5) Match rules.
+ ssh(1) now prints the number of bytes transferred and the overall
connection throughput for SSH protocol 2 sessions when in verbose
mode (previously these statistics were displayed for protocol 1
connections only).
+ sftp-server(8) now supports extension methods statvfs@openssh.com
and fstatvfs@openssh.com that implement statvfs(2)-like operations.
+ sftp(1) now has a "df" command to the sftp client that uses the
statvfs@openssh.com to produce a df(1)-like display of filesystem
space and inode utilisation (requires statvfs@openssh.com support on
the server).
+ Added a MaxSessions option to sshd_config(5) to allow control of the
number of multiplexed sessions supported over a single TCP
connection. This allows increasing the number of allowed sessions
above the previous default of 10, disabling connection multiplexing
(MaxSessions=1) or disallowing login/shell/subsystem sessions
entirely (MaxSessions=0).
+ Added a no-more-sessions@openssh.com global request extension that
is sent from ssh(1) to sshd(8) when the client knows that it will
never request another session (i.e. when session multiplexing is
disabled). This allows a server to disallow further session requests
and terminate the session in cases where the client has been
hijacked.
+ ssh-keygen(1) now supports the use of the -l option in combination
with -F to search for a host in ~/.ssh/known_hosts and display its
fingerprint.
+ ssh-keyscan(1) now defaults to "rsa" (protocol 2) keys, instead of
"rsa1" (LP: #129794).
+ Added an AllowAgentForwarding option to sshd_config(8) to control
whether authentication agent forwarding is permitted. Note that this
is a loose control, as a client may install their own unofficial
forwarder.
+ ssh(1) and sshd(8): avoid unnecessary malloc/copy/free when
receiving network data, resulting in a ~10% speedup.
+ ssh(1) and sshd(8) will now try additional addresses when connecting
to a port forward destination whose DNS name resolves to more than
one address. The previous behaviour was to try the only first
address and give up if that failed.
+ ssh(1) and sshd(8) now support signalling that channels are
half-closed for writing, through a channel protocol extension
notification "eow@openssh.com". This allows propagation of closed
file descriptors, so that commands such as "ssh -2 localhost od
/bin/ls | true" do not send unnecessary data over the wire.
+ sshd(8): increased the default size of ssh protocol 1 ephemeral keys
from 768 to 1024 bits.
+ When ssh(1) has been requested to fork after authentication ("ssh
-f") with ExitOnForwardFailure enabled, delay the fork until after
replies for any -R forwards have been seen. Allows for robust
detection of -R forward failure when using -f.
+ "Match group" blocks in sshd_config(5) now support negation of
groups. E.g. "Match group staff,!guests".
+ sftp(1) and sftp-server(8) now allow chmod-like operations to set
set[ug]id/sticky bits.
+ The MaxAuthTries option is now permitted in sshd_config(5) match
blocks.
+ Multiplexed ssh(1) sessions now support a subset of the ~ escapes
that are available to a primary connection.
+ ssh(1) connection multiplexing will now fall back to creating a new
connection in most error cases (closes: #352830).
+ Make ssh(1) deal more gracefully with channel requests that fail.
Previously it would optimistically assume that requests would always
succeed, which could cause hangs if they did not (e.g. when the
server runs out of file descriptors).
+ ssh(1) now reports multiplexing errors via the multiplex slave's
stderr where possible (subject to LogLevel in the mux master).
+ Fixed an UMAC alignment problem that manifested on Itanium
platforms.
* Remove our local version of moduli(5) now that there's one upstream.
* Say "GTK+" rather than "GTK" in ssh-askpass-gnome's description.
* Add lintian overrides for empty /usr/share/doc/openssh-client
directories in openssh-server and ssh (necessary due to being symlink
targets).
* Merge from Ubuntu:
- Add 'status' action to openssh-server init script, requiring lsb-base
(>= 3.2-13) (thanks, Dustin Kirkland).
* debconf template translations:
- Update Korean (thanks, Sunjae Park; closes: #484821).
* Add some helpful advice to the end of ssh-vulnkey's output if there are
unknown or compromised keys (thanks, Dan Jacobson; closes: #483756).
* Check compromised key blacklist in ssh or ssh-add, as well as in the
server (LP: #232391). To override the blacklist check in ssh
temporarily, use 'ssh -o UseBlacklistedKeys=yes'; there is no override
for the blacklist check in ssh-add.
* Add cross-references to ssh-vulnkey(1) to ssh(1), ssh-add(1),
ssh-keygen(1), and sshd(8) (closes: #484451).
* Change openssh-client-udeb's Installer-Menu-Item from 99900 to 99999
(thanks, Frans Pop).
* Drop openssh-client-udeb isinstallable hack, as main-menu (>= 1.26) now
takes care of that (thanks, Frans Pop; closes: #484404).
* Update DEB_BUILD_OPTIONS parsing code from policy 3.8.0.
* Add documentation on removing openssh-blacklist locally (see #484269).
* Clarify documentation of SSHD_OOM_ADJUST, and make setting it to the
empty string actually skip adjustment as intended (closes: #487325).
* Remove empty /usr/share/applications directory in ssh-askpass-gnome.
* debconf template translations:
- Update Romanian (thanks, Cătălin Feștilă; closes: #485415).
* Fill in CVE identifier for ssh-vulnkey bug fixed in 1:4.7p1-10.
* Refactor rejection of blacklisted user keys into a single
reject_blacklisted_key function in auth.c (thanks, Dmitry V. Levin).
* Fix memory leak of blacklisted host keys (thanks, Dmitry V. Levin).
* debconf template translations:
- Update Dutch (thanks, Bart Cornelis; closes: #483004).
- Update Brazilian Portuguese (thanks, Eder L. Marques; closes:
#483142).
- Update Slovak (thanks, Ivan Masár; closes: #483517).
* Make init script depend on $syslog, and fix some other dependency
glitches (thanks, Petter Reinholdtsen; closes: #481018).
* Remove 0 and 6 from Default-Stop in init script (thanks, Kel Modderman;
closes: #481151).
* Restore OOM killer adjustment for child processes (thanks, Vaclav Ovsik;
closes: #480020).
* Allow building with heimdal-dev (LP: #125805).
* Check RSA1 keys without the need for a separate blacklist. Thanks to
Simon Tatham for the idea.
* Generate two keys with the PID forced to the same value and test that
they differ, to defend against recurrences of the recent Debian OpenSSL
vulnerability.
* Recommend openssh-blacklist from openssh-client (closes: #481187).
* Recommend openssh-blacklist-extra from openssh-client and
openssh-server.
* Make ssh-vulnkey report the file name and line number for each key
(thanks, Heiko Schlittermann and Christopher Perry; closes: #481398).
* Check for blacklists in /usr/share/ssh/ as well as /etc/ssh/ (see
#481283).
* Log IP addresses of hosts attempting to use blacklisted keys (closes:
#481721).
* Incorporate various ssh-vulnkey suggestions from Hugh Daniel:
- Add -v (verbose) option, and don't print output for keys that have a
blacklist file but that are not listed unless in verbose mode.
- Move exit status documentation to a separate section.
- Document key status descriptions.
- Add key type to output.
- Fix error output if ssh-vulnkey fails to read key files, with the
exception of host keys unless -a was given.
- In verbose mode, output the name of each file examined.
* Handle leading IP addresses in ssh-vulnkey input (LP: #230497).
* Fix various ssh-vulnkey problems pointed out by Solar Designer:
- Fix some buffer handling inconsistencies.
- Use xasprintf to build user key file names, avoiding truncation
problems.
- Drop to the user's UID when reading user keys with -a.
- Use EUID rather than UID when run with no file names and without -a.
- Reword "Unknown (no blacklist information)" to "Unknown (blacklist
file not installed)".
* Fix typo in ssh/vulnerable_host_keys message (thanks, Esko Arajärvi).
* debconf template translations:
- Update Finnish (thanks, Esko Arajärvi; closes: #481530).
- Update French (thanks, Christian Perrier; closes: #481576).
- Update Norwegian Bokmål (thanks, Bjørn Steensrud; closes: #481591).
- Update Galician (thanks, Jacobo Tarrio; closes: #481596).
- Update Japanese (thanks, Kenshi Muto; closes: #481621).
- Update Czech (thanks, Miroslav Kure; closes: #481624).
- Update German (thanks, Helge Kreutzmann; closes: #481676).
- Update Portuguese (thanks, Ricardo Silva; closes: #481781).
- Update Basque (thanks, Piarres Beobide; closes: #481836).
- Update Bulgarian (thanks, Damyan Ivanov; closes: #481870).
- Update Vietnamese (thanks, Clytie Siddall; closes: #481876).
- Update Spanish (thanks, Javier Fernandez-Sanguino Peña; closes:
#482341).
- Update Turkish (thanks, Mert Dirik; closes: #482548).
- Update Russian (thanks, Yuri Kozlov; closes: #482887).
- Update Swedish (thanks, Martin Bagge; closes: #482464).
- Update Italian (thanks, Luca Monducci; closes: #482808).
* Add a FILES section to ssh-vulnkey(1) (thanks, Hugh Daniel).
* CVE-2008-2285: ssh-vulnkey handles options in authorized_keys
(LP: #230029), and treats # as introducing a comment even if it is
preceded by whitespace.
* Fill in CVE identifier for security vulnerability fixed in 1:4.7p1-8.
* Mitigate OpenSSL security vulnerability (CVE-2008-0166):
- Add key blacklisting support. Keys listed in
/etc/ssh/blacklist.TYPE-LENGTH will be rejected for authentication by
sshd, unless "PermitBlacklistedKeys yes" is set in
/etc/ssh/sshd_config.
- Add a new program, ssh-vulnkey, which can be used to check keys
against these blacklists.
- Depend on openssh-blacklist.
- Force dependencies on libssl0.9.8 / libcrypto0.9.8-udeb to at least
0.9.8g-9.
- Automatically regenerate known-compromised host keys, with a
critical-priority debconf note. (I regret that there was no time to
gather translations.)
* Fill in CVE identifier for security vulnerability fixed in 1:4.7p1-5.
* Rename KeepAlive to TCPKeepAlive in sshd_config, cleaning up from old
configurations (LP: #211400).
* Tweak scp's reporting of filenames in verbose mode to be a bit less
confusing with spaces (thanks, Nicolas Valcárcel; LP: #89945).
* Backport from 4.9p1:
- CVE-2008-1657: Ignore ~/.ssh/rc if a sshd_config ForceCommand is
specified.
- Add no-user-rc authorized_keys option to disable execution of
~/.ssh/rc.
* Backport from Simon Wilkinson's GSSAPI key exchange patch for 5.0p1:
- Add code to actually implement GSSAPIStrictAcceptorCheck, which had
somehow been omitted from a previous version of this patch (closes:
#474246).
* Ignore errors writing to oom_adj (closes: #473573).
* Disable the Linux kernel's OOM-killer for the sshd parent; tweak
SSHD_OOM_ADJUST in /etc/default/ssh to change this (closes: #341767).
* Recommends: xauth rather than Suggests: xbase-clients.
* Document in ssh(1) that '-S none' disables connection sharing
(closes: #471437).
* Patch from Red Hat / Fedora:
- CVE-2008-1483: Don't use X11 forwarding port which can't be bound on
all address families, preventing hijacking of X11 forwarding by
unprivileged users when both IPv4 and IPv6 are configured (closes:
#463011).
* Use printf rather than echo -en (a bashism) in openssh-server.config and
openssh-server.preinst.
* debconf template translations:
- Update Finnish (thanks, Esko Arajärvi; closes: #468563).
[ Caleb Case ]
* Fix configure detection of getseuserbyname and
get_default_context_with_level (closes: #465614, LP: #188136).
[ Colin Watson ]
* Include the autogenerated debian/copyright in the source package.
* Move /etc/pam.d/ssh to /etc/pam.d/sshd, allowing us to stop defining
SSHD_PAM_SERVICE (closes: #255870).
* Improve grammar of ssh-askpass-gnome description.
* Backport from upstream:
- Use the correct packet maximum sizes for remote port and agent
forwarding. Prevents the server from killing the connection if too
much data is queued and an excessively large packet gets sent
(https://bugzilla.mindrot.org/show_bug.cgi?id=1360).
* Allow passing temporary daemon parameters on the init script's command
line, e.g. '/etc/init.d/ssh start "-o PermitRootLogin=yes"' (thanks,
Marc Haber; closes: #458547).
* Adjust many relative links in faq.html to point to
http://www.openssh.com/ (thanks, Dan Jacobson; mentioned in #459807).
* Pass --with-mantype=doc to configure rather than build-depending on
groff (closes: #460121).
* Add armel to architecture list for libselinux1-dev build-dependency
(closes: #460136).
* Drop source-compatibility with Debian 3.0:
- Remove support for building with GNOME 1. This allows simplification
of our GNOME build-dependencies (see #460136).
- Remove hacks to support the old PAM configuration scheme.
- Remove compatibility for building without po-debconf.
* Build-depend on libgtk2.0-dev rather than libgnomeui-dev. As far as I
can see, the GTK2 version of ssh-askpass-gnome has never required
libgnomeui-dev.
* New upstream release (closes: #453367).
- CVE-2007-4752: Prevent ssh(1) from using a trusted X11 cookie if
creation of an untrusted cookie fails; found and fixed by Jan Pechanec
(closes: #444738).
- sshd(8) in new installations defaults to SSH Protocol 2 only. Existing
installations are unchanged.
- The SSH channel window size has been increased, and both ssh(1)
sshd(8) now send window updates more aggressively. These improves
performance on high-BDP (Bandwidth Delay Product) networks.
- ssh(1) and sshd(8) now preserve MAC contexts between packets, which
saves 2 hash calls per packet and results in 12-16% speedup for
arcfour256/hmac-md5.
- A new MAC algorithm has been added, UMAC-64 (RFC4418) as
"umac-64@openssh.com". UMAC-64 has been measured to be approximately
20% faster than HMAC-MD5.
- Failure to establish a ssh(1) TunnelForward is now treated as a fatal
error when the ExitOnForwardFailure option is set.
- ssh(1) returns a sensible exit status if the control master goes away
without passing the full exit status.
- When using a ProxyCommand in ssh(1), set the outgoing hostname with
gethostname(2), allowing hostbased authentication to work.
- Make scp(1) skip FIFOs rather than hanging (closes: #246774).
- Encode non-printing characters in scp(1) filenames. These could cause
copies to be aborted with a "protocol error".
- Handle SIGINT in sshd(8) privilege separation child process to ensure
that wtmp and lastlog records are correctly updated.
- Report GSSAPI mechanism in errors, for libraries that support multiple
mechanisms.
- Improve documentation for ssh-add(1)'s -d option.
- Rearrange and tidy GSSAPI code, removing server-only code being linked
into the client.
- Delay execution of ssh(1)'s LocalCommand until after all forwardings
have been established.
- In scp(1), do not truncate non-regular files.
- Improve exit message from ControlMaster clients.
- Prevent sftp-server(8) from reading until it runs out of buffer space,
whereupon it would exit with a fatal error (closes: #365541).
- pam_end() was not being called if authentication failed
(closes: #405041).
- Manual page datestamps updated (closes: #433181).
* Install the OpenSSH FAQ in /usr/share/doc/openssh-client.
- Includes documentation on copying files with colons using scp
(closes: #303453).
* Create /var/run/sshd on start even if /etc/ssh/sshd_not_to_be_run exists
(closes: #453285).
* Fix "overriden" typo in ssh(1) (thanks, A. Costa; closes: #390699).
* Refactor debian/rules configure and make invocations to make development
easier.
* Remove the hideously old /etc/ssh/primes on upgrade (closes: #123013).
* Update moduli(5) to revision 1.11 from OpenBSD CVS.
* Document the non-default options we set as standard in ssh_config(5) and
sshd_config(5) (closes: #327886, #345628).
* Recode LICENCE to UTF-8 when concatenating it to debian/copyright.
* Override desktop-file-but-no-dh_desktop-call lintian warning; the
.desktop file is intentionally not installed (see 1:3.8.1p1-10).
* Update copyright dates for Kerberos patch in debian/copyright.head.
* Policy version 3.7.3: no changes required.
* Don't build PIE executables on m68k (closes: #451192).
* Use autotools-dev's recommended configure --build and --host options.
* Adjust README.Debian to suggest mailing debian-ssh@lists.debian.org
rather than Matthew.
* Check whether deluser exists in postrm (closes: #454085).
* Remove blank line between head comment and first template in
debian/openssh-server.templates.master; apparently it confuses some
versions of debconf.
* Install authorized_keys(5) as a symlink to sshd(8) (thanks, Tomas
Pospisek; closes: #441817).
* Discard error output from dpkg-query in preinsts, in case the ssh
metapackage is not installed.
* Fix sshd/inittab advice in README.Debian to account for rc.d movement
(closes: #450632).
* Suppress error from debian/rules if lsb-release is not installed.
* Don't ignore errors from 'make -C contrib clean'.
* Adjust categories in ssh-askpass-gnome.desktop to comply with the
Desktop Menu Specification.
* debconf template translations:
- Add Slovak (thanks, Ivan Masár; closes: #441690).
- Update Brazilian Portuguese (thanks, Eder L. Marques;
closes: #447145).
* Identify ssh as a metapackage rather than a transitional package. It's
still useful as a quick way to install both the client and the server.
* ssh-copy-id now checks the exit status of ssh-add -L (thanks, Adeodato
Simó; closes: #221675).
* ssh-copy-id no longer prints the output of expr (thanks, Peter
Eisentraut; closes: #291534).
* ssh-copy-id defaults to ~/.ssh/id_rsa.pub rather than
~/.ssh/identity.pub, in line with ssh-keygen (thanks, Greg Norris;
closes: #234627).
* Build-depend on libselinux1-dev on lpia.
* openssh-client Suggests: keychain.
* debconf template translations:
- Update Catalan (thanks, Jordà Polo; closes: #431970).
* Don't build PIE executables on hppa, as they crash.
* Only build PIE executables on Linux and NetBSD (closes: #430455).
* Fix broken switch fallthrough when SELinux is running in permissive mode
(closes: #430838).
* Document that HashKnownHosts may break tab-completion (closes: #430154).
* Fix ordering of SYSLOG_LEVEL_QUIET and SYSLOG_LEVEL_FATAL.
* Clarify that 'ssh -q -q' still prints errors caused by bad arguments
(i.e. before the logging system is initialised).
* Suppress "Connection to <host> closed" and "Connection to master closed"
messages at loglevel SILENT (thanks, Jaap Eldering; closes: #409788).
* Suppress "Pseudo-terminal will not be allocated because stdin is not a
terminal" message at loglevels QUIET and SILENT (closes: #366814).
* Document the SILENT loglevel in sftp-server(8), ssh_config(5), and
sshd_config(5).
* Add try-restart action to init script.
* Add /etc/network/if-up.d/openssh-server to restart sshd when new
interfaces appear (LP: #103436).
* Backport from upstream:
- Move C/R -> kbdint special case to after the defaults have been
loaded, which makes ChallengeResponse default to yes again. This was
broken by the Match changes and not fixed properly subsequently
(closes: #428968).
- Silence spurious error messages from hang-on-exit fix
(http://bugzilla.mindrot.org/show_bug.cgi?id=1306, closes: #429531).
* New upstream release (closes: #395507, #397961, #420035). Important
changes not previously backported to 4.3p2:
- 4.4/4.4p1 (http://www.openssh.com/txt/release-4.4):
+ On portable OpenSSH, fix a GSSAPI authentication abort that could be
used to determine the validity of usernames on some platforms.
+ Implemented conditional configuration in sshd_config(5) using the
"Match" directive. This allows some configuration options to be
selectively overridden if specific criteria (based on user, group,
hostname and/or address) are met. So far a useful subset of
post-authentication options are supported and more are expected to
be added in future releases.
+ Add support for Diffie-Hellman group exchange key agreement with a
final hash of SHA256.
+ Added a "ForceCommand" directive to sshd_config(5). Similar to the
command="..." option accepted in ~/.ssh/authorized_keys, this forces
the execution of the specified command regardless of what the user
requested. This is very useful in conjunction with the new "Match"
option.
+ Add a "PermitOpen" directive to sshd_config(5). This mirrors the
permitopen="..." authorized_keys option, allowing fine-grained
control over the port-forwardings that a user is allowed to
establish.
+ Add optional logging of transactions to sftp-server(8).
+ ssh(1) will now record port numbers for hosts stored in
~/.ssh/known_hosts when a non-standard port has been requested
(closes: #50612).
+ Add an "ExitOnForwardFailure" option to cause ssh(1) to exit (with a
non-zero exit code) when requested port forwardings could not be
established.
+ Extend sshd_config(5) "SubSystem" declarations to allow the
specification of command-line arguments.
+ Replacement of all integer overflow susceptible invocations of
malloc(3) and realloc(3) with overflow-checking equivalents.
+ Many manpage fixes and improvements.
+ Add optional support for OpenSSL hardware accelerators (engines),
enabled using the --with-ssl-engine configure option.
+ Tokens in configuration files may be double-quoted in order to
contain spaces (closes: #319639).
+ Move a debug() call out of a SIGCHLD handler, fixing a hang when the
session exits very quickly (closes: #307890).
+ Fix some incorrect buffer allocation calculations (closes: #410599).
+ ssh-add doesn't ask for a passphrase if key file permissions are too
liberal (closes: #103677).
+ Likewise, ssh doesn't ask either (closes: #99675).
- 4.6/4.6p1 (http://www.openssh.com/txt/release-4.6):
+ sshd now allows the enabling and disabling of authentication methods
on a per user, group, host and network basis via the Match directive
in sshd_config.
+ Fixed an inconsistent check for a terminal when displaying scp
progress meter (closes: #257524).
+ Fix "hang on exit" when background processes are running at the time
of exit on a ttyful/login session (closes: #88337).
* Update to current GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-4.6p1-gsskex-20070312.patch;
install ChangeLog.gssapi.
* Build the .deb --with-ssl-engine (closes: #408027, LP: #119295).
* Use LSB functions in init scripts, and add an LSB-style header (partly
from Ubuntu and partly thanks to Christian Perrier; closes: #389038).
* Move init script start links to S16, move rc1 stop link to K84, and
remove rc0 and rc6 stop links altogether (the last part from Ubuntu;
closes: #122188).
* Emit a slightly more informative message from the init script if
/dev/null has somehow become not a character device (closes: #369964).
* Belatedly build-depend on zlib1g-dev (>= 1:1.2.3-1) (closes: #333447).
* Merge from Ubuntu:
- Build position-independent executables (only for debs, not for udebs)
to take advantage of address space layout randomisation.
- If building on Ubuntu, add /sbin, /usr/sbin, and /usr/local/sbin to
the default path.
* Use ${binary:Version} rather than ${Source-Version} in openssh-server ->
openssh-client dependency.
* It's been four and a half years now since I took over as "temporary"
maintainer, so the Maintainer field is getting a bit inaccurate. Set
Maintainer to debian-ssh@lists.debian.org and leave Matthew and myself
as Uploaders.
* Use dpkg-query to fetch conffile md5sums rather than parsing
/var/lib/dpkg/status directly.
* openssh-client Suggests: libpam-ssh (closes: #427840).
* Use 'start-stop-daemon --oknodo' so that openssh-server's init script
exits successfully if sshd is already running (closes: #426858).
* Apply results of debconf templates and package descriptions review by
debian-l10n-english (closes: #420107, #420742).
* debconf template translations:
- Update Dutch (thanks, Machteld de Kok; closes: #419260).
- Update Norwegian Bokmål (thanks, Bjørn Steensrud; closes: #420630).
- Update Galician (thanks, Jacobo Tarrio; closes: #420635).
- Update Spanish (thanks, Javier Fernández-Sanguino Peña;
closes: #420651).
- Update Swedish (thanks, Daniel Nylander; closes: #420663).
- Add Bulgarian (thanks, Damyan Ivanov; closes: #420703).
- Add Tamil (thanks, Tirumurti Vasudevan; closes: #420739).
- Update German (thanks, Helge Kreutzmann; closes: #420743).
- Update Japanese (thanks, Kenshi Muto; closes: #420946).
- Add Basque (thanks, Piarres Beobide; closes: #421238).
- Update Italian (thanks, Luca Monducci; closes: #421348).
- Update Czech (thanks, Miroslav Kure; closes: #421484).
- Update Romanian (thanks, Igor Stirbu; closes: #421760).
- Update Russian (thanks, Yuriy Talakan' and Sergey Alyoshin;
closes: #420862).
- Update Dutch (thanks, Bart Cornelis; closes: #422767).
- Update Portuguese (thanks, Ricardo Silva; closes: #423112).
- Update French (thanks, Christian Perrier).
- Add Korean (thanks, Sunjae Park; closes: #424008).
- Update Vietnamese (thanks, Clytie Siddall; closes: #426991).
* Multiply openssh-client-udeb's Installer-Menu-Item by 100.
* Increase MAX_SESSIONS to 64.
[ Russ Allbery ]
* Fix GSSAPIKeyExchange configuration file handling logic in ssh-krb5
(closes: #404863).
* Fix uncommenting of GSSAPI options by ssh-krb5 (closes: #407766).
[ Colin Watson ]
* debconf template translations:
- Add Norwegian Bokmål (thanks, Bjørn Steensrud; closes: #412330).
[ Vincent Untz ]
* Give the ssh-askpass-gnome window a default icon; remove unnecessary
icon extension from .desktop file (closes:
https://launchpad.net/bugs/27152).
[ Colin Watson ]
* Drop versioning on ssh/ssh-krb5 Replaces, as otherwise it isn't
sufficient to replace conffiles (closes: #402804).
* Make GSSAPICleanupCreds a compatibility alias for
GSSAPICleanupCredentials. Mark GSSUseSessionCCache and
GSSAPIUseSessionCredCache as known-but-unsupported options, and migrate
away from them on upgrade.
* It turns out that the people who told me that removing a conffile in the
preinst was sufficient to have dpkg replace it without prompting when
moving a conffile between packages were very much mistaken. As far as I
can tell, the only way to do this reliably is to write out the desired
new text of the conffile in the preinst. This is gross, and requires
shipping the text of all conffiles in the preinst too, but there's
nothing for it. Fortunately this nonsense is only required for smooth
upgrades from sarge.
* debconf template translations:
- Add Romanian (thanks, Stan Ioan-Eugen; closes: #403528).
[ Colin Watson ]
* Ignore errors from usermod when changing sshd's shell, since it will
fail if the sshd user is not local (closes: #398436).
* Remove version control tags from /etc/ssh/moduli and /etc/ssh/ssh_config
to avoid unnecessary conffile resolution steps for administrators
(thanks, Jari Aalto; closes: #335259).
* Fix quoting error in configure.ac and regenerate configure (thanks, Ben
Pfaff; closes: #391248).
* When installing openssh-client or openssh-server from scratch, remove
any unchanged conffiles from the pre-split ssh package to work around a
bug in sarge's dpkg (thanks, Justin Pryzby and others; closes: #335276).
[ Russ Allbery ]
* Create transitional ssh-krb5 package which enables GSSAPI configuration
in sshd_config (closes: #390986).
* Default client to attempting GSSAPI authentication.
* Remove obsolete GSSAPINoMICAuthentication from sshd_config if it's
found.
* Add ssh -K option, the converse of -k, to enable GSSAPI credential
delegation (closes: #401483).
* Acknowledge NMU (thanks, Manoj; closes: #394795).
* Backport from 4.5p1:
- Fix a bug in the sshd privilege separation monitor that weakened its
verification of successful authentication. This bug is not known to be
exploitable in the absence of additional vulnerabilities.
* openssh-server Suggests: molly-guard (closes: #395473).
* debconf template translations:
- Update German (thanks, Helge Kreutzmann; closes: #395947).
* NMU to update SELinux patch, bringing it in line with current selinux
releases. The patch for this NMU is simply the Bug#394795 patch,
and no other changes. (closes: #394795)
* Remove ssh/insecure_telnetd check altogether (closes: #391081).
* debconf template translations:
- Update Danish (thanks, Claus Hindsgaul; closes: #390612).
* Backport from 4.4p1 (since I don't have an updated version of the GSSAPI
patch yet):
- CVE-2006-4924: Fix a pre-authentication denial of service found by
Tavis Ormandy, that would cause sshd(8) to spin until the login grace
time expired (closes: #389995).
- CVE-2006-5051: Fix an unsafe signal hander reported by Mark Dowd. The
signal handler was vulnerable to a race condition that could be
exploited to perform a pre-authentication denial of service. On
portable OpenSSH, this vulnerability could theoretically lead to
pre-authentication remote code execution if GSSAPI authentication is
enabled, but the likelihood of successful exploitation appears remote.
* Read /etc/default/locale as well as /etc/environment (thanks, Raphaël
Hertzog; closes: #369395).
* Remove no-longer-used ssh/insecure_rshd debconf template.
* Make ssh/insecure_telnetd Type: error (closes: #388946).
* debconf template translations:
- Update Portuguese (thanks, Rui Branco; closes: #381942).
- Update Spanish (thanks, Javier Fernández-Sanguino Peña;
closes: #382966).
* Document KeepAlive->TCPKeepAlive renaming in sshd_config(5) (closes:
https://launchpad.net/bugs/50702).
* Change sshd user's shell to /usr/sbin/nologin (closes: #366541).
Introduces dependency on passwd for usermod.
* debconf template translations:
- Update French (thanks, Denis Barbier; closes: #368503).
- Update Dutch (thanks, Bart Cornelis; closes: #375100).
- Update Japanese (thanks, Kenshi Muto; closes: #379950).
* Include commented-out pam_access example in /etc/pam.d/ssh.
* On '/etc/init.d/ssh restart', create /var/run/sshd before checking the
server configuration, as otherwise 'sshd -t' will complain about the
lack of /var/run/sshd (closes: https://launchpad.net/bugs/45234).
* debconf template translations:
- Update Russian (thanks, Yuriy Talakan'; closes: #367143).
- Update Czech (thanks, Miroslav Kure; closes: #367161).
- Update Italian (thanks, Luca Monducci; closes: #367186).
- Update Galician (thanks, Jacobo Tarrio; closes: #367318).
- Update Swedish (thanks, Daniel Nylander; closes: #367971).
* New upstream release (closes: #361032).
- CVE-2006-0225: scp (as does rcp, on which it is based) invoked a
subshell to perform local to local, and remote to remote copy
operations. This subshell exposed filenames to shell expansion twice;
allowing a local attacker to create filenames containing shell
metacharacters that, if matched by a wildcard, could lead to execution
of attacker-specified commands with the privilege of the user running
scp (closes: #349645).
- Add support for tunneling arbitrary network packets over a connection
between an OpenSSH client and server via tun(4) virtual network
interfaces. This allows the use of OpenSSH (4.3+) to create a true VPN
between the client and server providing real network connectivity at
layer 2 or 3. This feature is experimental.
- Reduce default key length for new DSA keys generated by ssh-keygen
back to 1024 bits. DSA is not specified for longer lengths and does
not fully benefit from simply making keys longer. As per FIPS 186-2
Change Notice 1, ssh-keygen will refuse to generate a new DSA key
smaller or larger than 1024 bits.
- Fixed X forwarding failing to start when the X11 client is executed in
background at the time of session exit.
- Change ssh-keygen to generate a protocol 2 RSA key when invoked
without arguments (closes: #114894).
- Fix timing variance for valid vs. invalid accounts when attempting
Kerberos authentication.
- Ensure that ssh always returns code 255 on internal error
(closes: #259865).
- Cleanup wtmp files on SIGTERM when not using privsep.
- Set SO_REUSEADDR on X11 listeners to avoid problems caused by
lingering sockets from previous session (X11 applications can
sometimes not connect to 127.0.0.1:60xx) (closes:
https://launchpad.net/bugs/25528).
- Ensure that fds 0, 1 and 2 are always attached in all programs, by
duping /dev/null to them if necessary.
- Xauth list invocation had bogus "." argument.
- Remove internal assumptions on key exchange hash algorithm and output
length, preparing OpenSSH for KEX methods with alternate hashes.
- Ignore junk sent by a server before it sends the "SSH-" banner.
- Many manual page improvements.
- Lots of cleanups, including fixes to memory leaks on error paths and
possible crashes.
* Update to current GSSAPI patch from
http://www.sxw.org.uk/computing/patches/openssh-4.3p2-gsskex-20060223.patch
(closes: #352042).
* debian/rules: Resynchronise CFLAGS with that generated by configure.
* Restore pam_nologin to /etc/pam.d/ssh; sshd no longer checks this itself
when PAM is enabled, but relies on PAM to do it.
* Rename KeepAlive to TCPKeepAlive in default sshd_config
(closes: #349896).
* Rephrase ssh/new_config and ssh/encrypted_host_key_but_no_keygen debconf
templates to make boolean short descriptions end with a question mark
and to avoid use of the first person.
* Ship README.tun.
* Policy version 3.7.2: no changes required.
* debconf template translations:
- Update Italian (thanks, Luca Monducci; closes: #360348).
- Add Galician (thanks, Jacobo Tarrio; closes: #361220).
[ Frans Pop ]
* Use udeb support introduced in debhelper 4.2.0 (available in sarge)
rather than constructing udebs by steam.
* Require debhelper 5.0.22, which generates correct shared library
dependencies for udebs (closes: #360068). This build-dependency can be
ignored if building on sarge.
[ Colin Watson ]
* Switch to debhelper compatibility level 4, since we now require
debhelper 4 even on sarge anyway for udeb support.
* I accidentally applied the default $PATH change in 1:4.2p1-6 to the udeb
rather than the deb. Fixed.
* Sync default values of $PATH from shadow 1:4.0.12-6, adding /usr/bin/X11
to the normal and superuser paths and /usr/games to the normal path.
* When the client receives a signal, don't fatal() with "Killed by signal
%d." (which produces unhelpful noise on stderr and causes confusion for
users of some applications that wrap ssh); instead, generate a debug
message and exit with the traditional status (closes: #313371).
* debconf template translations:
- Add Swedish (thanks, Daniel Nylander; closes: #333133).
- Update Spanish (thanks, Javier Fernández-Sanguino Peña;
closes: #341371).
- Correct erroneously-changed Last-Translator headers in Greek and
Spanish translations.
* Add a CVE name to the 1:4.0p1-1 changelog entry.
* Build-depend on libselinux1-dev on armeb.
* Only send GSSAPI proposal if GSSAPIAuthentication is enabled.
* Build-depend on libssl-dev (>= 0.9.8-1) to cope with surprise OpenSSL
transition, since otherwise who knows what the buildds will do. If
you're building openssh yourself, you can safely ignore this and use an
older libssl-dev.
* Initialise token to GSS_C_EMPTY_BUFFER in ssh_gssapi_check_mechanism
(closes: #328606).
* Add prototype for ssh_gssapi_server_mechanisms (closes: #328372).
* Interoperate with ssh-krb5 << 3.8.1p1-1 servers, which used a slightly
different version of the gssapi authentication method (thanks, Aaron M.
Ucko; closes: #328388).
* Explicitly tell po2debconf to use the 'popular' output encoding, so that
the woody-compatibility hack works even with po-debconf 0.9.0.
* Annotate 1:4.2p1-1 changelog with CVE references.
* Add remaining pieces of Kerberos support (closes: #152657, #275472):
- Add GSSAPI key exchange support from
http://www.sxw.org.uk/computing/patches/openssh.html (thanks, Stephen
Frost).
- Build-depend on libkrb5-dev and configure --with-kerberos5=/usr.
- openssh-client and openssh-server replace ssh-krb5.
- Update commented-out Kerberos/GSSAPI options in default sshd_config.
- Fix HAVE_GSSAPI_KRB5_H/HAVE_GSSAPI_GSSAPI_KRB5_H typos in
gss-serv-krb5.c.
* New upstream release.
- SECURITY (CAN-2005-2797): Fix a bug introduced in OpenSSH 4.0 that
caused GatewayPorts to be incorrectly activated for dynamic ("-D")
port forwardings when no listen address was explicitly specified
(closes: #326065).
- SECURITY (CAN-2005-2798): Fix improper delegation of GSSAPI
credentials. This code is only built in openssh-krb5, not openssh, but
I mention the CVE reference here anyway for completeness.
- Add a new compression method ("Compression delayed") that delays zlib
compression until after authentication, eliminating the risk of zlib
vulnerabilities being exploited by unauthenticated users. Note that
users of OpenSSH versions earlier than 3.5 will need to disable
compression on the client or set "Compression yes" (losing this
security benefit) on the server.
- Increase the default size of new RSA/DSA keys generated by ssh-keygen
from 1024 to 2048 bits (closes: #181162).
- Many bugfixes and improvements to connection multiplexing.
- Don't pretend to accept $HOME (closes: #208648).
* debian/rules: Resynchronise CFLAGS with that generated by configure.
* openssh-client and openssh-server conflict with pre-split ssh to avoid
problems when ssh is left un-upgraded (closes: #324695).
* Set X11Forwarding to yes in the default sshd_config (new installs only).
At least when X11UseLocalhost is turned on, which is the default, the
security risks of using X11 forwarding are risks to the client, not to
the server (closes: #320104).
* Do the IDEA host key check on a temporary file to avoid altering
/etc/ssh/ssh_host_key itself (closes: #312312).
* Work around the ssh-askpass alternative somehow ending up in manual mode
pointing to the obsolete /usr/lib/ssh/gnome-ssh-askpass.
* Add GNU/kFreeBSD support (thanks, Aurelien Jarno; closes: #318113).
* Fix XSIish uses of 'test' in openssh-server.preinst.
* Policy version 3.6.2: no changes required.
* Fix one-character typo that meant the binaries in openssh-client and
openssh-server got recompiled with the wrong options during
'debian/rules install' (closes: #317088, #317238, #317241).
* Build-depend on libselinux1-dev on ppc64 too (closes: #314625).
* Drop priority of ssh to extra to match the override file.
* Make /usr/share/doc/openssh-server and /usr/share/doc/ssh symlinks to
/usr/share/doc/openssh-client (closes: #314745).
* Ship README.dns (closes: #284874).
* Disable btmp logging, since Debian's /var/log/btmp has inappropriate
permissions (closes: #314956).
* Allow ~/.ssh/config to be group-writable, provided that the group in
question contains only the file's owner (closes: #314347).
* debconf template translations:
- Update Brazilian Portuguese (thanks, André LuÃs Lopes;
closes: #315477).
- Add Vietnamese (thanks, Clytie Siddall; closes: #316636).
* openssh-client and openssh-server conflict with ssh-krb5, as ssh-krb5
only conflicts with ssh (closes: #312475).
* SELinux support (thanks, Manoj Srivastava; closes: #308555):
- Added SELinux capability, and turned it on be default. Added
restorecon calls in preinst and postinst (should not matter if the
machine is not SELinux aware). By and large, the changes made should
have no effect unless the rules file calls --with-selinux; and even
then there should be no performance hit for machines not actively
running SELinux.
- Modified the preinst and postinst to call restorecon to set the
security context for the generated public key files.
- Added a comment to /etc/pam.d/ssh to indicate that an SELinux system
may want to also include pam_selinux.so.
* Re-enable ssh-askpass-gnome on the Hurd, now that its build-dependencies
are available.
* Restore /usr/lib/sftp-server temporarily, as a symlink to
/usr/lib/openssh/sftp-server (closes: #312891).
* Switch to debhelper compatibility level 3, since 2 is deprecated.
* debconf template translations:
- Update German (thanks, Jens Seidel; closes: #313949).
* Upload to unstable.
* Drop debconf support for allowing SSH protocol 1, which is discouraged
and has not been the default since openssh 1:3.0.1p1-1. Users who need
this should edit sshd_config instead (closes: #147212).
* Since ssh-keysign isn't used by default (you need to set
EnableSSHKeysign to "yes" in /etc/ssh/ssh_config), having a debconf
question to ask whether it should be setuid is overkill, and the
question text had got out of date anyway. Remove this question, ship
ssh-keysign setuid in openssh-client.deb, and set a statoverride if the
debconf question was previously set to false.
* Add lintian overrides for the above (setuid-binary,
no-debconf-templates).
* Fix picky lintian errors about slogin symlinks.
* Fix DEB_HOST_ARCH_OS/DEB_HOST_GNU_SYSTEM compatibility handling.
* Apply Linux 2.2 workaround (see #239999) only on Linux.
* New upstream release.
- Normalise socket addresses returned by get_remote_hostname(), fixing
4-in-6 mapping issues with AllowUsers et al (closes: #192234).
* Take upstream's hint and disable the unsupported USE_POSIX_THREADS
(closes: #295757, #308868, and possibly others; may open other bugs).
Use PAM password authentication to avoid #278394. In future I may
provide two sets of binaries built with and without this option, since
it seems I can't win.
* Disable ChallengeResponseAuthentication in new installations, returning
to PasswordAuthentication by default, since it now supports PAM and
apparently works better with a non-threaded sshd (closes: #247521).
* openssh-server Suggests: rssh (closes: #233012).
* Change libexecdir to /usr/lib/openssh, and fix up various alternatives
and configuration files to match (closes: #87900, #151321).
* Fix up very old sshd_config files that refer to /usr/libexec/sftp-server
(closes: #141979).
* New upstream release.
- Port-forwarding specifications now take optional bind addresses, and
the server allows client-specified bind addresses for remote port
forwardings when configured with "GatewayPorts clientspecified"
(closes: #87253, #192206).
- ssh and ssh-keyscan now support hashing of known_hosts files for
improved privacy (CAN-2005-2666). ssh-keygen has new options for
managing known_hosts files, which understand hashing.
- sftp supports command history and editing support using libedit
(closes: #287013).
- Have scp and sftp wait for the spawned ssh to exit before they exit
themselves, allowing ssh to restore terminal modes (closes: #257130).
- Improved the handling of bad data in authorized_keys files,
eliminating fatal errors on corrupt or very large keys; e.g. linefeeds
in keys only produce errors in auth.log now (closes: #220726).
- Add "command mode" to ssh connection multiplexing (closes: #303452).
- Mention $HOME/.hushlogin in sshd(8) FILES section (closes: #163933).
* Make gnome-ssh-askpass stay above other windows (thanks, Liyang HU;
closes: #296487).
* Remove obsolete and unnecessary ssh/forward_warning debconf note.
* Hurd build fixes (although sshd still doesn't work):
- Restore X forwarding fix from #102991, lost somewhere along the way.
- Link with -lcrypt.
- Link with -lpthread rather than -pthread.
- Don't build ssh-askpass-gnome on the Hurd, until GNOME is available to
satisfy build-dependencies.
* Drop workaround for #242462 on amd64; it's been fixed properly upstream.
* Enable HashKnownHosts by default. This only affects new entries; use
'ssh-keygen -H' to convert an entire known_hosts file to hashed format.
* Note in ssh_config(5) that the SetupTimeOut option is Debian-specific
(closes: #307069).
* debconf template translations:
- Update Czech (thanks, Miroslav Kure; closes: #298744).
- Update Finnish (thanks, Matti Pöllä; closes: #303787).
- Synchronise Spanish with sarge branch (thanks, Javier
Fernández-Sanguino Peña; closes: #298536).
- Add Ukrainian (thanks, Eugeniy Meshcheryakov; closes: #301852).
* Explain how to run sshd from inittab in README.Debian (closes: #147360).
* Add debian/watch file.
* Remove pam_nologin from /etc/pam.d/ssh, as sshd's built-in support
appears to be sufficient and more useful (closes: #162996).
* Depend on debconf | debconf-2.0.
* Drop LoginGraceTime back to the upstream default of two minutes on new
installs (closes: #289573).
* debconf template translations from Ubuntu bug #1232:
- Update Greek (thanks, Logiotatidis George).
- Update Spanish (thanks, Santiago Erquicia).
* New upstream release.
- PAM password authentication implemented again (closes: #238699,
#242119).
- Implemented the ability to pass selected environment variables between
the client and the server.
- Fix ssh-keyscan breakage when remote server doesn't speak SSH protocol
(closes: #228828).
- Fix res_query detection (closes: #242462).
- 'ssh -c' documentation improved (closes: #265627).
* Pass LANG and LC_* environment variables from the client by default, and
accept them to the server by default in new installs, although not on
upgrade (closes: #264024).
* Build ssh in binary-indep, not binary-arch (thanks, LaMont Jones).
* Expand on openssh-client package description (closes: #273831).
* We use DH_COMPAT=2, so build-depend on debhelper (>= 2).
* Fix timing information leak allowing discovery of invalid usernames in
PAM keyboard-interactive authentication (backported from a patch by
Darren Tucker; closes: #281595).
* Make sure that there's a delay in PAM keyboard-interactive
authentication when PermitRootLogin is not set to yes and the correct
root password is entered (closes: #248747).
* Enable threading for PAM, on Sam Hartman's advice (closes: #278394).
* debconf template translations:
- Update Dutch (thanks, cobaco; closes: #278715).
* Correct README.Debian's ForwardX11Trusted description (closes: #280190).
* Preserve /etc/ssh/sshd_config ownership/permissions (closes: #276754).
* Shorten the version string from the form "OpenSSH_3.8.1p1 Debian
1:3.8.1p1-8.sarge.1" to "OpenSSH_3.8.1p1 Debian-8.sarge.1", as some SSH
implementations apparently have problems with the long version string.
This is of course a bug in those implementations, but since the extent
of the problem is unknown it's best to play safe (closes: #275731).
* debconf template translations:
- Add Finnish (thanks, Matti Pöllä; closes: #265339).
- Update Danish (thanks, Morten Brix Pedersen; closes: #275895).
- Update French (thanks, Denis Barbier; closes: #276703).
- Update Japanese (thanks, Kenshi Muto; closes: #277438).
* Move sshd_config(5) to openssh-server, where it belongs.
* If PasswordAuthentication is disabled, then offer to disable
ChallengeResponseAuthentication too. The current PAM code will attempt
password-style authentication if ChallengeResponseAuthentication is
enabled (closes: #250369).
* This will ask a question of anyone who installed fresh with 1:3.8p1-2 or
later and then upgraded. Sorry about that ... for this reason, the
default answer is to leave ChallengeResponseAuthentication enabled.
* Don't install the ssh-askpass-gnome .desktop file by default; I've had
too many GNOME people tell me it's the wrong thing to be doing. I've
left it in /usr/share/doc/ssh-askpass-gnome/examples/ for now.
* Split the ssh binary package into openssh-client and openssh-server
(closes: #39741). openssh-server depends on openssh-client for some
common functionality; it didn't seem worth creating yet another package
for this. openssh-client is priority standard, openssh-server optional.
* New transitional ssh package, priority optional, depending on
openssh-client and openssh-server. May be removed once nothing depends
on it.
* When upgrading from ssh to openssh-{client,server}, it's very difficult
for the maintainer scripts to find out what version we're upgrading from
without dodgy dpkg hackery. I've therefore taken the opportunity to move
a couple of debconf notes into NEWS files, namely ssh/ssh2_keys_merged
and ssh/user_environment_tell.
* Add a heuristic to try to make sure the sshd_config upgrade to >= 3.7
happens even though we don't know what version we're upgrading from.
* Remove /etc/ssh/sshd_not_to_be_run on purge of openssh-server. For now
(until sarge+2) it's still honoured to avoid breaking existing
configurations, but the right approach is now to remove the
openssh-server package if you don't want to run the server. Add a NEWS
item to that effect.
* Fix timing information leak allowing discovery of invalid usernames in
PAM keyboard-interactive authentication (backported from a patch by
Darren Tucker; closes: #281595).
* Make sure that there's a delay in PAM keyboard-interactive
authentication when PermitRootLogin is not set to yes and the correct
root password is entered (closes: #248747).
* Enable threading for PAM, on Sam Hartman's advice (closes: #278394).
* debconf template translations:
- Update Dutch (thanks, cobaco; closes: #278715).
* Correct README.Debian's ForwardX11Trusted description (closes: #280190).
* Preserve /etc/ssh/sshd_config ownership/permissions (closes: #276754).
* Shorten the version string from the form "OpenSSH_3.8.1p1 Debian
1:3.8.1p1-8.sarge.1" to "OpenSSH_3.8.1p1 Debian-8.sarge.1", as some SSH
implementations apparently have problems with the long version string.
This is of course a bug in those implementations, but since the extent
of the problem is unknown it's best to play safe (closes: #275731).
* debconf template translations:
- Add Finnish (thanks, Matti Pöllä; closes: #265339).
- Update Danish (thanks, Morten Brix Pedersen; closes: #275895).
- Update French (thanks, Denis Barbier; closes: #276703).
- Update Japanese (thanks, Kenshi Muto; closes: #277438).
* If PasswordAuthentication is disabled, then offer to disable
ChallengeResponseAuthentication too. The current PAM code will attempt
password-style authentication if ChallengeResponseAuthentication is
enabled (closes: #250369).
* This will ask a question of anyone who installed fresh with 1:3.8p1-2 or
later and then upgraded. Sorry about that ... for this reason, the
default answer is to leave ChallengeResponseAuthentication enabled.
* Matthew Vernon:
- Add a GPL exception to the licensing terms of the Debian patch
(closes: #211644).
* Re-enable shadow password support in openssh-server-udeb, at Bastian
Blank's request (closes: #260800).
* Implement hack in
http://lists.debian.org/debian-boot/2004/07/msg01207.html to get
openssh-client-udeb to show up as a retrievable debian-installer
component.
* Generate host keys in postinst only if the relevant HostKey directives
are found in sshd_config (closes: #87946).
* Update German debconf template translation (thanks, Helge Kreutzmann;
closes: #252226).
* Remove Suggests: dnsutils, as it was only needed for
make-ssh-known-hosts (#93265), which has been replaced by ssh-keyscan.
* Disable shadow password support in openssh-server-udeb.
* Fix non-portable shell constructs in maintainer scripts, Makefile, and
ssh-copy-id (thanks, David Weinehall; closes: #258517).
* Apply patch from Darren Tucker to make the PAM authentication SIGCHLD
handler kill the PAM thread if its waitpid() call returns 0, as well as
the previous check for -1 (closes: #252676).
* Add scp and sftp to openssh-client-udeb. It might not be very 'u' any
more; oh well.
* Kill off PAM thread if privsep slave dies (closes: #248125).
* Add ssh-keygen to openssh-server-udeb.
* Add Catalan debconf template translation (thanks, Aleix Badia i Bosch;
closes: #248748).
* openssh-client-udeb and openssh-server-udeb depend on libnss-files-udeb
(not yet uploaded).
* Restore ssh-askpass-gnome binary, lost by mistake.
* Don't link against libnsl in udeb builds.
* New upstream release.
- Use a longer buffer for tty names in utmp (closes: #247538).
* Make sure there's a newline at the end of sshd_config before adding
'UsePAM yes' (closes: #244829).
* Generate a new .orig.tar.gz without RFC.nroff, and remove
/usr/share/doc/ssh/RFC.gz (closes: #211640). It isn't DFSG-free and only
documents the obsolete SSH1 protocol, not to mention that it was never a
real RFC but only an Internet-Draft. It's available from
http://www.free.lp.se/bamse/draft-ylonen-ssh-protocol-00.txt if you want
it for some reason.
* Add openssh-client-udeb and openssh-server-udeb binary packages for use
in debian-installer. They still need libnss_files to be supplied in udeb
form by glibc.
* Work around lack of res_query weak alias in libresolv on amd64 (see
#242462, awaiting real fix upstream).
* Fix grammar in sshd(8) (closes: #238753).
* Add .desktop file and icon for ssh-askpass-gnome (closes: #232333).
* Update Polish debconf template translation (thanks, Emil Nowak;
closes: #242808).
* Add Turkish debconf template translation (thanks, Recai OktaÅŸ;
closes: #246068).
* Remove deprecated ReverseMappingCheck option from newly generated
sshd_config files (closes: #239987).
* Build everything apart from contrib in a subdirectory, to allow for
multiple builds.
* Some older kernels are missing setresuid() and setresgid(), so don't try
to use them. setreuid() and setregid() will do well enough for our
purposes (closes: #239999).
* Disable PasswordAuthentication for new installations (closes: #236810).
* Turn off the new ForwardX11Trusted by default, returning to the
semantics of 3.7 and earlier, since it seems immature and causes far too
many problems with existing setups. See README.Debian for details
(closes: #237021).
* New upstream release (closes: #232281):
- New PAM implementation based on that in FreeBSD. This runs PAM session
modules before dropping privileges (closes: #132681, #150968).
- Since PAM session modules are run as root, we can turn pam_limits back
on by default, and it no longer spits out "Operation not permitted" to
syslog (closes: #171673).
- Password expiry works again (closes: #153235).
- 'ssh -q' suppresses login banner (closes: #134589).
- sshd doesn't lie to PAM about invalid usernames (closes: #157078).
- ssh-add prints key comment on each prompt (closes: #181869).
- Punctuation formatting fixed in man pages (closes: #191131).
- EnableSSHKeysign documented in ssh_config(5) (closes: #224457).
* Add 'UsePAM yes' to /etc/ssh/sshd_config on upgrade from versions older
than this, to maintain the standard Debian sshd configuration.
* Comment out PAMAuthenticationViaKbdInt and RhostsAuthentication in
sshd_config on upgrade. Neither option is supported any more.
* Privilege separation and PAM are now properly supported together, so
remove both debconf questions related to them and simply set it
unconditionally in newly generated sshd_config files (closes: #228838).
* ServerAliveInterval implemented upstream, so ProtocolKeepAlives is now a
compatibility alias. The semantics differ slightly, though; see
ssh_config(5) for details.
* Implement SSH1 support for ServerAliveInterval using SSH_MSG_IGNORE. As
documented in ssh_config(5), it's not as good as the SSH2 version.
* Remove -fno-builtin-log, -DHAVE_MMAP_ANON_SHARED, and
-D__FILE_OFFSET_BITS=64 compiler options, which are no longer necessary.
* Update config.guess and config.sub from autotools-dev 20040105.1.
* Darren Tucker:
- Reset signal status when starting pam auth thread, prevent hanging
during PAM keyboard-interactive authentications.
- Fix a non-security-critical segfault in PAM authentication.
* Add debconf template translations:
- Greek (thanks, Konstantinos Margaritis; closes: #232843).
- Italian (thanks, Renato Gini; closes: #234777).
* Update Spanish debconf template translation (thanks, Javier
Fernández-Sanguino Peña; closes: #228242).
* Add debconf template translations:
- Czech (thanks, Miroslav Kure; closes: #230110).
- Simplified Chinese (thanks, Hiei Xu; closes: #230726).
* Comment out pam_limits in default configuration, for now at least
(closes: #198254).
* Use invoke-rc.d (if it exists) to run the init script.
* Backport format string bug fix in sshconnect.c (closes: #225238).
* ssh-copy-id exits if ssh fails (closes: #215252).
* Use --retry in init script when restarting rather than sleeping, to make
sure the old process is dead (thanks, Herbert Xu; closes: #212117).
Depend on dpkg (>= 1.9.0) for start-stop-daemon's --retry option.
* Update debconf template translations:
- Brazilian Portuguese (thanks, Andre Luis Lopes; closes: #219844).
- Danish (thanks, Morten Brix Pedersen; closes: #217964).
- Japanese (thanks, Kenshi Muto; closes: #212497).
- Russian (thanks, Ilgiz Kalmetev).
- Spanish (thanks, Carlos Valdivia Yagüe; closes: #211832).
* Add Dutch debconf template translation (thanks, cobaco;
closes: #215372).
* Update config.guess and config.sub from autotools-dev 20031007.1
(closes: #217696).
* Implement New World Order for PAM configuration, including
/etc/pam.d/common-* from /etc/pam.d/ssh (closes: #212959).
- To backport this release to woody, you need to set DEB_BUILD_SSH_WOODY
in your environment. See README.Debian.
* Add more commentary to /etc/pam.d/ssh.
* Merge even more buffer allocation fixes from upstream (CAN-2003-0682;
closes: #211434).
* Merge more buffer allocation fixes from new upstream version 3.7.1p1
(closes: #211324).
* Update debconf template translations:
- French (thanks, Christian Perrier; closes: #208801).
- Japanese (thanks, Kenshi Muto; closes: #210380).
* Some small improvements to the English templates courtesy of Christian
Perrier. I've manually unfuzzied a few translations where it was
obvious, on Christian's advice, but the others will have to be updated.
* Document how to generate an RSA1 host key (closes: #141703).
* Incorporate NMU fix for early buffer expansion vulnerability,
CAN-2003-0693 (closes: #211205). Thanks to Michael Stone.
* SECURITY: fix for CAN-2003-0693, buffer allocation error
* Use a more CVS-friendly means of setting SSH_VERSION.
* Update Brazilian Portuguese debconf template translation (thanks, Andre
Luis Lopes; closes: #208036).
* Don't run 'sshd -t' in init script if the server isn't to be run
(closes: #197576).
* Fix login delay, spurious auth.log entry, and PermitRootLogin
information leakage due to PAM issues with upstream's recent security
update (thanks, Darren Tucker; closes: #99168, #192207, #193546).
* Policy version 3.6.1: recode this changelog to UTF-8.
* Disable cmsg_type check for file descriptor passing when running on
Linux 2.0 (closes: #150976). Remove comments about non-functional
privilege separation on 2.0 from ssh/privsep_ask and ssh/privsep_tell
debconf questions and from README.Debian, since it should all now work.
* Fix "defails" typo in generated sshd_config (closes: #206484).
* Backport upstream patch to strip trailing whitespace (including
newlines) from configuration directives (closes: #192079).
* getent can get just one key; no need to use grep (thanks, James Troup).
* Move /usr/local/bin to the front of the default path, following
/etc/login.defs (closes: #201150).
* Remove specifics of problematic countries from package description
(closes: #197040).
* Update Spanish debconf template translation (thanks, Carlos Valdivia
Yagüe; closes: #198456).
* Backport upstream patch to pass monitor signals through to child
(closes: #164797).
* Update French debconf template translation (thanks, Christian Perrier;
closes: #194323).
* Version the adduser dependency for --no-create-home (closes: #195756).
* Add a version of moduli(5), namely revision 1.7 of
http://www.openbsd.org/cgi-bin/cvsweb/src/share/man/man5/moduli.5 with
'/etc/moduli' changed to '/etc/ssh/moduli' throughout (closes: #196061).
* Force /etc/default/ssh to be non-executable, since dpkg apparently
doesn't deal with permissions changes on conffiles (closes: #192966).
* Use debconf 0.5's seen flag rather than the deprecated isdefault.
* Add GPL location to copyright file.
* Remove debian/postinst.old.
* Switch to po-debconf, with some careful manual use of po2debconf to
ensure that the source package continues to build smoothly on woody
(closes: #183986).
* Update debconf template translations:
- Brazilian Portugese (thanks, Andre Luis Lopes; see #183986).
- Japanese (thanks, Tomohiro KUBOTA; closes: #192429).
* Compile with -fno-builtin-log for now, otherwise gcc-3.3 complains
"log.h:59: warning: conflicting types for built-in function `log'". The
OpenSSH log() function has been renamed in upstream CVS.
* New upstream release, including fix for PAM user-discovery security hole
(closes: #191681).
* Fix ChallengeResponseAuthentication default in generated sshd_config
(closes: #106037).
* Put newlines after full stops in man page documentation for
ProtocolKeepAlives and SetupTimeOut.
* Policy version 3.5.9: support DEB_BUILD_OPTIONS=noopt, build
gnome-ssh-askpass with -g and -Wall flags.
* Really ask ssh/new_config debconf question before trying to fetch its
value (closes: #188721).
* On purge, remove only the files we know about in /etc/ssh rather than
the whole thing, and remove the directory if that leaves it empty
(closes: #176679).
* ssh has depended on debconf for some time now with no complaints, so:
- Simplify the postinst by relying on debconf being present. (The absent
case was buggy anyway.)
- Get rid of "if you have not installed debconf" text in README.Debian,
and generally update the "/usr/bin/ssh not SUID" entry.
* More README.Debian work:
- Reorganize into "UPGRADE ISSUES" and "OTHER ISSUES", in an effort to
make it easier for people to find the former. The upgrade issues
should probably be sorted by version somehow.
- Document X11UseLocalhost under "X11 Forwarding" (closes: #150913).
* Fix setting of IP flags for interactive sessions (upstream bug #541).
* New upstream release (thanks, Laurence J. Lane).
* debian/control: ssh-askpass-gnome is now Section: gnome, following the
override file.
* New upstream release.
- Workaround applied upstream for a bug in the interaction of glibc's
getaddrinfo() with the Linux 2.2 kernel (closes: #155814).
- As such, it should now be safe to remove --with-ipv4-default, so
starting sshd with -6 is no longer necessary (closes: #79861 and lots
of other merged bugs).
- ssh-copy-id prints usage when run without arguments (closes: #71376).
- scp exits 1 if ssh fails (closes: #138400).
- sshd writes to utmp's ut_addr_v6 field in IPv6 mode (closes: #167867).
- 'ssh-add -c' causes ssh-agent to ask the user each time a key is used
(closes: #109795).
* Install /etc/default/ssh non-executable (closes: #185537).
* Add /etc/default/ssh (closes: #161049).
* Run the init script under 'set -e' (closes: #175010).
* Change the default superuser path to include /sbin, /usr/sbin, and
/usr/local/sbin (closes: #128235, #151267). Using login.defs would be
nice, but that belongs to another package. Without a defined API to
retrieve its settings, parsing it is off-limits.
* Build ssh-askpass-gnome with GNOME 2. The source package should still
support building on stable with GNOME 1, using the alternate
libgnome-dev build-dependency (thanks, Colin Walters; closes: #167582).
* Point rlogin and rcp alternatives at slogin and scp respectively rather
than ssh (closes: #121103, #151666). Fix alternative removal to match;
previously it was completely wrong anyway.
* Find out whether /etc/ssh/sshd_not_to_be_run exists and set the debconf
question's default using that information, rather than using debconf as
a registry. Other solutions may be better in the long run, but this is
at least correct (thanks, Matthew Woodcraft; closes: #84725).
* Stop using pam_lastlog, as it doesn't currently work well as a session
module when privilege separation is enabled; it can usually read
/var/log/lastlog but can't write to it. Instead, just use sshd's
built-in support, already enabled by default (closes: #151297, #169938).
* Use 'ssh-keygen -q' rather than redirecting output to /dev/null.
* Add a "this may take some time" warning when creating host keys on
installation (part of #110094).
* When restarting via the init script, check for sshd_not_to_be_run after
stopping sshd (idea from Tomas Pospisek; closes: #149850).
* Append /usr/sbin:/sbin to the init script's $PATH, just in case of
strangeness (closes: #115138).
* Fix a dpkg-statoverride call to redirect stdout to /dev/null, not
stderr.
* Correct copyright file typo: "orignal" -> "original" (closes: #176490).
* Rebuild with libssl0.9.7 (closes: #176983).
* We're up to policy version 3.5.6. DEB_BUILD_OPTIONS stuff still needs to
be looked at.
* Happy new year!
* Use getent rather than id to find out whether the sshd user exists
(closes: #150974).
* Remove some duplication from the postinst's ssh-keysign setuid code.
* Replace db_text with db_input throughout debian/config. (db_text has
been a compatibility wrapper since debconf 0.1.5.)
* Warn about PermitUserEnvironment on upgrade (closes: #167895).
* Use 'make install-nokeys', and disable unused debhelper commands,
thereby forward-porting the last pieces of Zack Weinberg's patch
(closes: #68341).
* Move the man page for gnome-ssh-askpass from the ssh package to
ssh-askpass-gnome (closes: #174449).
* Build with -DLOGIN_NO_ENDOPT, since Debian's /bin/login doesn't accept
'--' to terminate the list of options (closes: #171554).
* Add Jonathan Amery's ssh-argv0 script (closes: #111341).
* Update Danish debconf template (thanks, Morten Brix Pedersen;
closes: #174757).
* Document setgid ssh-agent's effect on certain environment variables in
README.Debian (closes: #167974).
* Document interoperability problems between scp and ssh.com's server in
README.Debian, and suggest some workarounds (closes: #174662).
* Mention in the ssh package description that it provides both ssh and
sshd (closes: #99680).
* Create a system group for ssh-agent, not a user group (closes: #167669).
* New upstream release.
- Fixes typo in ssh-add usage (closes: #152239).
- Fixes 'PermitRootLogin forced-commands-only' (closes: #166184).
- ~/.ssh/environment and environment= options in ~/.ssh/authorized_keys
are deprecated for security reasons and will eventually go away. For
now they can be re-enabled by setting 'PermitUserEnvironment yes' in
sshd_config.
- ssh-agent is installed setgid to prevent ptrace() attacks. The group
actually doesn't matter, as it drops privileges immediately, but to
avoid confusion the postinst creates a new 'ssh' group for it.
* Obsolete patches:
- Solar Designer's privsep+compression patch for Linux 2.2 (see
1:3.3p1-0.0woody1).
- Hostbased auth ssh-keysign backport (see 1:3.4p1-4).
* Remove duplicated phrase in ssh_config(5) (closes: #152404).
* Source the debconf confmodule at the top of the postrm rather than at
the bottom, to avoid making future non-idempotency problems worse (see
#151035).
* Debconf templates:
- Add Polish (thanks, Grzegorz Kusnierz).
- Update French (thanks, Denis Barbier; closes: #132509).
- Update Spanish (thanks, Carlos Valdivia Yagüe; closes: #164716).
* Write a man page for gnome-ssh-askpass, and link it to ssh-askpass.1 if
this is the selected ssh-askpass alternative (closes: #67775).
* Allow ssh-krb5 in ssh-askpass-gnome's dependencies (closes: #129532).
* Restore Russia to list of countries where encryption is problematic (see
#148951 and http://www.average.org/freecrypto/).
* Drop ssh-askpass-gnome's priority to optional, per the override file.
* Drop the PAM special case for hurd-i386 (closes: #99157).
* s/dile/idle/ in ssh_config(5) (closes: #118331).
* Note in README.Debian that you need xauth from xbase-clients on the
server for X11 forwarding (closes: #140269).
* Use correct path to upstream README in copyright file (closes: #146037).
* Document the units for ProtocolKeepAlives (closes: #159479).
* Backport upstream patch to fix hostbased auth (closes: #117114).
* Add -g to CFLAGS.
* Add myself to Uploaders: and begin acting as temporary maintainer, at
Matthew's request. (Normal service will resume in some months' time.)
* Add sharutils to Build-Depends (closes: #138465).
* Stop creating the /usr/doc/ssh symlink.
* Fix some debconf template typos (closes: #160358).
* Split debconf templates into one file per language.
* Add debconf template translations:
- Brazilian Portuguese (thanks, Andre Luis Lopes; closes: #106173).
- Danish (thanks, Claus Hindsgaul; closes: #126607).
- Japanese (thanks, Tomohiro KUBOTA; closes: #137427).
- Russian (thanks, Ilgiz Kalmetev; closes: #136610).
- Spanish (thanks, Carlos Valdivia Yagüe; closes: #129041).
* Update debconf template translations:
- French (thanks, Igor Genibel; closes: #151361).
- German (thanks, Axel Noetzold; closes: #147069).
* Some of these translations are fuzzy. Please send updates.
* Get a security-fixed version into unstable
* Also tidy README.Debian up a little
* Extend my tendrils back into this package (Closes: #150915, #151098)
* thanks to the security team for their work
* no thanks to ISS/Theo de Raadt for their handling of these bugs
* save old sshd_configs to sshd_config.dpkg-old when auto-generating a
new one
* tell/ask the user about PriviledgeSeparation
* /etc/init.d/ssh run will now create the chroot empty dir if necessary
* Remove our previous statoverride on /usr/bin/ssh (only for people
upgrading from a version where we'd put one in ourselves!)
* Stop slandering Russia, since someone asked so nicely (Closes: #148951)
* Reduce the sleep time in /etc/init.d/ssh during a restart
* NMU by the security team.
* New upstream version
* NMU by the security team.
* fix error when /etc/ssh/sshd_config exists on new install
* check that user doesn't exist before running adduser
* use openssl internal random unconditionally
* NMU by the security team.
* use correct home directory when sshd user is created
* NMU by the security team.
* Fix rsa1 key creation (Closes: #150949)
* don't fail if sshd user removal fails
* depends: on adduser (Closes: #150907)
* NMU by the security team.
* New upstream version.
- Enable privilege separation by default.
* Include patch from Solar Designer for privilege separation and
compression on 2.2.x kernels.
* Remove --disable-suid-ssh from configure.
* Support setuid ssh-keysign binary instead of setuid ssh client.
* Check sshd configuration before restarting.
* Thanks to those who NMUd
* The only change in this version is to debian/control - I've removed
the bit that says you can't export it from the US - it would look
pretty daft to say this about a package in main! Also, it's now OK
to use crypto in France, so I've edited that comment slightly
* Correct a path in README.Debian too (Closes: #138634)
* NMU
* Really set urgency to medium this time (oops)
* Fix priority to standard per override while I'm at it
* NMU with maintainer's permission
* Prepare for upcoming ssh-nonfree transitional packages per
<http://lists.debian.org/debian-ssh/2002/debian-ssh-200203/msg00008.html>
* Urgency medium because it would really be good to get this into woody
before it releases
* Fix sections to match override file
* Reissued due to clash with non-US -> main move
* NMU
* Move from non-US to mani
* Security fix - patch from upstream (Closes: #137209, #137210)
* Undo the changes in the unreleased -7, since they appear to break
things here. Accordingly, the code change is minimal, and I'm
happy to get it into testing ASAP
* Build to support IPv6 and IPv4 by default again
* Correct error in the clean target (Closes: #130868)
* Include the Debian version in our identification, to make it easier to
audit networks for patched versions in future
* If we're asked to not run sshd, stop any running sshd's first
(Closes: #129327)
* Fix /etc/pam.d/ssh to not set $MAIL (Closes: #128913)
* Remove extra debconf suggestion (Closes: #128094)
* Mmm. speedy bug-fixing :-)
* Fix postinst to not automatically overwrite sshd_config (!)
(Closes: #127842, #127867)
* Add section in README.Debian about the PermitRootLogin setting
* Incorporate fix from Colin's NMU
* New upstream version (fixes the bug Wichert fixed) (Closes: #124035)
* Capitalise IETF (Closes: #125379)
* Refer to the correct sftp-server location (Closes: #126854, #126224)
* Do what we're asked re SetUID ssh (Closes: #124065, #124154, #123247)
* Ask people upgrading from potato if they want a new conffile
(Closes: #125642)
* Fix a typo in postinst (Closes: #122192, #122410, #123440)
* Frob the default config a little (Closes: #122284, #125827, #125696,
#123854)
* Make /etc/init.d/ssh be more clear about ssh not running (Closes:
#123552)
* Fix typo in templates file (Closes: #123411)
* Non-maintainer upload
* Prevent local users from passing environment variables to the login
process when UseLogin is enabled
* Non-maintainer upload, at Matthew's request.
* Remove sa_restorer assignment to fix compilation on alpha, hppa, and
ia64 (closes: #122086).
* New upstream version (Closes: #113646, #113513, #114707, #118564)
* Building with a libc that works (!) (Closes: #115228)
* Patches forward-ported are -1/-2 options for scp, the improvement to
'waiting for forwarded connections to terminate...'
* Fix /etc/init.d/ssh to stop sshd properly (Closes: #115228)
* /etc/ssh/sshd_config is no longer a conffile but generated in the postinst
* Remove suidregister leftover from postrm
* Mention key we are making in the postinst
* Default to not enable SSH protocol 1 support, since protocol 2 is
much safer anyway.
* New version of the vpn-fixes patch, from Ian Jackson
* New handling of -q, and added new -qq option; thanks to Jon Amery
* Experimental smartcard support not enabled, since I have no way of
testing it.
* check for correct file in /etc/init.d/ssh (Closes: #110876)
* correct location of version 2 keys in ssh.1 (Closes: #110439)
* call update-alternatives --quiet (Closes: #103314)
* hack ssh-copy-id to chmod go-w (Closes: #95551)
* TEMPORARY fix to provide largefile support using a -D in the cflags
line. long-term, upstream will patch the autoconf stuff
(Closes: #106809, #111849)
* remove /etc/rc references in ssh-keygen.1 (Closes: #68350)
* scp.1 patch from Adam McKenna to document -r properly (Closes: #76054)
* Check for files containing a newline character (Closes: #111692)
* Thanks to all the bug-fixers who helped!
* remove sa_restorer assignment (Closes: #102837)
* patch from Peter Benie to DTRT wrt X forwarding if the server refuses
us access (Closes: #48297)
* patch from upstream CVS to fix port forwarding (Closes: #107132)
* patch from Jonathan Amery to document ssh-keygen behaviour
(Closes:#106643, #107512)
* patch to postinst from Jonathan Amery (Closes: #106411)
* patch to manpage from Jonathan Amery (Closes: #107364)
* patch from Matthew Vernon to make -q emit fatal errors as that is the
documented behaviour (Closes: #64347)
* patch from Ian Jackson to cause us to destroy a file when we scp it
onto itself, rather than dumping bits of our memory into it, which was
a security hole (see #51955)
* patch from Jonathan Amery to document lack of Kerberos support
(Closes: #103726)
* patch from Matthew Vernon to make the 'waiting for connections to
terminate' message more helpful (Closes: #50308)
* Today's build of ssh is strawberry flavoured
* Patch from mhp to reduce length of time sshd is stopped for (Closes: #106176)
* Tidy up debconf template (Closes: #106152)
* If called non-setuid, then setgid()'s failure should not be fatal (see
#105854)
* Patch from yours truly to add -1 and -2 options to scp (Closes: #106061)
* Improve the IdentityFile section in the man page (Closes: #106038)
* Document the protocol version 2 and IPV6 changes (Closes: #105845, #105868)
* Make PrintLastLog 'no' by default (Closes: #105893)
* new (several..) upstream version (Closes: #96726, #81856, #96335)
* Hopefully, this will close some other bugs too
* Taking Over this package
* Patches from Robert Bihlmeyer for the Hurd (Closes: #102991)
* Put PermitRootLogin back to yes (Closes: #67334, #67371, #78274)
* Don't fiddle with conf-files any more (Closes: #69501)
* NMU
* Include Hurd compatibility patches from Robert Bihlmeyer (Closes: #76033)
* Patch from Richard Kettlewell for protocolkeepalives (Closes: #99273)
* Patch from Matthew Vernon for BannerTimeOut, batchmode, and
documentation for protocolkeepalives. Makes ssh more generally useful
for scripting uses (Closes: #82877, #99275)
* Set a umask, so ourpidfile isn't world-writable (closes: #100012,
#98286, #97391)
* NMU
* Remove duplicate Build-Depends for libssl096-dev and change it to
depend on libssl-dev instaed. Also adding in virtual | real package
style build-deps. (Closes: #93793, #75228)
* Removing add-log entry (Closes: #79266)
* This was a pam bug from a while back (Closes: #86908, #88457, #86843)
* pam build-dep already exists (Closes: #93683)
* libgnome-dev build-dep already exists (Closes: #93694)
* No longer in non-free (Closes: #85401)
* Adding in fr debconf translations (Closes: #83783)
* Already suggests xbase-clients (Closes: #79741)
* No need to suggest libpam-pwdb anymore (Closes: #81658)
* Providing rsh-client (Closes: #79437)
* hurd patch was already applied (Closes: #76033)
* default set to no (Closes: #73682)
* Adding in a suggests for dnsutils (Closes: #93265)
* postinst bugs fixed (Closes: #88057, #88066, #88196, #88405, #88612)
(Closes: #88774, #88196, #89556, #90123, #90228, #90833, #87814, #85465)
* Adding in debconf dependency
* disable the OpenSSL version check in entropy.c
(closes: #93581, #93588, #93590, #93614, #93619, #93635, #93648)
* New upstream release
* removed make-ssh-known-hosts, since ssh-keyscan does that job (closes: #86069, #87748)
* fix double space indent in german templates (closes: #89493)
* make postinst check for ssh_host_rsa_key
* get rid of the last of the misguided debian/rules NMU debris :-/
* rebuild with new debhelper (closes: #89558, #89536, #90225)
* fix broken dpkg-statoverride test in postinst
(closes: #89612, #90474, #90460, #89605)
* NMU bug fixed but not closed in last upload (closes: #88206)
* New upstream release
* fix typo in postinst (closes: #88110)
* revert to setting PAM service name in debian/rules, backing out last
NMU, which also (closes: #88101)
* restore the pam lastlog/motd lines, lost during the NMUs, and sshd_config
* restore printlastlog option patch
* revert to using debhelper, which had been partially disabled in NMUs
* And now the old pam-bug s/sshd/ssh in ssh.c is also fixed
* And now we mark the correct binary as setuid, when a user requested
to install it setuid.
* Fixes postinst to handle overrides that are already there. Damn, I
should have noticed the bug earlier.
* Rebuild ssh with pam-support.
* Added Build-Depends on libssl096-dev.
* Fixed sshd_config file to disallow root logins again.
* Fixed missing manpages for sftp.1 and ssh-keyscan.1
* Made package policy 3.5.2 compliant.
* Added Conflict with sftp, since we now provide our own sftp-client.
* Added a fix for our broken dpkg-statoverride call in the
2.3.0p1-13.
* Fixed some config pathes in the comments of sshd_config.
* Removed ssh-key-exchange-vulnerability-patch since it's not needed
anymore because upstream included the fix.
* Another NMU to get the new upstream version 2.5.1p1 into
unstable. (Closes: #87123)
* Corrected postinst to mark ssh as setuid. (Closes: #86391, #85766)
* Key Exchange patch is already included by upstream. (Closes: #86015)
* Upgrading should be possible now. (Closes: #85525, #85523)
* Added --disable-suid-ssh as compile option, so ssh won't get installed
suid per default.
* Fixed postinst to run dpkg-statoverride only, when dpkg-statoverride
is available and the mode of the binary should be 4755. And also added
suggestion for a newer dpkg.
(Closes: #85734, #85741, #86876)
* sftp and ssh-keyscan will also be included from now on. (Closes: #79994)
* scp now understands spaces in filenames (Closes: #53783, #58958,
#66723)
* ssh-keygen now supports showing DSA fingerprints. (Closes: #68623)
* ssh doesn' t show motd anymore when switch -t is used. (Closes #69035)
* ssh supports the usage of other dsa keys via the ssh command line
options. (Closes: #81250)
* Documentation in sshd_config fixed. (Closes: #81088)
* primes file included by upstream and included now. (Closes: #82101)
* scp now allows dots in the username. (Closes: #82477)
* Spelling error in ssh-copy-id.1 corrected by upstream. (Closes: #78124)
* Config should now also be fixed with this hopefully last NMU.
* Added suggest for xbase-clients to control-file. (Closes #85227)
* Applied patch from Markus Friedl to fix a vulnerability in
the rsa keyexchange.
* Fixed position of horizontal line. (Closes: #83613)
* Fixed hopefully the grep problem in the config-file. (Closes: #78802)
* Converted package from suidregister to dpkg-statoverride.
* Fixed some typos in the german translation of the debconf
template.
* Fixed double printing of motd. (Closes: #82618)
* And the next NMU which includes the patch from Andrew Bartlett
and Markus Friedl to fix the root privileges handling of openssh.
(Closes: #82657)
* Applied fix from Ryan Murray to allow building on other architectures
since the hurd patch was wrong. (Closes: #82471)
* Fixed another typo on sshd_config
* Added Build-Dependency on groff (Closes: #81886)
* Added Build-Depencency on debhelper (Closes: #82072)
* Fixed entry for known_hosts in sshd_config (Closes: #82096)
* Fixed now also the problem with sshd used as default ipv4 and
didn't use IPv6. This should be now fixed.
* Fixed buggy entry in postinst.
* After finishing the rewrite of the rules-file I had to notice that
the manpage installation was broken. This should now work again.
* Fixed the screwed up build-dependency.
* Removed --with-ipv4-default to support ipv6.
* Changed makefile to use /etc/pam.d/ssh instead of /etc/pam.d/sshd.
* Fixed location to sftp-server in config.
* Since debian still relies on /etc/pam.d/ssh instead of moving to
/etc/pam.d/sshd, I had to hack ssh.h to get ssh to use this name.
* Fixed path to host key in sshd_config.
* NMU with permission of Phil Hands.
* New upstream release
* Update Build-Depends to point to new libssl096.
* This upstream release doesn't leak any information depending
on the setting of PermitRootLogin (Closes: #59933)
* New upstream release contains fix against forcing a client to
do X/agent forwarding (Closes: #76788)
* Changed template to contain correct path to the documentation
(Closes: #67245)
* Added --with-4in6 switch as compile option into debian/rules.
* Added --with-ipv4-default as compile option into debian/rules.
(Closes: #75037)
* Changed default path to also contain /usr/local/bin and
/usr/X11R6/bin (Closes: #62472,#54567,#62810)
* Changed path to sftp-server in sshd_config to match the
our package (Closes: #68347)
* Replaced OpenBSDh with OpenBSD in the init-script.
* Changed location to original source in copyright.head
* Changed behaviour of init-script when invoked with the option
restart (Closes: #68706,#72560)
* Added a note about -L option of scp to README.Debian
* ssh won't print now the motd if invoked with -t option
(Closes: #59933)
* RFC.nroff.gz get's now converted into RFC.gz. (Closes: #63867)
* Added a note about tcp-wrapper support to README.Debian
(Closes: #72807,#22190)
* Removed two unneeded options from building process.
* Added sshd.pam into debian dir and install it.
* Commented out unnecessary call to dh_installinfo.
* Added a line to sshd.pam so that limits will be paid attention
to (Closes: #66904)
* Restart Option has a Timeout of 10 seconds (Closes: 51264)
* scp won't override files anymore (Closes: 51955)
* Removed pam_lastlog module, so that the lastlog is now printed
only once (Closes: #71742, #68335, #69592, #71495, #77781)
* If password is expired, openssh now forces the user to change it.
(Closes: #51747)
* scp should now have no more problems with shell-init-files that
produces ouput (Closes: #56280,#59873)
* ssh now prints the motd correctly (Closes: #66926)
* ssh upgrade should disable ssh daemon only if users has choosen
to do so (Closes: #67478)
* ssh can now be installed suid (Closes: #70879)
* Modified debian/rules to support hurd.
* Non-Maintainer Upload
* Check for new returns in the new libc
(closes: #72803, #74393, #72797, #71307, #71702)
* Link against libssl095a (closes: #66304)
* Correct check for PermitRootLogin (closes: #69448)
* New upstream release
* add rsh alternatives
* add -S option to scp (using Tommi Virtanen's patch) (closes: #63097)
* do the IPV4_DEFAULT thing properly this time
* reinstate manpage .out patch from 1:1.2.3
* fix typo in postinst
* only compile ssh with IPV4_DEFAULT
* apply James Troup's patch to add a -o option to scp and updated manpage
* New upstream release
* add version to libpam-modules dependency, because old versions of
pam_motd make it impossible to log in.
* force location of /usr/bin/X11/xauth
(closes: #64424, #66437, #66859) RC
* typos in config (closes: #66779, #66780)
* sshd_not_to_be_run could be assumed to be true, in error, if the config
script died in an unusual way --- I've reversed this (closes: #66335)
* Apply Zack Weinberg <zack@wolery.cumb.org>'s patch to ssh-askpass-ptk
(closes: #65981)
* change default for PermitRootLogin to "no" (closes: #66406)
* get rid of Provides: rsh-server (this will mean that rstartd
will need to change it's depends to deal with #63948, which I'm
reopening) (closes: #66257)
Given that this is also a trivial change, and is a reversal of a
change that was mistakenly made after the freeze, I think this should
also go into frozen.
* check if debconf is installed before calling db_stop in postinst.
This is required to allow ssh to be installed when debconf is not
wanted, which probably makes it an RC upload (hopefully the last of
too many).
* fixed depressing little bug involving a line wrap looking like
a blank line in the templates file RC
(closes: #66090, #66078, #66083, #66182)
* add code to prevent UseLogin exploit, although I think our PAM
conditional code breaks UseLogin in a way that protects us from this
exploit anyway. ;-) (closes: #65495) RC
* Apply Zack Weinberg <zack@wolery.cumb.org>'s patch to fix keyboard
grab vulnerability in ssh-askpass-gnome (closes: #64795) RC
* stop redirection of sshd's file descriptors (introduced in 1:1.2.3-3)
and use db_stop in the postinst to solve that problem instead
(closes: #65104)
* add Provides: rsh-server to ssh (closes: #63948)
* provide config option not to run sshd
* fixes #63436 which is RC
* add 10 second pause in init.d restart (closes: #63844)
* get rid of noenv in PAM mail line (closes: #63856)
* fix host key path in make-ssh-known-hosts (closes: #63713)
* change wording of SUID template (closes: #62788, #63436)
* redirect sshd's file descriptors to /dev/null in init to
prevent debconf from locking up during installation
** grave bug just submited by me **
* allow user to select SUID status of /usr/bin/ssh (closes: 62462) ** RC **
* suggest debconf
* conflict with debconf{,-tiny} (<<0.2.17) so I can clean up the preinst
* New upstream release
* patch sshd to create extra xauth key required for localhost
(closes: #49944) *** RC ***
* FallbacktoRsh now defaults to ``no'' to match impression
given in sshd_config
* stop setting suid bit on ssh (closes: #58711, #58558)
This breaks Rhosts authentication (which nobody uses) and allows
the LD_PRELOAD trick to get socks working, so seems like a net benefit.
* Recompile for frozen, contains fix for RC bug.
* Integrated man page addition for PrintLastLog.
This bug was filed on "openssh", and I ended up
creating my own patch for this (closes: #59054)
* Improved error message when ssh_exchange_identification
gets EOF (closes: #58904)
* Fixed typo (your -> you're) in debian/preinst.
* Added else-clauses to config to make this upgradepath possible:
oldssh -> openssh preinst fails due to upgrade_to_openssh=false
-> ssh-nonfree -> openssh. Without these, debconf remembered
the old answer, config didn't force asking it, and preinst always
aborted (closes: #56596, #57782)
* Moved setting upgrade_to_openssh isdefault flag to the place
where preinst would abort. This means no double question to most
users, people who currently suffer from "can't upgrade" may need
to run apt-get install ssh twice. Did not do the same for
use_old_init_script, as the situation is a bit different, and
less common (closes: #54010, #56224)
* Check for existance of ssh-keygen before attempting to use it in
preinst, added warning for non-existant ssh-keygen in config. This
happens when the old ssh is removed (say, due to ssh-nonfree getting
installed).
* Non-maintainer upload.
* Added configuration option PrintLastLog, default off due to PAM
(closes: #54007, #55042)
* ssh-askpass-{gnome,ptk} now provide ssh-askpass, making ssh's
Suggests: line more accurate. Also closing related bugs fixed
earlier, when default ssh-askpass moved to /usr/bin.
(closes: #52403, #54741, #50607, #52298, #50967, #51661)
* Patched to call vhangup, with autoconf detection and all
(closes: #55379)
* Added --with-ipv4-default workaround to a glibc bug causing
slow DNS lookups, as per UPGRADING. Use -6 to really use
IPv6 addresses. (closes: #57891, #58744, #58713, #57970)
* Added noenv to PAM pam_mail line. Thanks to Ben Collins.
(closes: #58429)
* Added the UPGRADING file to the package.
* Added frozen to the changelog line and recompiled before
package was installed into the archive.
* Non-maintainer upload.
* Integrated scp pipe buffer patch from Ben Collins
<benc@debian.org>, should now work even if reading
a pipe gives less than fstat st_blksize bytes.
Should now work on Alpha and Sparc Linux (closes: #53697, #52071)
* Made ssh depend on libssl09 (>= 0.9.4-3) (closes: #51393)
* Integrated patch from Ben Collins <benc@debian.org>
to do full shadow account locking and expiration
checking (closes: #58165, #51747)
* New upstream release (closes: #56870, #56346)
* built against new libesd (closes: #56805)
* add Colin Watson <cjw44@cam.ac.uk> =NULL patch
(closes: #49902, #54894)
* use socketpairs as suggested by Andrew Tridgell to eliminate rsync
(and other) lockups
* patch SSHD_PAM_SERVICE back into auth-pam.c, again :-/
(closes: #49902, #55872, #56959)
* uncoment the * line in ssh_config (closes: #56444)
* #54894 & #49902 are release critical, so this should go in frozen
* New upstream release
* New upstream release
* excape ? in /etc/init.d/ssh (closes: #53269)
* New upstream release
* New upstream release
* upstream release (1.2pre14) (closes: #50299)
* make ssh depend on libwrap0 (>= 7.6-1.1) (closes: #50973, #50776)
* dispose of grep -q broken pipe message in config script (closes: #50855)
* add make-ssh-known-hosts (closes: #50660)
* add -i option to ssh-copy-id (closes: #50657)
* add check for LK in password, indicating a locked account
* New upstream release
* make sshd.c use SSHD_PAM_SERVICE and define it as "ssh" in debian/rules
* remove duplicate line in /etc/pam.d/ssh (closes: #50310)
* mention ssh -A option in ssh.1 & ssh_config
* enable forwarding to localhost in default ssh_config (closes: #50373)
* tweak preinst to deal with debconf being `unpacked'
* use --with-tcp-wrappers (closes: #49545)
* oops, just realised that I forgot to strip out the unpleasant
fiddling mentioned below (which turned not to be a fix anyway)
* New upstream release (closes: #49722)
* add 2>/dev/null to dispose of spurious message casused by grep -q
(closes: #49876, #49604)
* fix typo in debian/control (closes: #49841)
* Do some unpleasant fiddling with upgraded keys in the preinst, which
should make the keylength problem go away. (closes: #49676)
* make pam_start in sshd use ``ssh'' as the service name (closes: #49956)
* If /etc/ssh/NOSERVER exist, stop sshd from starting (closes: #47107)
* apply Ben Collins <bcollins@debian.org>'s shadow patch
* disable lastlogin and motd printing if using pam (closes: #49957)
* add ssh-copy-id script and manpage
* New upstream release
* apply Chip Salzenberg <chip@valinux.com>'s SO_REUSEADDR patch
to channels.c, to make forwarded ports instantly reusable
* replace Pre-Depend: debconf with some check code in preinst
* make the ssh-add ssh-askpass failure message more helpful
* fix the ssh-agent getopts bug (closes: #49426)
* fixed typo on Suggests: line (closes: #49704, #49571)
* tidy up ssh package description (closes: #49642)
* make ssh suid (closes: #49635)
* in preinst upgrade code, ensure ssh_host_keys is mode 600 (closes: #49606)
* disable agent forwarding by default, for the similar reasons as
X forwarding (closes: #49586)
* predepend on debconf (>= 0.2.17) should now allow preinst questions
* add ssh-askpass package using Tommi Virtanen's perl-tk script
* add ssh-preconfig package cludge
* add usage hints to ssh-agent.1
* use pam patch from Ben Collins <bcollins@debian.org>
* add slogin symlink to Makefile.in
* change /usr/bin/login to LOGIN_PROGRAM define of /bin/login
* sort out debconf usage
* patch from Tommi Virtanen <tv@debian.org>'s makes ssh-add use ssh-askpass
* New upstream release
* change the binary package name to ssh (the non-free branch of ssh has
been renamed to ssh-nonfree)
* make pam file comply with Debian standards
* use an epoch to make sure openssh supercedes ssh-nonfree
* New upstream source
* sshd accepts logins now!
* New upstream source
* Added test for -lnsl to configure script
* Initial release