Adding debian version 1:10.0p1-5.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
f4a1000be6
commit
31f6d7a384
128 changed files with 19142 additions and 0 deletions
12
debian/.git-dpm
vendored
Normal file
12
debian/.git-dpm
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# see git-dpm(1) from git-dpm package
|
||||||
|
f5c89caec93130da905a95602cf36a4e25f2303e
|
||||||
|
f5c89caec93130da905a95602cf36a4e25f2303e
|
||||||
|
860fa104f07024318a40065f07708daa5753f55d
|
||||||
|
860fa104f07024318a40065f07708daa5753f55d
|
||||||
|
openssh_10.0p1.orig.tar.gz
|
||||||
|
ac4205e827aea383bf316a33a0e2d5b66b85fcf8
|
||||||
|
1972675
|
||||||
|
debianTag="debian/%e%%%V"
|
||||||
|
patchedTag="patched/%e%%%V"
|
||||||
|
upstreamTag="upstream/%U"
|
||||||
|
signature:9623202a5dd2cee22dc5bdbe73144d15730b1f97:833:openssh_10.0p1.orig.tar.gz.asc
|
17
debian/.gitignore
vendored
Normal file
17
debian/.gitignore
vendored
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
/*.debhelper*
|
||||||
|
/*substvars
|
||||||
|
/build-deb
|
||||||
|
/build-udeb
|
||||||
|
/files
|
||||||
|
/keygen-test/key1
|
||||||
|
/keygen-test/key1.pub
|
||||||
|
/keygen-test/key2
|
||||||
|
/keygen-test/key2.pub
|
||||||
|
/openssh-client
|
||||||
|
/openssh-client-udeb
|
||||||
|
/openssh-server
|
||||||
|
/openssh-server-udeb
|
||||||
|
/ssh
|
||||||
|
/ssh-askpass-gnome
|
||||||
|
/ssh-krb5
|
||||||
|
/tmp
|
700
debian/NEWS
vendored
Normal file
700
debian/NEWS
vendored
Normal file
|
@ -0,0 +1,700 @@
|
||||||
|
openssh (1:10.0p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 10.0p1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* This release removes support for the weak DSA signature algorithm,
|
||||||
|
completing the deprecation process that began in 2015 (when DSA was
|
||||||
|
disabled by default) and repeatedly warned over the last 12 months.
|
||||||
|
|
||||||
|
* scp(1), sftp(1): pass "ControlMaster no" to ssh when invoked by scp &
|
||||||
|
sftp. This disables implicit session creation by these tools when
|
||||||
|
ControlMaster was set to yes/auto by configuration, which some users
|
||||||
|
found surprising. This change will not prevent scp/sftp from using an
|
||||||
|
existing multiplexing session if one had already been created.
|
||||||
|
|
||||||
|
* sshd(8): this release disables finite field (a.k.a modp) Diffie-Hellman
|
||||||
|
key exchange in sshd by default. Specifically, this removes the
|
||||||
|
"diffie-hellman-group*" and "diffie-hellman-group-exchange-*" methods
|
||||||
|
from the default KEXAlgorithms list. The client is unchanged and
|
||||||
|
continues to support these methods by default.
|
||||||
|
|
||||||
|
* sshd(8): this release removes the implicit fallback to compiled-in
|
||||||
|
groups for Diffie-Hellman Group Exchange KEX when the moduli file
|
||||||
|
exists but does not contain moduli within the client-requested range.
|
||||||
|
The fallback behaviour remains for the case where the moduli file does
|
||||||
|
not exist at all. This allows administrators more explicit control over
|
||||||
|
which DH groups will be selected, but can lead to connection failures
|
||||||
|
if the moduli file is edited incorrectly.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Fri, 11 Apr 2025 11:16:19 +0100
|
||||||
|
|
||||||
|
openssh (1:9.9p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.9p1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1): remove support for pre-authentication compression. OpenSSH has
|
||||||
|
only supported post-authentication compression in the server for some
|
||||||
|
years. Compression before authentication significantly increases the
|
||||||
|
attack surface of SSH servers and risks creating oracles that reveal
|
||||||
|
information about information sent during authentication.
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): processing of the arguments to the "Match"
|
||||||
|
configuration directive now follows more shell-like rules for quoted
|
||||||
|
strings, including allowing nested quotes and \-escaped characters. If
|
||||||
|
configurations contained workarounds for the previous simplistic quote
|
||||||
|
handling then they may need to be adjusted. If this is the case, it's
|
||||||
|
most likely to be in the arguments to a "Match exec" condition. In this
|
||||||
|
case, moving the command to be evaluated from the Match line to an
|
||||||
|
external shell script is the easiest way to preserve compatibility with
|
||||||
|
both the old and new versions.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Mon, 23 Sep 2024 21:09:59 -0700
|
||||||
|
|
||||||
|
openssh (1:9.8p1-5) unstable; urgency=medium
|
||||||
|
|
||||||
|
Future Debian releases will remove GSS-API authentication and key exchange
|
||||||
|
support from openssh-client and openssh-server; this adds
|
||||||
|
pre-authentication attack surface and should only be used where
|
||||||
|
specifically needed. Users of GSS-API authentication or key exchange
|
||||||
|
should install the new openssh-client-gssapi or openssh-server-gssapi
|
||||||
|
package now; these currently just depend on openssh-client and
|
||||||
|
openssh-server respectively, but this will change in the future.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Thu, 29 Aug 2024 12:13:32 +0100
|
||||||
|
|
||||||
|
openssh (1:9.8p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.8p1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* DSA keys, as specified in the SSH protocol, are inherently weak: they
|
||||||
|
are limited to 160-bit private keys and the SHA-1 digest. The SSH
|
||||||
|
implementation provided by the openssh-client and openssh-server
|
||||||
|
packages has disabled support for DSA keys by default since OpenSSH
|
||||||
|
7.0p1 in 2015, released with Debian 9 ("stretch"), although it could
|
||||||
|
still be enabled using the HostKeyAlgorithms and
|
||||||
|
PubkeyAcceptedAlgorithms configuration options for host and user keys
|
||||||
|
respectively.
|
||||||
|
|
||||||
|
The only remaining uses of DSA at this point should be connecting to
|
||||||
|
some very old devices. For all other purposes, the other key types
|
||||||
|
supported by OpenSSH (RSA, ECDSA, and Ed25519) are superior.
|
||||||
|
|
||||||
|
As of OpenSSH 9.8p1, DSA keys are no longer supported even with the
|
||||||
|
above configuration options. If you have a device that you can only
|
||||||
|
connect to using DSA, then you can use the ssh1 command provided by the
|
||||||
|
openssh-client-ssh1 package to do so.
|
||||||
|
|
||||||
|
In the unlikely event that you are still using DSA keys to connect to a
|
||||||
|
Debian server (if you are unsure, you can check by adding the -v option
|
||||||
|
to the ssh command line you use to connect to that server and looking
|
||||||
|
for the "Server accepts key:" line), then you must generate replacement
|
||||||
|
keys before upgrading.
|
||||||
|
|
||||||
|
* sshd(8): the server will now block client addresses that repeatedly
|
||||||
|
fail authentication, repeatedly connect without ever completing
|
||||||
|
authentication or that crash the server. Operators of servers that
|
||||||
|
accept connections from many users, or servers that accept connections
|
||||||
|
from addresses behind NAT or proxies may need to consider these
|
||||||
|
settings.
|
||||||
|
|
||||||
|
* sshd(8): several log messages have changed. In particular, some log
|
||||||
|
messages will be tagged with as originating from a process named
|
||||||
|
"sshd-session" rather than "sshd".
|
||||||
|
|
||||||
|
* ssh-keyscan(1): this tool previously emitted comment lines containing
|
||||||
|
the hostname and SSH protocol banner to standard error. This release
|
||||||
|
now emits them to standard output, but adds a new "-q" flag to silence
|
||||||
|
them altogether.
|
||||||
|
|
||||||
|
* sshd(8): sshd will no longer use argv[0] as the PAM service name. A
|
||||||
|
new "PAMServiceName" sshd_config(5) directive allows selecting the
|
||||||
|
service name at runtime. This defaults to "sshd".
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Wed, 31 Jul 2024 17:16:04 +0100
|
||||||
|
|
||||||
|
openssh (1:9.7p1-6) unstable; urgency=medium
|
||||||
|
|
||||||
|
Debian's PAM configuration for OpenSSH no longer reads the
|
||||||
|
~/.pam_environment file. The implementation of this in pam_env has a
|
||||||
|
history of security problems and has been deprecated by the upstream
|
||||||
|
Linux-PAM maintainers due to the possibility that "user supplied
|
||||||
|
environment variables in the PAM environment could affect behavior of
|
||||||
|
subsequent modules in the stack without the consent of the system
|
||||||
|
administrator".
|
||||||
|
|
||||||
|
Instead, environment variables need to be set somewhere that will be
|
||||||
|
handled by the session process; for most users, this will be shell
|
||||||
|
initialization files such as ~/.bash_profile or ~/.bashrc.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Tue, 25 Jun 2024 14:20:44 +0100
|
||||||
|
|
||||||
|
openssh (1:9.5p1-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.5p1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-keygen(1): generate Ed25519 keys by default. Ed25519 public keys
|
||||||
|
are very convenient due to their small size. Ed25519 keys are specified
|
||||||
|
in RFC 8709 and OpenSSH has supported them since version 6.5 (January
|
||||||
|
2014).
|
||||||
|
|
||||||
|
* sshd(8): the Subsystem directive now accurately preserves quoting of
|
||||||
|
subsystem commands and arguments. This may change behaviour for exotic
|
||||||
|
configurations, but the most common subsystem configuration
|
||||||
|
(sftp-server) is unlikely to be affected.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Thu, 23 Nov 2023 17:38:07 +0000
|
||||||
|
|
||||||
|
openssh (1:9.4p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.4p1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-agent(1): PKCS#11 modules must now be specified by their full
|
||||||
|
paths. Previously dlopen(3) could search for them in system library
|
||||||
|
directories.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sat, 02 Sep 2023 21:02:53 +0100
|
||||||
|
|
||||||
|
openssh (1:9.3p2-1) unstable; urgency=high
|
||||||
|
|
||||||
|
OpenSSH 9.3p2 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-agent(8): the agent will now refuse requests to load PKCS#11
|
||||||
|
modules issued by remote clients by default. A flag has been added to
|
||||||
|
restore the previous behaviour "-Oallow-remote-pkcs11".
|
||||||
|
|
||||||
|
Note that ssh-agent(8) depends on the SSH client to identify requests
|
||||||
|
that are remote. The OpenSSH >=8.9 ssh(1) client does this, but
|
||||||
|
forwarding access to an agent socket using other tools may circumvent
|
||||||
|
this restriction.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Wed, 19 Jul 2023 21:57:53 +0100
|
||||||
|
|
||||||
|
openssh (1:9.2p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.2 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1): add a new EnableEscapeCommandline ssh_config(5) option that
|
||||||
|
controls whether the client-side ~C escape sequence that provides a
|
||||||
|
command-line is available. Among other things, the ~C command-line
|
||||||
|
could be used to add additional port-forwards at runtime.
|
||||||
|
|
||||||
|
This option defaults to "no", disabling the ~C command-line that was
|
||||||
|
previously enabled by default. Turning off the command-line allows
|
||||||
|
platforms that support sandboxing of the ssh(1) client (currently only
|
||||||
|
OpenBSD) to use a stricter default sandbox policy.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Wed, 08 Feb 2023 10:36:06 +0000
|
||||||
|
|
||||||
|
openssh (1:9.1p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): SetEnv directives in ssh_config and sshd_config are
|
||||||
|
now first-match-wins to match other directives. Previously if an
|
||||||
|
environment variable was multiply specified the last set value would
|
||||||
|
have been used.
|
||||||
|
|
||||||
|
* ssh-keygen(8): ssh-keygen -A (generate all default host key types) will
|
||||||
|
no longer generate DSA keys, as these are insecure and have not been
|
||||||
|
used by default for some years.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Mon, 14 Nov 2022 16:35:59 +0000
|
||||||
|
|
||||||
|
openssh (1:9.0p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 9.0 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* This release switches scp(1) from using the legacy scp/rcp protocol to
|
||||||
|
using the SFTP protocol by default.
|
||||||
|
|
||||||
|
Legacy scp/rcp performs wildcard expansion of remote filenames (e.g.
|
||||||
|
"scp host:* .") through the remote shell. This has the side effect of
|
||||||
|
requiring double quoting of shell meta-characters in file names
|
||||||
|
included on scp(1) command-lines, otherwise they could be interpreted
|
||||||
|
as shell commands on the remote side.
|
||||||
|
|
||||||
|
This creates one area of potential incompatibility: scp(1) when using
|
||||||
|
the SFTP protocol no longer requires this finicky and brittle quoting,
|
||||||
|
and attempts to use it may cause transfers to fail. We consider the
|
||||||
|
removal of the need for double-quoting shell characters in file names
|
||||||
|
to be a benefit and do not intend to introduce bug-compatibility for
|
||||||
|
legacy scp/rcp in scp(1) when using the SFTP protocol.
|
||||||
|
|
||||||
|
Another area of potential incompatibility relates to the use of remote
|
||||||
|
paths relative to other user's home directories, for example - "scp
|
||||||
|
host:~user/file /tmp". The SFTP protocol has no native way to expand a
|
||||||
|
~user path. However, sftp-server(8) in OpenSSH 8.7 and later support a
|
||||||
|
protocol extension "expand-path@openssh.com" to support this.
|
||||||
|
|
||||||
|
In case of incompatibility, the scp(1) client may be instructed to use
|
||||||
|
the legacy scp/rcp using the -O flag.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sat, 09 Apr 2022 14:14:10 +0100
|
||||||
|
|
||||||
|
openssh (1:8.8p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.8 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* This release disables RSA signatures using the SHA-1 hash algorithm by
|
||||||
|
default. This change has been made as the SHA-1 hash algorithm is
|
||||||
|
cryptographically broken, and it is possible to create chosen-prefix
|
||||||
|
hash collisions for <USD$50K.
|
||||||
|
|
||||||
|
For most users, this change should be invisible and there is no need to
|
||||||
|
replace ssh-rsa keys. OpenSSH has supported RFC8332 RSA/SHA-256/512
|
||||||
|
signatures since release 7.2 and existing ssh-rsa keys will
|
||||||
|
automatically use the stronger algorithm where possible.
|
||||||
|
|
||||||
|
Incompatibility is more likely when connecting to older SSH
|
||||||
|
implementations that have not been upgraded or have not closely tracked
|
||||||
|
improvements in the SSH protocol. For these cases, it may be necessary
|
||||||
|
to selectively re-enable RSA/SHA1 to allow connection and/or user
|
||||||
|
authentication via the HostkeyAlgorithms and PubkeyAcceptedAlgorithms
|
||||||
|
options. For example, the following stanza in ~/.ssh/config will enable
|
||||||
|
RSA/SHA1 for host and user authentication for a single destination
|
||||||
|
host:
|
||||||
|
|
||||||
|
Host old-host
|
||||||
|
HostkeyAlgorithms +ssh-rsa
|
||||||
|
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||||
|
|
||||||
|
We recommend enabling RSA/SHA1 only as a stopgap measure until legacy
|
||||||
|
implementations can be upgraded or reconfigured with another key type
|
||||||
|
(such as ECDSA or Ed25519).
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Tue, 15 Feb 2022 19:20:21 +0000
|
||||||
|
|
||||||
|
openssh (1:8.7p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.7 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* scp(1): this release changes the behaviour of remote to remote copies
|
||||||
|
(e.g. "scp host-a:/path host-b:") to transfer through the local host by
|
||||||
|
default. This was previously available via the -3 flag. This mode
|
||||||
|
avoids the need to expose credentials on the origin hop, avoids
|
||||||
|
triplicate interpretation of filenames by the shell (by the local
|
||||||
|
system, the copy origin and the destination) and, in conjunction with
|
||||||
|
the SFTP support for scp(1) mentioned below, allows use of all
|
||||||
|
authentication methods to the remote hosts (previously, only
|
||||||
|
non-interactive methods could be used). A -R flag has been added to
|
||||||
|
select the old behaviour.
|
||||||
|
|
||||||
|
* ssh(1)/sshd(8): both the client and server are now using a stricter
|
||||||
|
configuration file parser. The new parser uses more shell-like rules
|
||||||
|
for quotes, space and escape characters. It is also more strict in
|
||||||
|
rejecting configurations that include options lacking arguments.
|
||||||
|
Previously some options (e.g. DenyUsers) could appear on a line with no
|
||||||
|
subsequent arguments. This release will reject such configurations. The
|
||||||
|
new parser will also reject configurations with unterminated quotes and
|
||||||
|
multiple '=' characters after the option name.
|
||||||
|
|
||||||
|
* ssh(1): when using SSHFP DNS records for host key verification, ssh(1)
|
||||||
|
will verify all matching records instead of just those with the
|
||||||
|
specific signature type requested. This may cause host key verification
|
||||||
|
problems if stale SSHFP records of a different or legacy signature type
|
||||||
|
exist alongside other records for a particular host. bz#3322
|
||||||
|
|
||||||
|
* ssh-keygen(1): when generating a FIDO key and specifying an explicit
|
||||||
|
attestation challenge (using -Ochallenge), the challenge will now be
|
||||||
|
hashed by the builtin security key middleware. This removes the
|
||||||
|
(undocumented) requirement that challenges be exactly 32 bytes in
|
||||||
|
length and matches the expectations of libfido2.
|
||||||
|
|
||||||
|
* sshd(8): environment="..." directives in authorized_keys files are now
|
||||||
|
first-match-wins and limited to 1024 discrete environment variable
|
||||||
|
names.
|
||||||
|
|
||||||
|
OpenSSH 8.5 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): this release changes the first-preference signature
|
||||||
|
algorithm from ECDSA to ED25519.
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): set the TOS/DSCP specified in the configuration for
|
||||||
|
interactive use prior to TCP connect. The connection phase of the SSH
|
||||||
|
session is time-sensitive and often explicitly interactive. The
|
||||||
|
ultimate interactive/bulk TOS/DSCP will be set after authentication
|
||||||
|
completes.
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): remove the pre-standardization cipher
|
||||||
|
rijndael-cbc@lysator.liu.se. It is an alias for aes256-cbc before it
|
||||||
|
was standardized in RFC4253 (2006), has been deprecated and disabled by
|
||||||
|
default since OpenSSH 7.2 (2016) and was only briefly documented in
|
||||||
|
ssh.1 in 2001.
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): update/replace the experimental post-quantum hybrid
|
||||||
|
key exchange method based on Streamlined NTRU Prime coupled with
|
||||||
|
X25519.
|
||||||
|
|
||||||
|
The previous sntrup4591761x25519-sha512@tinyssh.org method is replaced
|
||||||
|
with sntrup761x25519-sha512@openssh.com. Per its designers, the
|
||||||
|
sntrup4591761 algorithm was superseded almost two years ago by
|
||||||
|
sntrup761.
|
||||||
|
|
||||||
|
(note this both the updated method and the one that it replaced are
|
||||||
|
disabled by default)
|
||||||
|
|
||||||
|
* ssh(1): disable CheckHostIP by default. It provides insignificant
|
||||||
|
benefits while making key rotation significantly more difficult,
|
||||||
|
especially for hosts behind IP-based load-balancers.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sat, 06 Nov 2021 12:23:47 +0000
|
||||||
|
|
||||||
|
openssh (1:8.4p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.4 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-keygen(1): the format of the attestation information optionally
|
||||||
|
recorded when a FIDO key is generated has changed. It now includes the
|
||||||
|
authenticator data needed to validate attestation signatures.
|
||||||
|
|
||||||
|
* The API between OpenSSH and the FIDO token middleware has changed and
|
||||||
|
the SSH_SK_VERSION_MAJOR version has been incremented as a result.
|
||||||
|
Third-party middleware libraries must support the current API version
|
||||||
|
(7) to work with OpenSSH 8.4.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 18 Oct 2020 12:07:48 +0100
|
||||||
|
|
||||||
|
openssh (1:8.3p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.3 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* sftp(1): reject an argument of "-1" in the same way as ssh(1) and scp(1)
|
||||||
|
do instead of accepting and silently ignoring it.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 07 Jun 2020 13:44:04 +0100
|
||||||
|
|
||||||
|
openssh (1:8.2p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.2 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
Certificates are at special risk to SHA1 collision vulnerabilities as
|
||||||
|
an attacker has effectively unlimited time in which to craft a
|
||||||
|
collision that yields them a valid certificate, far more than the
|
||||||
|
relatively brief LoginGraceTime window that they have to forge a host
|
||||||
|
key signature.
|
||||||
|
|
||||||
|
The OpenSSH certificate format includes a CA-specified (typically
|
||||||
|
random) nonce value near the start of the certificate that should make
|
||||||
|
exploitation of chosen-prefix collisions in this context challenging,
|
||||||
|
as the attacker does not have full control over the prefix that
|
||||||
|
actually gets signed. Nonetheless, SHA1 is now a demonstrably broken
|
||||||
|
algorithm and further improvements in attacks are highly likely.
|
||||||
|
|
||||||
|
OpenSSH releases prior to 7.2 do not support the newer RSA/SHA2
|
||||||
|
algorithms and will refuse to accept certificates signed by an OpenSSH
|
||||||
|
8.2+ CA using RSA keys unless the unsafe algorithm is explicitly
|
||||||
|
selected during signing ("ssh-keygen -t ssh-rsa"). Older
|
||||||
|
clients/servers may use another CA key type such as ssh-ed25519
|
||||||
|
(supported since OpenSSH 6.5) or one of the ecdsa-sha2-nistp256/384/521
|
||||||
|
types (supported since OpenSSH 5.7) instead if they cannot be upgraded.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Fri, 21 Feb 2020 16:36:37 +0000
|
||||||
|
|
||||||
|
openssh (1:8.1p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.1 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-keygen(1): when acting as a CA and signing certificates with an RSA
|
||||||
|
key, default to using the rsa-sha2-512 signature algorithm.
|
||||||
|
Certificates signed by RSA keys will therefore be incompatible with
|
||||||
|
OpenSSH versions prior to 7.2 unless the default is overridden (using
|
||||||
|
"ssh-keygen -t ssh-rsa -s ...").
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Thu, 10 Oct 2019 10:23:19 +0100
|
||||||
|
|
||||||
|
openssh (1:8.0p1-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 8.0 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* sshd(8): Remove support for obsolete "host/port" syntax.
|
||||||
|
Slash-separated host/port was added in 2001 as an alternative to
|
||||||
|
host:port syntax for the benefit of IPv6 users. These days there are
|
||||||
|
established standards for this like [::1]:22 and the slash syntax is
|
||||||
|
easily mistaken for CIDR notation, which OpenSSH supports for some
|
||||||
|
things. Remove the slash notation from ListenAddress and PermitOpen.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 09 Jun 2019 22:47:27 +0100
|
||||||
|
|
||||||
|
openssh (1:7.9p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.9 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1), sshd(8): the setting of the new CASignatureAlgorithms option
|
||||||
|
bans the use of DSA keys as certificate authorities.
|
||||||
|
* sshd(8): the authentication success/failure log message has changed
|
||||||
|
format slightly. It now includes the certificate fingerprint
|
||||||
|
(previously it included only key ID and CA key fingerprint).
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 21 Oct 2018 10:39:24 +0100
|
||||||
|
|
||||||
|
openssh (1:7.8p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.8 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh-keygen(1): Write OpenSSH format private keys by default instead of
|
||||||
|
using OpenSSL's PEM format. 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
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Thu, 30 Aug 2018 15:35:27 +0100
|
||||||
|
|
||||||
|
openssh (1:7.6p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.6 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* ssh(1): Delete SSH protocol version 1 support, associated configuration
|
||||||
|
options and documentation.
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Fri, 06 Oct 2017 12:36:48 +0100
|
||||||
|
|
||||||
|
openssh (1:7.5p1-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.5 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* This release deprecates the sshd_config UsePrivilegeSeparation option,
|
||||||
|
thereby making privilege separation mandatory.
|
||||||
|
|
||||||
|
* 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. For example:
|
||||||
|
|
||||||
|
Connection closed by user x 1.1.1.1 port 1234 [preauth]
|
||||||
|
Connection closed by authenticating user x 10.1.1.1 port 1234 [preauth]
|
||||||
|
Connection closed by invalid user x 1.1.1.1 port 1234 [preauth]
|
||||||
|
|
||||||
|
Affected messages include connection closure, timeout, remote
|
||||||
|
disconnection, negotiation failure and some other fatal messages
|
||||||
|
generated by the packet code.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 02 Apr 2017 02:58:01 +0100
|
||||||
|
|
||||||
|
openssh (1:7.4p1-7) unstable; urgency=medium
|
||||||
|
|
||||||
|
This version restores the default for AuthorizedKeysFile to search both
|
||||||
|
~/.ssh/authorized_keys and ~/.ssh/authorized_keys2, as was the case in
|
||||||
|
Debian configurations before 1:7.4p1-1. Upstream intends to phase out
|
||||||
|
searching ~/.ssh/authorized_keys2 by default, so you should ensure that
|
||||||
|
you are only using ~/.ssh/authorized_keys, at least for critical
|
||||||
|
administrative access; do not assume that the current default will remain
|
||||||
|
in place forever.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 05 Mar 2017 02:12:42 +0000
|
||||||
|
|
||||||
|
openssh (1:7.4p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.4 includes a number of changes that may affect existing
|
||||||
|
configurations:
|
||||||
|
|
||||||
|
* 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): Remove support for pre-authentication compression. Doing
|
||||||
|
compression early in the protocol probably seemed reasonable in the
|
||||||
|
1990s, but today it's clearly a bad idea in terms of both cryptography
|
||||||
|
(cf. multiple compression oracle attacks in TLS) and attack surface.
|
||||||
|
Pre-auth compression support has been disabled by default for >10
|
||||||
|
years. Support remains in the client.
|
||||||
|
* ssh-agent will refuse to load PKCS#11 modules outside a whitelist of
|
||||||
|
trusted paths by default. The path whitelist may be specified at
|
||||||
|
run-time.
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
The unprivileged sshd process that deals with pre-authentication network
|
||||||
|
traffic is now subject to additional sandboxing restrictions by default:
|
||||||
|
that is, the default sshd_config now sets UsePrivilegeSeparation to
|
||||||
|
"sandbox" rather than "yes". This has been the case upstream for a while,
|
||||||
|
but until now the Debian configuration diverged unnecessarily.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Tue, 27 Dec 2016 18:01:46 +0000
|
||||||
|
|
||||||
|
openssh (1:7.2p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.2 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.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Tue, 08 Mar 2016 11:47:20 +0000
|
||||||
|
|
||||||
|
openssh (1:7.1p1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
OpenSSH 7.0 disables several pieces of weak, legacy, and/or unsafe
|
||||||
|
cryptography.
|
||||||
|
|
||||||
|
* Support for the legacy SSH version 1 protocol is disabled by default at
|
||||||
|
compile time. Note that this also means that the Cipher keyword in
|
||||||
|
ssh_config(5) is effectively no longer usable; use Ciphers instead for
|
||||||
|
protocol 2. The openssh-client-ssh1 package includes "ssh1", "scp1",
|
||||||
|
and "ssh-keygen1" binaries which you can use if you have no alternative
|
||||||
|
way to connect to an outdated SSH1-only server; please contact the
|
||||||
|
server administrator or system vendor in such cases and ask them to
|
||||||
|
upgrade.
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
Future releases will retire more legacy cryptography, including:
|
||||||
|
|
||||||
|
* Refusing all RSA keys smaller than 1024 bits (the current minimum is
|
||||||
|
768 bits).
|
||||||
|
* Several ciphers will be disabled by default: blowfish-cbc, cast128-cbc,
|
||||||
|
all arcfour variants, and the rijndael-cbc aliases for AES.
|
||||||
|
* MD5-based HMAC algorithms will be disabled by default.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Tue, 08 Dec 2015 15:33:08 +0000
|
||||||
|
|
||||||
|
openssh (1:6.9p1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Thu, 20 Aug 2015 10:38:58 +0100
|
||||||
|
|
||||||
|
openssh (1:6.7p1-5) unstable; urgency=medium
|
||||||
|
|
||||||
|
openssh-server 1:6.7p1-4 changed the default setting of AcceptEnv to list
|
||||||
|
a number of specific LC_FOO variables rather than the wildcard LC_*. I
|
||||||
|
have since been persuaded that this was a bad idea and have reverted it,
|
||||||
|
but it is difficult to automatically undo the change to
|
||||||
|
/etc/ssh/sshd_config without compounding the problem (that of modifying
|
||||||
|
configuration that some users did not want to be modified) further. Most
|
||||||
|
users who upgraded via version 1:6.7p1-4 should restore the previous value
|
||||||
|
of "AcceptEnv LANG LC_*" in /etc/ssh/sshd_config.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sun, 22 Mar 2015 23:09:32 +0000
|
||||||
|
|
||||||
|
openssh (1:5.4p1-2) unstable; urgency=low
|
||||||
|
|
||||||
|
Smartcard support is now available using PKCS#11 tokens. If you were
|
||||||
|
previously using an unofficial build of Debian's OpenSSH package with
|
||||||
|
OpenSC-based smartcard support added, then note that commands like
|
||||||
|
'ssh-add -s 0' will no longer work; you need to use 'ssh-add -s
|
||||||
|
/usr/lib/opensc-pkcs11.so' instead.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sat, 10 Apr 2010 01:08:59 +0100
|
||||||
|
|
||||||
|
openssh (1:3.8.1p1-9) experimental; urgency=low
|
||||||
|
|
||||||
|
The ssh package has been split into openssh-client and openssh-server. If
|
||||||
|
you had previously requested that the sshd server should not be run, then
|
||||||
|
that request will still be honoured. However, the recommended approach is
|
||||||
|
now to remove the openssh-server package if you do not want to run sshd.
|
||||||
|
You can remove the old /etc/ssh/sshd_not_to_be_run marker file after doing
|
||||||
|
that.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Mon, 2 Aug 2004 20:48:54 +0100
|
||||||
|
|
||||||
|
openssh (1:3.5p1-1) unstable; urgency=low
|
||||||
|
|
||||||
|
This version of OpenSSH disables the environment option for public keys by
|
||||||
|
default, in order to avoid certain attacks (for example, LD_PRELOAD). If
|
||||||
|
you are using this option in an authorized_keys file, beware that the keys
|
||||||
|
in question will no longer work until the option is removed.
|
||||||
|
|
||||||
|
To re-enable this option, set "PermitUserEnvironment yes" in
|
||||||
|
/etc/ssh/sshd_config after the upgrade is complete, taking note of the
|
||||||
|
warning in the sshd_config(5) manual page.
|
||||||
|
|
||||||
|
-- Colin Watson <cjwatson@debian.org> Sat, 26 Oct 2002 19:41:51 +0100
|
||||||
|
|
||||||
|
openssh (1:3.0.1p1-1) unstable; urgency=high
|
||||||
|
|
||||||
|
As of version 3, OpenSSH no longer uses separate files for ssh1 and ssh2
|
||||||
|
keys. This means the authorized_keys2 and known_hosts2 files are no longer
|
||||||
|
needed. They will still be read in order to maintain backward
|
||||||
|
compatibility.
|
||||||
|
|
||||||
|
-- Matthew Vernon <matthew@debian.org> Thu, 28 Nov 2001 17:43:01 +0000
|
297
debian/README.Debian
vendored
Normal file
297
debian/README.Debian
vendored
Normal file
|
@ -0,0 +1,297 @@
|
||||||
|
OpenSSH for Debian
|
||||||
|
------------------
|
||||||
|
|
||||||
|
UPGRADE ISSUES
|
||||||
|
==============
|
||||||
|
|
||||||
|
PermitRootLogin
|
||||||
|
---------------
|
||||||
|
|
||||||
|
As of 1:6.6p1-1, new installations will be set to "PermitRootLogin
|
||||||
|
without-password" (or the synonymous "PermitRootLogin prohibit-password" as
|
||||||
|
of 1:7.1p1-1). This disables password authentication for root, foiling
|
||||||
|
password dictionary attacks on the root user. Some sites may wish to use
|
||||||
|
the stronger "PermitRootLogin forced-commands-only" or "PermitRootLogin no",
|
||||||
|
but note that "PermitRootLogin no" will break setups that SSH to root with a
|
||||||
|
forced command to take full-system backups. You can use PermitRootLogin in
|
||||||
|
a Match block if you want finer-grained control here.
|
||||||
|
|
||||||
|
For many years Debian's OpenSSH packaging used "PermitRootLogin yes", in
|
||||||
|
line with upstream. To avoid breaking local setups, this is still true for
|
||||||
|
installations upgraded from before 1:6.6p1-1. If you wish to change this,
|
||||||
|
you should edit /etc/ssh/sshd_config, change it manually, and run "service
|
||||||
|
ssh restart" as root.
|
||||||
|
|
||||||
|
Disabling PermitRootLogin means that an attacker possessing credentials for
|
||||||
|
the root account (any credentials in the case of "yes", or private key
|
||||||
|
material in the case of "prohibit-password") must compromise a normal user
|
||||||
|
account rather than being able to SSH directly to root. Be careful to avoid
|
||||||
|
a false illusion of security if you change this setting; any account you
|
||||||
|
escalate to root from should be considered equivalent to root for the
|
||||||
|
purposes of security against external attack. You might for example disable
|
||||||
|
it if you know you will only ever log in as root from the physical console.
|
||||||
|
|
||||||
|
Since the root account does not generally have non-password credentials
|
||||||
|
unless you explicitly install an SSH public key in its
|
||||||
|
~/.ssh/authorized_keys, which you presumably only do if you want to SSH to
|
||||||
|
it, "prohibit-password" should be a reasonable default for most sites.
|
||||||
|
|
||||||
|
As of OpenSSH 7.0, this is the upstream default.
|
||||||
|
|
||||||
|
For further discussion, see:
|
||||||
|
|
||||||
|
https://bugs.debian.org/298138
|
||||||
|
https://bugzilla.mindrot.org/show_bug.cgi?id=2164
|
||||||
|
|
||||||
|
X11 Forwarding
|
||||||
|
--------------
|
||||||
|
|
||||||
|
ssh's default for ForwardX11 has been changed to ``no'' because it has
|
||||||
|
been pointed out that logging into remote systems administered by
|
||||||
|
untrusted people is likely to open you up to X11 attacks, so you
|
||||||
|
should have to actively decide that you trust the remote machine's
|
||||||
|
root, before enabling X11. I strongly recommend that you do this on a
|
||||||
|
machine-by-machine basis, rather than just enabling it in the default
|
||||||
|
host settings.
|
||||||
|
|
||||||
|
In order for X11 forwarding to work, you need to install xauth on the
|
||||||
|
server. In Debian this is in the xbase-clients package.
|
||||||
|
|
||||||
|
As of OpenSSH 3.1, the remote $DISPLAY uses localhost by default to reduce
|
||||||
|
the security risks of X11 forwarding. Look up X11UseLocalhost in
|
||||||
|
sshd_config(8) if this is a problem.
|
||||||
|
|
||||||
|
OpenSSH 3.8 invented ForwardX11Trusted, which when set to no causes the
|
||||||
|
ssh client to create an untrusted X cookie so that attacks on the
|
||||||
|
forwarded X11 connection can't become attacks on X clients on the remote
|
||||||
|
machine. However, this has some problems in implementation - notably a
|
||||||
|
very short timeout of the untrusted cookie - breaks large numbers of
|
||||||
|
existing setups, and generally seems immature. The Debian package
|
||||||
|
therefore sets the default for this option to "yes" (in ssh itself,
|
||||||
|
rather than in ssh_config).
|
||||||
|
|
||||||
|
Fallback to RSH
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The default for this setting has been changed from Yes to No, for
|
||||||
|
security reasons, and to stop the delay attempting to rsh to machines
|
||||||
|
that don't offer the service. Simply switch it back on in either
|
||||||
|
/etc/ssh/ssh_config or ~/.ssh/config for those machines that you need
|
||||||
|
it for.
|
||||||
|
|
||||||
|
Setgid ssh-agent and environment variables
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
As of version 1:3.5p1-1, ssh-agent is installed setgid to prevent ptrace()
|
||||||
|
attacks retrieving private key material. This has the side-effect of causing
|
||||||
|
glibc to remove certain environment variables which might have security
|
||||||
|
implications for set-id programs, including LD_PRELOAD, LD_LIBRARY_PATH, and
|
||||||
|
TMPDIR.
|
||||||
|
|
||||||
|
If you need to set any of these environment variables, you will need to do
|
||||||
|
so in the program exec()ed by ssh-agent. This may involve creating a small
|
||||||
|
wrapper script.
|
||||||
|
|
||||||
|
Symlink Hostname invocation
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
This version of ssh no longer includes support for invoking ssh with the
|
||||||
|
hostname as the name of the file run. People wanting this support should
|
||||||
|
use the ssh-argv0 script.
|
||||||
|
|
||||||
|
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
|
|
||||||
|
OTHER ISSUES
|
||||||
|
============
|
||||||
|
|
||||||
|
Authorization Forwarding
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
Similarly, root on a remote server could make use of your ssh-agent
|
||||||
|
(while you're logged into their machine) to obtain access to machines
|
||||||
|
which trust your keys. This feature is therefore disabled by default.
|
||||||
|
You should only re-enable it for those hosts (in your ~/.ssh/config or
|
||||||
|
/etc/ssh/ssh_config) where you are confident that the remote machine
|
||||||
|
is not a threat.
|
||||||
|
|
||||||
|
Problems logging in with RSA authentication
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
If you have trouble logging in with RSA authentication then the
|
||||||
|
problem is probably caused by the fact that you have your home
|
||||||
|
directory writable by group, as well as user (this is the default on
|
||||||
|
Debian systems).
|
||||||
|
|
||||||
|
Depending upon other settings on your system (i.e. other users being
|
||||||
|
in your group) this could open a security hole, so you will need to
|
||||||
|
make your home directory writable only by yourself. Run this command,
|
||||||
|
as yourself:
|
||||||
|
|
||||||
|
chmod g-w ~/
|
||||||
|
|
||||||
|
to remove group write permissions. If you use ssh-copy-id to install your
|
||||||
|
keys, it does this for you.
|
||||||
|
|
||||||
|
-L option of ssh nonfree
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
non-free ssh supported the usage of the option -L to use a non privileged
|
||||||
|
port for scp. This option will not be supported by scp from openssh.
|
||||||
|
|
||||||
|
Please use instead scp -o "UsePrivilegedPort=no" as documented in the
|
||||||
|
manpage to scp itself.
|
||||||
|
|
||||||
|
Problem logging in because of TCP-Wrappers
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
ssh is compiled with support for tcp-wrappers. So if you can no longer
|
||||||
|
log into your system, please check that /etc/hosts.allow and /etc/hosts.deny
|
||||||
|
are configured so that ssh is not blocked.
|
||||||
|
|
||||||
|
Kerberos support
|
||||||
|
----------------
|
||||||
|
|
||||||
|
ssh is now compiled with Kerberos support. Unfortunately, privilege
|
||||||
|
separation is incompatible with parts of Kerberos support for protocol 2;
|
||||||
|
you may need to run kinit after logging in.
|
||||||
|
|
||||||
|
Interoperability between scp and the ssh.com SSH server
|
||||||
|
-------------------------------------------------------
|
||||||
|
|
||||||
|
In version 2 and greater of the commercial SSH server produced by SSH
|
||||||
|
Communications Security, scp was changed to use SFTP (SSH2's file transfer
|
||||||
|
protocol) instead of the traditional rcp-over-ssh, thereby breaking
|
||||||
|
compatibility. The OpenSSH developers regard this as a bug in the ssh.com
|
||||||
|
server, and do not currently intend to change OpenSSH's scp to match.
|
||||||
|
|
||||||
|
Workarounds for this problem are to install scp1 on the server (scp2 will
|
||||||
|
fall back to it), to use sftp, or to use some other transfer mechanism such
|
||||||
|
as rsync-over-ssh or tar-over-ssh.
|
||||||
|
|
||||||
|
Running sshd from inittab
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Some people find it useful to run the sshd server from inittab, to make sure
|
||||||
|
that it always stays running. To do this, stop sshd ('service ssh stop'),
|
||||||
|
add the following line to /etc/inittab, and run 'telinit q':
|
||||||
|
|
||||||
|
ss:2345:respawn:/usr/sbin/sshd -D
|
||||||
|
|
||||||
|
If you do this, note that you will need to stop sshd being started in the
|
||||||
|
normal way ('update-rc.d ssh disable') and that you will need to restart
|
||||||
|
this sshd manually on upgrades.
|
||||||
|
|
||||||
|
Socket-based activation with systemd
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
If you want to reconfigure systemd to listen on port 22 itself and launch
|
||||||
|
sshd on connection (systemd-style socket activation), then you can run:
|
||||||
|
|
||||||
|
systemctl disable --now ssh.service
|
||||||
|
systemctl start ssh.socket
|
||||||
|
|
||||||
|
To roll back this change, run:
|
||||||
|
|
||||||
|
systemctl stop ssh.socket
|
||||||
|
systemctl enable --now ssh.service
|
||||||
|
|
||||||
|
Or if you want to make this change permanent:
|
||||||
|
|
||||||
|
systemctl enable ssh.socket
|
||||||
|
|
||||||
|
This may be appropriate in environments where minimal footprint is critical
|
||||||
|
(e.g. cloud guests).
|
||||||
|
|
||||||
|
The provided ssh.socket unit file sets ListenStream=22. If you need to have
|
||||||
|
it listen on a different address or port, then you will need to do this as
|
||||||
|
follows (modifying ListenStream to match your requirements):
|
||||||
|
|
||||||
|
mkdir -p /etc/systemd/system/ssh.socket.d
|
||||||
|
cat >/etc/systemd/system/ssh.socket.d/listen.conf <<EOF
|
||||||
|
[Socket]
|
||||||
|
ListenStream=
|
||||||
|
ListenStream=2222
|
||||||
|
EOF
|
||||||
|
systemctl daemon-reload
|
||||||
|
systemctl restart ssh.socket
|
||||||
|
|
||||||
|
See systemd.socket(5) for details.
|
||||||
|
|
||||||
|
Terminating SSH sessions cleanly on shutdown/reboot with systemd
|
||||||
|
----------------------------------------------------------------
|
||||||
|
|
||||||
|
If you have libpam-systemd >= 230 installed (following openssh-server's
|
||||||
|
Recommends) and "UsePAM yes" in sshd_config (the default configuration
|
||||||
|
shipped by this package), then SSH sessions will be terminated cleanly when
|
||||||
|
the server is shut down or rebooted.
|
||||||
|
|
||||||
|
If either of these conditions does not hold, then you may find that SSH
|
||||||
|
sessions hang silently when the server is shut down or rebooted. If you do
|
||||||
|
not want to use PAM or configure it properly for whatever reason, then you
|
||||||
|
can instead copy
|
||||||
|
/usr/share/doc/openssh-server/examples/ssh-session-cleanup.service to
|
||||||
|
/etc/systemd/system/ and run "systemctl enable ssh-session-cleanup.service".
|
||||||
|
|
||||||
|
Non-systemd users may find /usr/lib/openssh/ssh-session-cleanup helpful if
|
||||||
|
they have a similar problem, although at present there is no system
|
||||||
|
integration for this for anything other than systemd.
|
||||||
|
|
||||||
|
SSH protocol 1 server support removed
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
sshd(8) no longer supports the old SSH protocol 1, so all the configuration
|
||||||
|
options related to it are now deprecated and should be removed from
|
||||||
|
/etc/ssh/sshd_config. These are:
|
||||||
|
|
||||||
|
KeyRegenerationInterval
|
||||||
|
RSAAuthentication
|
||||||
|
RhostsRSAAuthentication
|
||||||
|
ServerKeyBits
|
||||||
|
|
||||||
|
The Protocol option is also no longer needed, although it is silently
|
||||||
|
ignored rather than deprecated.
|
||||||
|
|
||||||
|
if-up hook removed
|
||||||
|
------------------
|
||||||
|
|
||||||
|
openssh-server previously shipped an if-up hook that restarted sshd when a
|
||||||
|
network interface came up. This generally caused more problems than it
|
||||||
|
solved: for instance, it means that sshd stops listening briefly while being
|
||||||
|
restarted, which can cause problems in some environments, particularly
|
||||||
|
automated tests.
|
||||||
|
|
||||||
|
The only known situation where the if-up hook was useful was when
|
||||||
|
sshd_config was changed to add ListenAddress entries for particular IP
|
||||||
|
addresses, overriding the default of listening on all addresses, and the
|
||||||
|
system is one that often roams between networks. In such a situation, it is
|
||||||
|
better to remove ListenAddress entries from sshd_config (restoring it to the
|
||||||
|
default behaviour) and instead use firewall rules to restrict incoming SSH
|
||||||
|
connections to only the desired interfaces or addresses.
|
||||||
|
|
||||||
|
For further discussion, see:
|
||||||
|
|
||||||
|
https://bugs.launchpad.net/bugs/1674330
|
||||||
|
|
||||||
|
IPQoS defaults reverted to pre-7.8 values
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
OpenSSH 7.8 changed the default IPQoS settings to use DSCP AF21 for
|
||||||
|
interactive traffic and CS1 for bulk. This caused some problems with other
|
||||||
|
software ("iptables -m tos" and VMware), so Debian's OpenSSH reverts this
|
||||||
|
change for the time being.
|
||||||
|
|
||||||
|
This is *temporary*, and we expect to come back into sync with upstream
|
||||||
|
OpenSSH once those other issues have been fixed. If you want to restore the
|
||||||
|
upstream default, add this to ssh_config and sshd_config:
|
||||||
|
|
||||||
|
IPQoS af21 cs1
|
||||||
|
|
||||||
|
For further discussion, see:
|
||||||
|
|
||||||
|
https://bugs.debian.org/923879
|
||||||
|
https://bugs.debian.org/926229
|
||||||
|
https://bugs.launchpad.net/1822370
|
||||||
|
|
||||||
|
--
|
||||||
|
Matthew Vernon <matthew@debian.org>
|
||||||
|
Colin Watson <cjwatson@debian.org>
|
7681
debian/changelog
vendored
Normal file
7681
debian/changelog
vendored
Normal file
File diff suppressed because it is too large
Load diff
31
debian/check-ucf-md5sums
vendored
Executable file
31
debian/check-ucf-md5sums
vendored
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Check whether debian/openssh-server.ucf-md5sum is up to date.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
contains_md5sum () {
|
||||||
|
# shellcheck disable=SC3043
|
||||||
|
local md5sum
|
||||||
|
md5sum="$(md5sum | sed 's/ -$//')"
|
||||||
|
if grep -qx "$md5sum" debian/openssh-server.ucf-md5sum; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo "Missing from debian/openssh-server.ucf-md5sum: $md5sum" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
ret=0
|
||||||
|
|
||||||
|
<sshd_config contains_md5sum || ret=1
|
||||||
|
<sshd_config \
|
||||||
|
sed 's/^#*PermitRootLogin .*/PermitRootLogin yes/' | \
|
||||||
|
contains_md5sum || ret=1
|
||||||
|
<sshd_config \
|
||||||
|
sed 's/^#PasswordAuthentication .*/PasswordAuthentication no/' | \
|
||||||
|
contains_md5sum || ret=1
|
||||||
|
<sshd_config \
|
||||||
|
sed 's/^#*PermitRootLogin .*/PermitRootLogin yes/' | \
|
||||||
|
sed 's/^#PasswordAuthentication .*/PasswordAuthentication no/' | \
|
||||||
|
contains_md5sum || ret=1
|
||||||
|
|
||||||
|
exit "$ret"
|
2
debian/clean
vendored
Normal file
2
debian/clean
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
config.log
|
||||||
|
debian/openssh-server.sshd.pam
|
322
debian/control
vendored
Normal file
322
debian/control
vendored
Normal file
|
@ -0,0 +1,322 @@
|
||||||
|
Source: openssh
|
||||||
|
Section: net
|
||||||
|
Priority: standard
|
||||||
|
Maintainer: Debian OpenSSH Maintainers <debian-ssh@lists.debian.org>
|
||||||
|
Build-Depends:
|
||||||
|
debhelper (>= 13.1~),
|
||||||
|
debhelper-compat (= 13),
|
||||||
|
dh-exec,
|
||||||
|
dh-runit (>= 2.8.8),
|
||||||
|
dh-sequence-movetousr,
|
||||||
|
libaudit-dev [linux-any],
|
||||||
|
libedit-dev,
|
||||||
|
libfido2-dev (>= 1.5.0) [linux-any],
|
||||||
|
libgtk-3-dev <!pkg.openssh.nognome>,
|
||||||
|
libkrb5-dev | heimdal-dev,
|
||||||
|
libpam0g-dev | libpam-dev,
|
||||||
|
libselinux1-dev [linux-any],
|
||||||
|
libssl-dev (>= 1.1.1),
|
||||||
|
libwrap0-dev | libwrap-dev,
|
||||||
|
libwtmpdb-dev,
|
||||||
|
pkgconf,
|
||||||
|
zlib1g-dev,
|
||||||
|
Standards-Version: 4.6.2
|
||||||
|
Uploaders:
|
||||||
|
Colin Watson <cjwatson@debian.org>,
|
||||||
|
Matthew Vernon <matthew@debian.org>,
|
||||||
|
Homepage: https://www.openssh.com/
|
||||||
|
Vcs-Git: https://salsa.debian.org/ssh-team/openssh.git
|
||||||
|
Vcs-Browser: https://salsa.debian.org/ssh-team/openssh
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
X-Style: black
|
||||||
|
|
||||||
|
Package: openssh-client
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
adduser,
|
||||||
|
init-system-helpers (>= 1.66~),
|
||||||
|
passwd,
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Recommends:
|
||||||
|
xauth,
|
||||||
|
Conflicts:
|
||||||
|
sftp,
|
||||||
|
Breaks:
|
||||||
|
openssh-sk-helper,
|
||||||
|
Replaces:
|
||||||
|
openssh-sk-helper,
|
||||||
|
ssh,
|
||||||
|
ssh-krb5,
|
||||||
|
Suggests:
|
||||||
|
keychain,
|
||||||
|
libpam-ssh,
|
||||||
|
monkeysphere,
|
||||||
|
ssh-askpass,
|
||||||
|
Provides:
|
||||||
|
ssh-client,
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell (SSH) client, for secure access to remote machines
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
Ssh (Secure Shell) is a program for logging into a remote machine
|
||||||
|
and for executing commands on a remote machine.
|
||||||
|
It provides secure encrypted communications between two untrusted
|
||||||
|
hosts over an insecure network. X11 connections and arbitrary TCP/IP
|
||||||
|
ports can also be forwarded over the secure channel.
|
||||||
|
It can be used to provide applications with a secure communication
|
||||||
|
channel.
|
||||||
|
.
|
||||||
|
This package provides the ssh, scp and sftp clients, the ssh-agent
|
||||||
|
and ssh-add programs to make public key authentication more convenient,
|
||||||
|
and the ssh-keygen, ssh-keyscan, ssh-copy-id and ssh-argv0 utilities.
|
||||||
|
.
|
||||||
|
In some countries it may be illegal to use any encryption at all
|
||||||
|
without a special permit.
|
||||||
|
.
|
||||||
|
ssh replaces the insecure rsh, rcp and rlogin programs, which are
|
||||||
|
obsolete for most purposes.
|
||||||
|
|
||||||
|
Package: openssh-client-gssapi
|
||||||
|
Priority: optional
|
||||||
|
Architecture: all
|
||||||
|
Depends:
|
||||||
|
openssh-client (>= ${binary:Version}),
|
||||||
|
${misc:Depends},
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell (SSH) client, with GSS-API support
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
Ssh (Secure Shell) is a program for logging into a remote machine
|
||||||
|
and for executing commands on a remote machine.
|
||||||
|
It provides secure encrypted communications between two untrusted
|
||||||
|
hosts over an insecure network. X11 connections and arbitrary TCP/IP
|
||||||
|
ports can also be forwarded over the secure channel.
|
||||||
|
It can be used to provide applications with a secure communication
|
||||||
|
channel.
|
||||||
|
.
|
||||||
|
This package provides versions of the ssh client and related programs
|
||||||
|
built with support for GSS-API authentication and key exchange, which
|
||||||
|
can be used with systems such as Kerberos.
|
||||||
|
It is currently an empty package depending on openssh-client, but
|
||||||
|
future releases will remove GSS-API support from openssh-client, so
|
||||||
|
users who need it should install this package.
|
||||||
|
|
||||||
|
Package: openssh-server
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Pre-Depends:
|
||||||
|
${misc:Pre-Depends},
|
||||||
|
Depends:
|
||||||
|
libpam-modules,
|
||||||
|
libpam-runtime,
|
||||||
|
lsb-base,
|
||||||
|
openssh-client (= ${binary:Version}),
|
||||||
|
openssh-sftp-server,
|
||||||
|
procps,
|
||||||
|
ucf,
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Recommends:
|
||||||
|
default-logind | logind | libpam-systemd,
|
||||||
|
ncurses-term,
|
||||||
|
xauth,
|
||||||
|
${openssh-server:Recommends},
|
||||||
|
Conflicts:
|
||||||
|
sftp,
|
||||||
|
ssh-socks,
|
||||||
|
ssh2,
|
||||||
|
Replaces:
|
||||||
|
openssh-client (<< 1:7.9p1-8),
|
||||||
|
ssh,
|
||||||
|
ssh-krb5,
|
||||||
|
Breaks:
|
||||||
|
${runit:Breaks},
|
||||||
|
Suggests:
|
||||||
|
molly-guard,
|
||||||
|
monkeysphere,
|
||||||
|
ssh-askpass,
|
||||||
|
ufw,
|
||||||
|
Provides:
|
||||||
|
ssh-server,
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell (SSH) server, for secure access from remote machines
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
Ssh (Secure Shell) is a program for logging into a remote machine
|
||||||
|
and for executing commands on a remote machine.
|
||||||
|
It provides secure encrypted communications between two untrusted
|
||||||
|
hosts over an insecure network. X11 connections and arbitrary TCP/IP
|
||||||
|
ports can also be forwarded over the secure channel.
|
||||||
|
It can be used to provide applications with a secure communication
|
||||||
|
channel.
|
||||||
|
.
|
||||||
|
This package provides the sshd server.
|
||||||
|
.
|
||||||
|
In some countries it may be illegal to use any encryption at all
|
||||||
|
without a special permit.
|
||||||
|
.
|
||||||
|
sshd replaces the insecure rshd program, which is obsolete for most
|
||||||
|
purposes.
|
||||||
|
|
||||||
|
Package: openssh-server-gssapi
|
||||||
|
Priority: optional
|
||||||
|
Architecture: all
|
||||||
|
Depends:
|
||||||
|
openssh-client-gssapi (>= ${binary:Version}),
|
||||||
|
openssh-server (>= ${binary:Version}),
|
||||||
|
${misc:Depends},
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell (SSH) server, with GSS-API key exchange
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
Ssh (Secure Shell) is a program for logging into a remote machine
|
||||||
|
and for executing commands on a remote machine.
|
||||||
|
It provides secure encrypted communications between two untrusted
|
||||||
|
hosts over an insecure network. X11 connections and arbitrary TCP/IP
|
||||||
|
ports can also be forwarded over the secure channel.
|
||||||
|
It can be used to provide applications with a secure communication
|
||||||
|
channel.
|
||||||
|
.
|
||||||
|
This package provides a version of the sshd server built with support
|
||||||
|
for GSS-API authentication and key exchange, which can be used with
|
||||||
|
systems such as Kerberos.
|
||||||
|
It is currently an empty package depending on openssh-server, but
|
||||||
|
future releases will remove GSS-API support from openssh-server, so
|
||||||
|
users who need it should install this package.
|
||||||
|
|
||||||
|
Package: openssh-sftp-server
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Recommends:
|
||||||
|
openssh-server | ssh-server,
|
||||||
|
Breaks:
|
||||||
|
openssh-server (<< 1:6.5p1-5),
|
||||||
|
Replaces:
|
||||||
|
openssh-server (<< 1:6.5p1-5),
|
||||||
|
Enhances:
|
||||||
|
openssh-server,
|
||||||
|
ssh-server,
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell (SSH) sftp server module, for SFTP access from remote machines
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
Ssh (Secure Shell) is a program for logging into a remote machine
|
||||||
|
and for executing commands on a remote machine.
|
||||||
|
It provides secure encrypted communications between two untrusted
|
||||||
|
hosts over an insecure network. X11 connections and arbitrary TCP/IP
|
||||||
|
ports can also be forwarded over the secure channel.
|
||||||
|
It can be used to provide applications with a secure communication
|
||||||
|
channel.
|
||||||
|
.
|
||||||
|
This package provides the SFTP server module for the SSH server. It
|
||||||
|
is needed if you want to access your SSH server with SFTP. The SFTP
|
||||||
|
server module also works with other SSH daemons like dropbear.
|
||||||
|
.
|
||||||
|
OpenSSH's sftp and sftp-server implement revision 3 of the SSH filexfer
|
||||||
|
protocol described in:
|
||||||
|
.
|
||||||
|
http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt
|
||||||
|
.
|
||||||
|
Newer versions of the draft will not be supported, though some features
|
||||||
|
are individually implemented as extensions.
|
||||||
|
|
||||||
|
Package: openssh-tests
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
openssh-client (= ${binary:Version}),
|
||||||
|
openssh-server (= ${binary:Version}),
|
||||||
|
openssh-sftp-server (= ${binary:Version}),
|
||||||
|
openssl,
|
||||||
|
putty-tools (>= 0.67-2),
|
||||||
|
python3-twisted,
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: OpenSSH regression tests
|
||||||
|
This package provides OpenSSH's regression test suite. It is mainly
|
||||||
|
intended for use with the autopkgtest system, though can also be run
|
||||||
|
directly using /usr/lib/openssh/regress/run-tests.
|
||||||
|
|
||||||
|
Package: ssh
|
||||||
|
Priority: optional
|
||||||
|
Architecture: all
|
||||||
|
Depends:
|
||||||
|
openssh-client (>= ${binary:Version}),
|
||||||
|
openssh-server (>= ${binary:Version}),
|
||||||
|
${misc:Depends},
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: secure shell client and server (metapackage)
|
||||||
|
This metapackage is a convenient way to install both the OpenSSH client
|
||||||
|
and the OpenSSH server. It provides nothing in and of itself, so you
|
||||||
|
may remove it if nothing depends on it.
|
||||||
|
|
||||||
|
Package: ssh-askpass-gnome
|
||||||
|
Build-Profiles: <!pkg.openssh.nognome>
|
||||||
|
Section: gnome
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
openssh-client | ssh (>= 1:1.2pre7-4),
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Replaces:
|
||||||
|
ssh (<< 1:3.5p1-3),
|
||||||
|
Provides:
|
||||||
|
ssh-askpass,
|
||||||
|
Multi-Arch: foreign
|
||||||
|
Description: interactive X program to prompt users for a passphrase for ssh-add
|
||||||
|
This has been split out of the main openssh-client package so that
|
||||||
|
openssh-client does not need to depend on GTK+.
|
||||||
|
.
|
||||||
|
You probably want the ssh-askpass package instead, but this is
|
||||||
|
provided to add to your choice and/or confusion.
|
||||||
|
|
||||||
|
Package: openssh-client-udeb
|
||||||
|
Build-Profiles: <!noudeb>
|
||||||
|
Package-Type: udeb
|
||||||
|
Section: debian-installer
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
XB-Installer-Menu-Item: 99999
|
||||||
|
Description: secure shell client for the Debian installer
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
This package provides the ssh client for use in debian-installer.
|
||||||
|
|
||||||
|
Package: openssh-server-udeb
|
||||||
|
Build-Profiles: <!noudeb>
|
||||||
|
Package-Type: udeb
|
||||||
|
Section: debian-installer
|
||||||
|
Priority: optional
|
||||||
|
Architecture: any
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends},
|
||||||
|
Description: secure shell server for the Debian installer
|
||||||
|
This is the portable version of OpenSSH, a free implementation of
|
||||||
|
the Secure Shell protocol as specified by the IETF secsh working
|
||||||
|
group.
|
||||||
|
.
|
||||||
|
This package provides the sshd server for use in debian-installer.
|
||||||
|
Since it is expected to be used in specialized situations (e.g. S/390
|
||||||
|
installs with no console), it does not provide any configuration.
|
239
debian/copyright
vendored
Normal file
239
debian/copyright
vendored
Normal file
|
@ -0,0 +1,239 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: OpenSSH
|
||||||
|
Upstream-Contact: openssh-unix-dev@mindrot.org
|
||||||
|
Source: https://www.openssh.com/portable.html
|
||||||
|
Comment:
|
||||||
|
The overall licence of the OpenSSH upstream code amounts to BSD-3-clause or
|
||||||
|
various less restrictive licences, with the additional restrictions that
|
||||||
|
derived versions must be clearly marked as such and that if derived works
|
||||||
|
are incompatible with the RFC-specified protocol then they must be called
|
||||||
|
by a name other than "ssh" or "Secure Shell".
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright:
|
||||||
|
1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
Markus Friedl
|
||||||
|
Theo de Raadt
|
||||||
|
Niels Provos
|
||||||
|
Dug Song
|
||||||
|
Aaron Campbell
|
||||||
|
Damien Miller
|
||||||
|
Kevin Steves
|
||||||
|
Daniel Kouril
|
||||||
|
Wesley Griffin
|
||||||
|
Per Allansson
|
||||||
|
Nils Nordman
|
||||||
|
Simon Wilkinson
|
||||||
|
Ben Lindstrom
|
||||||
|
Tim Rice
|
||||||
|
Andre Lucas
|
||||||
|
Chris Adams
|
||||||
|
Corinna Vinschen
|
||||||
|
Cray Inc.
|
||||||
|
Denis Parker
|
||||||
|
Gert Doering
|
||||||
|
Jakob Schlyter
|
||||||
|
Jason Downs
|
||||||
|
Juha Yrjölä
|
||||||
|
Michael Stone
|
||||||
|
Networks Associates Technology, Inc.
|
||||||
|
Solar Designer
|
||||||
|
Todd C. Miller
|
||||||
|
Wayne Schroeder
|
||||||
|
William Jones
|
||||||
|
Darren Tucker
|
||||||
|
Sun Microsystems
|
||||||
|
The SCO Group
|
||||||
|
Daniel Walsh
|
||||||
|
Red Hat, Inc
|
||||||
|
Simon Vallet / Genoscope
|
||||||
|
Internet Software Consortium
|
||||||
|
Reyk Floeter
|
||||||
|
Chad Mynhier
|
||||||
|
License: OpenSSH
|
||||||
|
Tatu Ylonen's original licence is as follows (excluding some terms about
|
||||||
|
third-party code which are no longer relevant; see the LICENCE file for
|
||||||
|
details):
|
||||||
|
.
|
||||||
|
As far as I am concerned, the code I have written for this software
|
||||||
|
can be used freely for any purpose. Any derived versions of this
|
||||||
|
software must be clearly marked as such, and if the derived work is
|
||||||
|
incompatible with the protocol description in the RFC file, it must be
|
||||||
|
called by a name other than "ssh" or "Secure Shell".
|
||||||
|
.
|
||||||
|
Note that any information and cryptographic algorithms used in this
|
||||||
|
software are publicly available on the Internet and at any major
|
||||||
|
bookstore, scientific library, and patent office worldwide. More
|
||||||
|
information can be found e.g. at "http://www.cs.hut.fi/crypto".
|
||||||
|
.
|
||||||
|
The legal status of this program is some combination of all these
|
||||||
|
permissions and restrictions. Use only at your own responsibility.
|
||||||
|
You will be responsible for any legal consequences yourself; I am not
|
||||||
|
making any claims whether possessing or using this is legal or not in
|
||||||
|
your country, and I am not taking any responsibility on your behalf.
|
||||||
|
.
|
||||||
|
Most remaining components of the software are provided under a standard
|
||||||
|
2-term BSD licence:
|
||||||
|
.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
.
|
||||||
|
Some code is licensed under an ISC-style license, to the following
|
||||||
|
copyright holders:
|
||||||
|
.
|
||||||
|
Permission to use, copy, modify, and distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
|
||||||
|
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
|
||||||
|
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||||
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
Files: ssh-keyscan.*
|
||||||
|
Copyright: 1995, 1996 David Mazieres <dm@lcs.mit.edu>
|
||||||
|
License: Mazieres-BSD-style
|
||||||
|
Modification and redistribution in source and binary forms is
|
||||||
|
permitted provided that due credit is given to the author and the
|
||||||
|
OpenBSD project by leaving this copyright notice intact.
|
||||||
|
|
||||||
|
Files: rijndael.*
|
||||||
|
Copyright: none (public domain)
|
||||||
|
License: public-domain
|
||||||
|
This code is from a reference implementation of the Rijndael cipher which
|
||||||
|
has been dedicated to the public domain.
|
||||||
|
.
|
||||||
|
@version 3.0 (December 2000)
|
||||||
|
.
|
||||||
|
Optimised ANSI C code for the Rijndael cipher (now AES)
|
||||||
|
.
|
||||||
|
@author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
|
||||||
|
@author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
|
||||||
|
@author Paulo Barreto <paulo.barreto@terra.com.br>
|
||||||
|
.
|
||||||
|
This code is hereby placed in the public domain.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
|
||||||
|
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
||||||
|
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
Files: loginrec.c openbsd-compat/* scp.c
|
||||||
|
Copyright:
|
||||||
|
1983, 1995-1997 Eric P. Allman
|
||||||
|
1999 Aaron Campbell
|
||||||
|
1993 by Digital Equipment Corporation
|
||||||
|
2000 Andre Lucas
|
||||||
|
1999-2010 Damien Miller
|
||||||
|
1997-2010 Todd C. Miller
|
||||||
|
1995, 1996, 1998, 1999, 2008 Theo de Raadt
|
||||||
|
2003 Constantin S. Svintsoff <kostik@iclub.nsu.ru>
|
||||||
|
1980, 1983, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995 The Regents of the University of California
|
||||||
|
License: BSD-3-clause
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. Neither the name of the University nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
|
||||||
|
Files: openbsd-compat/bsd-snprintf.c
|
||||||
|
Copyright: 1995 Patrick Powell
|
||||||
|
License: Powell-BSD-style
|
||||||
|
This code is based on code written by Patrick Powell
|
||||||
|
(papowell@astart.com) It may be used for any purpose as long as this
|
||||||
|
notice remains intact on all source code distributions
|
||||||
|
|
||||||
|
Files: openbsd-compat/sigact.*
|
||||||
|
Copyright: 1998, 2000 Free Software Foundation, Inc.
|
||||||
|
License: Expat-with-advertising-restriction
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, distribute with modifications, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
.
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
.
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||||
|
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||||
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
|
||||||
|
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
.
|
||||||
|
Except as contained in this notice, the name(s) of the above copyright
|
||||||
|
holders shall not be used in advertising or otherwise to promote the
|
||||||
|
sale, use or other dealings in this Software without prior written
|
||||||
|
authorization.
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright: Matthew Vernon, Colin Watson
|
||||||
|
License: BSD-2-clause
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
91
debian/gnome-ssh-askpass.1
vendored
Normal file
91
debian/gnome-ssh-askpass.1
vendored
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
.\" Copyright (c) 2003-2022 Colin Watson <cjwatson@debian.org>
|
||||||
|
.\" Based on a manual page by Philip Hands for x11-ssh-askpass(1).
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.Dd $Mdocdate: November 14 2022 $
|
||||||
|
.Dt GNOME-SSH-ASKPASS 1
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm gnome-ssh-askpass
|
||||||
|
.Nd prompts a user for a passphrase using GNOME
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Nm Op Ar message ...
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
.Nm
|
||||||
|
is a GNOME-based passphrase dialog for use with OpenSSH.
|
||||||
|
It is intended to be called by the
|
||||||
|
.Xr ssh-add 1
|
||||||
|
program and not invoked directly.
|
||||||
|
It allows
|
||||||
|
.Xr ssh-add 1
|
||||||
|
to obtain a passphrase from a user, even if not connected to a terminal
|
||||||
|
(assuming that an X display is available).
|
||||||
|
This happens automatically in the case where
|
||||||
|
.Xr ssh-add 1
|
||||||
|
is invoked from one's
|
||||||
|
.Pa ~/.xsession
|
||||||
|
or as one of the GNOME startup programs, for example.
|
||||||
|
.Pp
|
||||||
|
In order to be called automatically by
|
||||||
|
.Xr ssh-add 1 ,
|
||||||
|
the
|
||||||
|
.Ev SSH_ASKPASS
|
||||||
|
environment variable should be set to point to the location of
|
||||||
|
.Nm ,
|
||||||
|
or
|
||||||
|
.Nm
|
||||||
|
should be installed as
|
||||||
|
.Pa /usr/bin/ssh-askpass .
|
||||||
|
.Sh ENVIRONMENT
|
||||||
|
The following environment variables are recognized:
|
||||||
|
.Bl -tag -width "GNOME_SSH_ASKPASS_GRAB_POINTER"
|
||||||
|
.It Ev GNOME_SSH_ASKPASS_BG_COLOR
|
||||||
|
Text area background color, specified as hexadecimal RGB or RRGGBB,
|
||||||
|
optionally prefixed by
|
||||||
|
.Dq #
|
||||||
|
or
|
||||||
|
.Dq 0x .
|
||||||
|
.It Ev GNOME_SSH_ASKPASS_FG_COLOR
|
||||||
|
Text area foreground color, specified as hexadecimal RGB or RRGGBB,
|
||||||
|
optionally prefixed by
|
||||||
|
.Dq #
|
||||||
|
or
|
||||||
|
.Dq 0x .
|
||||||
|
.It Ev GNOME_SSH_ASKPASS_GRAB_POINTER
|
||||||
|
If set, causes
|
||||||
|
.Nm
|
||||||
|
to grab the mouse pointer before asking for a passphrase.
|
||||||
|
.It Ev GNOME_SSH_ASKPASS_GRAB_SERVER
|
||||||
|
If set, causes
|
||||||
|
.Nm
|
||||||
|
to grab the X server before asking for a passphrase.
|
||||||
|
.It Ev SSH_ASKPASS_PROMPT
|
||||||
|
If set to
|
||||||
|
.Li confirm ,
|
||||||
|
show a yes-or-no prompt, defaulting to yes.
|
||||||
|
If set to
|
||||||
|
.Li none ,
|
||||||
|
show a prompt with only a close button.
|
||||||
|
Otherwise, show an OK-or-cancel prompt, defaulting to OK.
|
||||||
|
This environment variable is typically set by
|
||||||
|
.Xr ssh-add 1 ,
|
||||||
|
and should not normally be set manually.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
Regardless of whether either
|
||||||
|
.Ev GNOME_SSH_ASKPASS_GRAB_POINTER
|
||||||
|
or
|
||||||
|
.Ev GNOME_SSH_ASKPASS_GRAB_SERVER
|
||||||
|
is set,
|
||||||
|
.Nm
|
||||||
|
will grab the keyboard.
|
12
debian/keygen-test/Makefile
vendored
Normal file
12
debian/keygen-test/Makefile
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
test: getpid.so
|
||||||
|
chmod +x keygen-test
|
||||||
|
./keygen-test
|
||||||
|
|
||||||
|
getpid.o: getpid.c
|
||||||
|
gcc $(CPPFLAGS) $(CFLAGS) -fPIC -c $< -o $@
|
||||||
|
|
||||||
|
getpid.so: getpid.o
|
||||||
|
gcc $(LDFLAGS) -shared -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f getpid.o getpid.so key1 key1.pub key2 key2.pub
|
39
debian/keygen-test/getpid.c
vendored
Normal file
39
debian/keygen-test/getpid.c
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
/*
|
||||||
|
* Compile:
|
||||||
|
|
||||||
|
gcc -fPIC -c getpid.c -o getpid.o
|
||||||
|
gcc -shared -o getpid.so getpid.o
|
||||||
|
|
||||||
|
* Use:
|
||||||
|
|
||||||
|
FORCE_PID=1234 LD_PRELOAD=./getpid.so bash
|
||||||
|
|
||||||
|
#
|
||||||
|
# Copyright (C) 2001-2008 Kees Cook
|
||||||
|
# kees@outflux.net, http://outflux.net/
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or
|
||||||
|
# modify it under the terms of the GNU General Public License
|
||||||
|
# as published by the Free Software Foundation; either version 2
|
||||||
|
# of the License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
# http://www.gnu.org/copyleft/gpl.html
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
pid_t getpid(void)
|
||||||
|
{
|
||||||
|
return atoi(getenv("FORCE_PID"));
|
||||||
|
}
|
12
debian/keygen-test/keygen-test
vendored
Executable file
12
debian/keygen-test/keygen-test
vendored
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
rm -f key1 key1.pub key2 key2.pub
|
||||||
|
LD_PRELOAD="$(pwd)/getpid.so" FORCE_PID=1234 \
|
||||||
|
../build-deb/ssh-keygen -N '' -f key1 >/dev/null
|
||||||
|
LD_PRELOAD="$(pwd)/getpid.so" FORCE_PID=1234 \
|
||||||
|
../build-deb/ssh-keygen -N '' -f key2 >/dev/null
|
||||||
|
if cmp -s key1 key2; then
|
||||||
|
echo "Generated two identical keys!" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit 0
|
3
debian/openssh-client-udeb.install
vendored
Normal file
3
debian/openssh-client-udeb.install
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
scp usr/bin
|
||||||
|
sftp usr/bin
|
||||||
|
ssh usr/bin
|
35
debian/openssh-client.apport
vendored
Normal file
35
debian/openssh-client.apport
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
'''apport hook for openssh-client
|
||||||
|
|
||||||
|
(c) 2010 Canonical Ltd.
|
||||||
|
Author: Chuck Short <chuck.short@canonical.com>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version. See http://www.gnu.org/copyleft/gpl.html for
|
||||||
|
the full text of the license.
|
||||||
|
'''
|
||||||
|
|
||||||
|
from apport.hookutils import (
|
||||||
|
attach_conffiles,
|
||||||
|
attach_related_packages,
|
||||||
|
command_output,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def add_info(report, ui):
|
||||||
|
response = ui.yesno("The contents of your /etc/ssh/ssh_config file "
|
||||||
|
"may help developers diagnose your bug more "
|
||||||
|
"quickly. However, it may contain sensitive "
|
||||||
|
"information. Do you want to include it in your "
|
||||||
|
"bug report?")
|
||||||
|
|
||||||
|
if response == None: # user cancelled
|
||||||
|
raise StopIteration
|
||||||
|
|
||||||
|
elif response:
|
||||||
|
attach_conffiles(report, 'openssh-client')
|
||||||
|
|
||||||
|
attach_related_packages(report,
|
||||||
|
['ssh-askpass', 'libpam-ssh', 'keychain', 'ssh-askpass-gnome'])
|
||||||
|
report['SSHClientVersion'] = command_output(['/usr/bin/ssh', '-V'])
|
1
debian/openssh-client.dirs
vendored
Normal file
1
debian/openssh-client.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
etc/ssh/ssh_config.d
|
4
debian/openssh-client.docs
vendored
Normal file
4
debian/openssh-client.docs
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
OVERVIEW
|
||||||
|
README
|
||||||
|
README.dns
|
||||||
|
README.tun
|
35
debian/openssh-client.install
vendored
Executable file
35
debian/openssh-client.install
vendored
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#! /usr/bin/dh-exec
|
||||||
|
|
||||||
|
etc/ssh/ssh_config
|
||||||
|
usr/bin/scp
|
||||||
|
usr/bin/sftp
|
||||||
|
usr/bin/ssh
|
||||||
|
usr/bin/ssh-add
|
||||||
|
usr/bin/ssh-agent
|
||||||
|
usr/bin/ssh-keygen
|
||||||
|
usr/bin/ssh-keyscan
|
||||||
|
usr/lib/openssh/ssh-keysign
|
||||||
|
usr/lib/openssh/ssh-pkcs11-helper
|
||||||
|
usr/lib/openssh/ssh-sk-helper
|
||||||
|
usr/share/man/man1/scp.1
|
||||||
|
usr/share/man/man1/sftp.1
|
||||||
|
usr/share/man/man1/ssh-add.1
|
||||||
|
usr/share/man/man1/ssh-agent.1
|
||||||
|
usr/share/man/man1/ssh-keygen.1
|
||||||
|
usr/share/man/man1/ssh-keyscan.1
|
||||||
|
usr/share/man/man1/ssh.1
|
||||||
|
usr/share/man/man5/ssh_config.5
|
||||||
|
usr/share/man/man8/ssh-keysign.8
|
||||||
|
usr/share/man/man8/ssh-pkcs11-helper.8
|
||||||
|
usr/share/man/man8/ssh-sk-helper.8
|
||||||
|
|
||||||
|
contrib/ssh-copy-id usr/bin
|
||||||
|
debian/ssh-argv0 usr/bin
|
||||||
|
|
||||||
|
# dh_apport would be neater, but at the time of writing it isn't in unstable
|
||||||
|
# yet.
|
||||||
|
debian/openssh-client.apport => usr/share/apport/package-hooks/openssh-client.py
|
||||||
|
|
||||||
|
# systemd user unit (only used under sessions)
|
||||||
|
debian/systemd/ssh-agent.service usr/lib/systemd/user
|
||||||
|
debian/systemd/ssh-agent.socket usr/lib/systemd/user
|
2
debian/openssh-client.links
vendored
Normal file
2
debian/openssh-client.links
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
# enable systemd user unit for graphical sessions that use systemd
|
||||||
|
usr/lib/systemd/user/ssh-agent.service usr/lib/systemd/user/graphical-session-pre.target.wants/ssh-agent.service
|
1
debian/openssh-client.lintian-overrides
vendored
Normal file
1
debian/openssh-client.lintian-overrides
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
openssh-client: elevated-privileges 4755 root/root [usr/lib/openssh/ssh-keysign]
|
1
debian/openssh-client.maintscript
vendored
Normal file
1
debian/openssh-client.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
rm_conffile /etc/ssh/moduli 1:7.9p1-8~
|
2
debian/openssh-client.manpages
vendored
Normal file
2
debian/openssh-client.manpages
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
contrib/ssh-copy-id.1
|
||||||
|
debian/ssh-argv0.1
|
55
debian/openssh-client.postinst
vendored
Normal file
55
debian/openssh-client.postinst
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
action="$1"
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
|
||||||
|
update_ssh_group_name() {
|
||||||
|
# The _ssh group used to be called ssh, but that could clash with
|
||||||
|
# locally-created user accounts. Since this only exists as an
|
||||||
|
# otherwise-empty group to which ssh-agent is installed setgid, it's
|
||||||
|
# easy to rename.
|
||||||
|
if getent group ssh >/dev/null && ! getent group _ssh >/dev/null; then
|
||||||
|
groupmod -n _ssh ssh
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
set_ssh_agent_permissions() {
|
||||||
|
if ! getent group _ssh >/dev/null; then
|
||||||
|
addgroup --system --quiet --force-badname _ssh
|
||||||
|
fi
|
||||||
|
if ! dpkg-statoverride --list /usr/bin/ssh-agent >/dev/null; then
|
||||||
|
chgrp _ssh /usr/bin/ssh-agent
|
||||||
|
chmod 2755 /usr/bin/ssh-agent
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_obsolete_alternatives() {
|
||||||
|
update-alternatives --remove rcp /usr/bin/scp
|
||||||
|
update-alternatives --remove rlogin /usr/bin/slogin
|
||||||
|
update-alternatives --remove rsh /usr/bin/ssh
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$action" = configure ]; then
|
||||||
|
if dpkg --compare-versions "$2" lt-nl 1:8.4p1-6~; then
|
||||||
|
update_ssh_group_name
|
||||||
|
fi
|
||||||
|
set_ssh_agent_permissions
|
||||||
|
if dpkg --compare-versions "$2" lt-nl 1:9.1p1-1~; then
|
||||||
|
remove_obsolete_alternatives
|
||||||
|
fi
|
||||||
|
|
||||||
|
# debhelper compatibility level 14 may supersede this with something
|
||||||
|
# more complete; in the meantime, just reload systemd's state so
|
||||||
|
# that it at least has the current ssh-agent.* unit files.
|
||||||
|
if [ -z "$DPKG_ROOT" ] && [ -d /run/systemd/system ]; then
|
||||||
|
deb-systemd-invoke --user daemon-reload >/dev/null || true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
exit 0
|
22
debian/openssh-client.postrm
vendored
Normal file
22
debian/openssh-client.postrm
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
purge)
|
||||||
|
# Remove all non-conffiles that ssh might create, so that we
|
||||||
|
# can smoothly remove /etc/ssh if and only if the user
|
||||||
|
# hasn't dropped some other files in there. Conffiles have
|
||||||
|
# already been removed at this point.
|
||||||
|
rm -f /etc/ssh/moduli /etc/ssh/primes
|
||||||
|
rm -f /etc/ssh/ssh_known_hosts /etc/ssh/ssh_known_hosts2
|
||||||
|
[ ! -d /etc/ssh ] || rmdir --ignore-fail-on-non-empty /etc/ssh
|
||||||
|
|
||||||
|
if command -v delgroup >/dev/null 2>&1; then
|
||||||
|
delgroup --quiet ssh > /dev/null || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
1
debian/openssh-client.tmpfiles
vendored
Normal file
1
debian/openssh-client.tmpfiles
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
x /tmp/ssh-*
|
1
debian/openssh-server-udeb.dirs
vendored
Normal file
1
debian/openssh-server-udeb.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
run/sshd
|
4
debian/openssh-server-udeb.install
vendored
Normal file
4
debian/openssh-server-udeb.install
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
sshd usr/sbin
|
||||||
|
sshd-auth usr/lib/openssh
|
||||||
|
sshd-session usr/lib/openssh
|
||||||
|
ssh-keygen usr/bin
|
27
debian/openssh-server.apport
vendored
Normal file
27
debian/openssh-server.apport
vendored
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
'''apport hook for openssh-server
|
||||||
|
|
||||||
|
(c) 2010 Canonical Ltd.
|
||||||
|
Author: Chuck Short <chuck.short@canonical.com>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2 of the License, or (at your
|
||||||
|
option) any later version. See http://www.gnu.org/copyleft/gpl.html for
|
||||||
|
the full text of the license.
|
||||||
|
'''
|
||||||
|
|
||||||
|
from apport.hookutils import root_command_output
|
||||||
|
|
||||||
|
|
||||||
|
def add_info(report, ui):
|
||||||
|
response = ui.yesno("The contents of your /etc/ssh/sshd_config file "
|
||||||
|
"may help developers diagnose your bug more "
|
||||||
|
"quickly. However, it may contain sensitive "
|
||||||
|
"information. Do you want to include it in your "
|
||||||
|
"bug report?")
|
||||||
|
|
||||||
|
if response == None: # user cancelled
|
||||||
|
raise StopIteration
|
||||||
|
|
||||||
|
elif response:
|
||||||
|
report['SSHDConfig'] = root_command_output(['/usr/sbin/sshd', '-T'])
|
36
debian/openssh-server.config
vendored
Normal file
36
debian/openssh-server.config
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#! /bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
db_version 2.0
|
||||||
|
|
||||||
|
get_config_option() {
|
||||||
|
option="$1"
|
||||||
|
|
||||||
|
[ -f /etc/ssh/sshd_config ] || return
|
||||||
|
|
||||||
|
# TODO: actually only one '=' allowed after option
|
||||||
|
sed -E -n -e 's/[[:space:]]+/ /g' -e 's/[[:space:]]+$//' \
|
||||||
|
-e 's/^[[:space:]]*'"$option"'[[:space:]=]+//Ip' \
|
||||||
|
/etc/ssh/sshd_config 2>/dev/null
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
permit_root_login="$(get_config_option PermitRootLogin)" || true
|
||||||
|
password_authentication="$(get_config_option PasswordAuthentication)" || true
|
||||||
|
if [ -f /etc/ssh/sshd_config ]; then
|
||||||
|
# Make sure the debconf database is in sync with the current state
|
||||||
|
# of the system.
|
||||||
|
if [ "$permit_root_login" = yes ]; then
|
||||||
|
db_set openssh-server/permit-root-login false
|
||||||
|
else
|
||||||
|
db_set openssh-server/permit-root-login true
|
||||||
|
fi
|
||||||
|
if [ "$password_authentication" = no ]; then
|
||||||
|
db_set openssh-server/password-authentication false
|
||||||
|
else
|
||||||
|
db_set openssh-server/password-authentication true
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
1
debian/openssh-server.dirs
vendored
Normal file
1
debian/openssh-server.dirs
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
etc/ssh/sshd_config.d
|
1
debian/openssh-server.examples
vendored
Normal file
1
debian/openssh-server.examples
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/systemd/ssh-session-cleanup.service
|
25
debian/openssh-server.install
vendored
Executable file
25
debian/openssh-server.install
vendored
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
#! /usr/bin/dh-exec
|
||||||
|
|
||||||
|
etc/ssh/moduli
|
||||||
|
usr/lib/openssh/sshd-auth
|
||||||
|
usr/lib/openssh/sshd-session
|
||||||
|
usr/sbin/sshd
|
||||||
|
usr/share/man/man5/authorized_keys.5
|
||||||
|
usr/share/man/man5/moduli.5
|
||||||
|
usr/share/man/man5/sshd_config.5
|
||||||
|
usr/share/man/man8/sshd.8
|
||||||
|
|
||||||
|
debian/tmp/etc/ssh/sshd_config => usr/share/openssh/sshd_config
|
||||||
|
debian/openssh-server.ucf-md5sum => usr/share/openssh/sshd_config.md5sum
|
||||||
|
|
||||||
|
debian/openssh-server.ufw.profile => etc/ufw/applications.d/openssh-server
|
||||||
|
debian/systemd/ssh.service lib/systemd/system
|
||||||
|
debian/systemd/ssh.socket lib/systemd/system
|
||||||
|
debian/systemd/rescue-ssh.target lib/systemd/system
|
||||||
|
debian/systemd/sshd@.service lib/systemd/system
|
||||||
|
debian/systemd/sshd-keygen.service lib/systemd/system
|
||||||
|
debian/systemd/ssh-session-cleanup usr/lib/openssh
|
||||||
|
|
||||||
|
# dh_apport would be neater, but at the time of writing it isn't in unstable
|
||||||
|
# yet.
|
||||||
|
debian/openssh-server.apport => usr/share/apport/package-hooks/openssh-server.py
|
0
debian/openssh-server.links
vendored
Normal file
0
debian/openssh-server.links
vendored
Normal file
10
debian/openssh-server.lintian-overrides
vendored
Normal file
10
debian/openssh-server.lintian-overrides
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Ignoring until after the release of bookworm to avoid problems with
|
||||||
|
# partial upgrades on non-default init systems. See
|
||||||
|
# https://lists.debian.org/debian-devel/2023/01/msg00158.html and thread.
|
||||||
|
openssh-server: depends-on-obsolete-package Depends: lsb-base
|
||||||
|
|
||||||
|
# Deliberate special cases for a helper service.
|
||||||
|
openssh-server: systemd-service-file-refers-to-unusual-wantedby-target ssh.service [usr/lib/systemd/system/sshd-keygen.service]
|
||||||
|
openssh-server: systemd-service-file-refers-to-unusual-wantedby-target ssh.socket [usr/lib/systemd/system/sshd-keygen.service]
|
||||||
|
openssh-server: systemd-service-file-refers-to-unusual-wantedby-target sshd.service [usr/lib/systemd/system/sshd-keygen.service]
|
||||||
|
openssh-server: systemd-service-file-refers-to-unusual-wantedby-target sshd@.service [usr/lib/systemd/system/sshd-keygen.service]
|
1
debian/openssh-server.maintscript
vendored
Normal file
1
debian/openssh-server.maintscript
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
rm_conffile /etc/network/if-up.d/openssh-server 1:7.9p1-1~
|
118
debian/openssh-server.postinst
vendored
Normal file
118
debian/openssh-server.postinst
vendored
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
. /usr/share/debconf/confmodule
|
||||||
|
db_version 2.0
|
||||||
|
|
||||||
|
action="$1"
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
|
||||||
|
get_config_option() {
|
||||||
|
option="$1"
|
||||||
|
|
||||||
|
[ -f /etc/ssh/sshd_config ] || return
|
||||||
|
|
||||||
|
/usr/sbin/sshd -G | sed -n "s/^$option //Ip"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
create_key() {
|
||||||
|
msg="$1"
|
||||||
|
shift
|
||||||
|
hostkeys="$1"
|
||||||
|
shift
|
||||||
|
file="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if echo "$hostkeys" | grep -x "$file" >/dev/null && \
|
||||||
|
[ ! -f "$file" ] ; then
|
||||||
|
printf %s "$msg"
|
||||||
|
ssh-keygen -q -f "$file" -N '' "$@"
|
||||||
|
echo
|
||||||
|
if command -v restorecon >/dev/null 2>&1; then
|
||||||
|
restorecon "$file" "$file.pub"
|
||||||
|
fi
|
||||||
|
ssh-keygen -l -f "$file.pub"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
create_keys() {
|
||||||
|
hostkeys="$(get_config_option HostKey)"
|
||||||
|
|
||||||
|
create_key "Creating SSH2 RSA key; this may take some time ..." \
|
||||||
|
"$hostkeys" /etc/ssh/ssh_host_rsa_key -t rsa
|
||||||
|
create_key "Creating SSH2 ECDSA key; this may take some time ..." \
|
||||||
|
"$hostkeys" /etc/ssh/ssh_host_ecdsa_key -t ecdsa
|
||||||
|
create_key "Creating SSH2 ED25519 key; this may take some time ..." \
|
||||||
|
"$hostkeys" /etc/ssh/ssh_host_ed25519_key -t ed25519
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
new_config=
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
if [ "$new_config" ]; then
|
||||||
|
rm -f "$new_config"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
create_sshdconfig() {
|
||||||
|
# XXX cjwatson 2016-12-24: This debconf template is very confusingly
|
||||||
|
# named; its description is "Disable SSH password authentication for
|
||||||
|
# root?", so true -> prohibit-password (the upstream default),
|
||||||
|
# false -> yes.
|
||||||
|
db_get openssh-server/permit-root-login
|
||||||
|
permit_root_login="$RET"
|
||||||
|
db_get openssh-server/password-authentication
|
||||||
|
password_authentication="$RET"
|
||||||
|
|
||||||
|
trap cleanup EXIT
|
||||||
|
new_config="$(mktemp)"
|
||||||
|
cp -aZ /usr/share/openssh/sshd_config "$new_config"
|
||||||
|
if [ "$permit_root_login" != true ]; then
|
||||||
|
sed -i 's/^#*PermitRootLogin .*/PermitRootLogin yes/' \
|
||||||
|
"$new_config"
|
||||||
|
fi
|
||||||
|
if [ "$password_authentication" != true ]; then
|
||||||
|
sed -i 's/^#PasswordAuthentication .*/PasswordAuthentication no/' \
|
||||||
|
"$new_config"
|
||||||
|
fi
|
||||||
|
mkdir -pZ /etc/ssh
|
||||||
|
ucf --three-way --debconf-ok \
|
||||||
|
--sum-file /usr/share/openssh/sshd_config.md5sum \
|
||||||
|
"$new_config" /etc/ssh/sshd_config
|
||||||
|
ucfr openssh-server /etc/ssh/sshd_config
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$action" = configure ]; then
|
||||||
|
create_sshdconfig
|
||||||
|
create_keys
|
||||||
|
if dpkg --compare-versions "$2" lt-nl 1:7.9p1-5 && \
|
||||||
|
[ -f /etc/ssh/moduli.dpkg-bak ]; then
|
||||||
|
# Handle /etc/ssh/moduli being moved from openssh-client to
|
||||||
|
# openssh-server. If there were no user modifications, then we
|
||||||
|
# don't need to do anything special here; but if there were,
|
||||||
|
# then the dpkg-maintscript-helper calls from openssh-client's
|
||||||
|
# maintainer scripts will have saved the old file as .dpkg-bak,
|
||||||
|
# which we now move back into place.
|
||||||
|
mv /etc/ssh/moduli.dpkg-bak /etc/ssh/moduli
|
||||||
|
fi
|
||||||
|
if dpkg --compare-versions "$2" lt-nl 1:9.1p1-1~ && \
|
||||||
|
deb-systemd-helper --quiet was-enabled ssh.socket && \
|
||||||
|
[ -d /run/systemd/system ]
|
||||||
|
then
|
||||||
|
# migrate to systemd socket activation.
|
||||||
|
systemctl unmask ssh.service
|
||||||
|
systemctl disable ssh.service
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
db_stop
|
||||||
|
|
||||||
|
exit 0
|
35
debian/openssh-server.postrm
vendored
Normal file
35
debian/openssh-server.postrm
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
purge)
|
||||||
|
# Remove all non-conffiles that ssh might create, so that we
|
||||||
|
# can smoothly remove /etc/ssh if and only if the user
|
||||||
|
# hasn't dropped some other files in there. Conffiles have
|
||||||
|
# already been removed at this point.
|
||||||
|
rm -f /etc/ssh/ssh_host_key /etc/ssh/ssh_host_key.pub
|
||||||
|
rm -f /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub
|
||||||
|
rm -f /etc/ssh/ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key.pub
|
||||||
|
rm -f /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key.pub
|
||||||
|
rm -f /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_ed25519_key.pub
|
||||||
|
for ext in .ucf-new .ucf-old .ucf-dist ""; do
|
||||||
|
rm -f "/etc/ssh/sshd_config$ext"
|
||||||
|
done
|
||||||
|
if command -v ucf >/dev/null 2>&1; then
|
||||||
|
ucf --purge /etc/ssh/sshd_config
|
||||||
|
fi
|
||||||
|
if command -v ucfr >/dev/null 2>&1; then
|
||||||
|
ucfr --purge openssh-server /etc/ssh/sshd_config
|
||||||
|
fi
|
||||||
|
rm -f /etc/ssh/sshd_not_to_be_run
|
||||||
|
[ ! -d /etc/ssh ] || rmdir --ignore-fail-on-non-empty /etc/ssh
|
||||||
|
|
||||||
|
if command -v deluser >/dev/null 2>&1; then
|
||||||
|
deluser --quiet sshd > /dev/null || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
1
debian/openssh-server.runit
vendored
Normal file
1
debian/openssh-server.runit
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
debian/openssh-server.ssh.runscript logscript,name=ssh,since=1:8.0p1-5
|
5
debian/openssh-server.ssh.default
vendored
Normal file
5
debian/openssh-server.ssh.default
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Default settings for openssh-server. This file is sourced by /bin/sh from
|
||||||
|
# /etc/init.d/ssh.
|
||||||
|
|
||||||
|
# Options to pass to sshd
|
||||||
|
SSHD_OPTS=
|
166
debian/openssh-server.ssh.init
vendored
Executable file
166
debian/openssh-server.ssh.init
vendored
Executable file
|
@ -0,0 +1,166 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: ssh sshd
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop:
|
||||||
|
# Short-Description: OpenBSD Secure Shell server
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon
|
||||||
|
|
||||||
|
test -x /usr/sbin/sshd || exit 0
|
||||||
|
( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0
|
||||||
|
|
||||||
|
umask 022
|
||||||
|
|
||||||
|
if test -f /etc/default/ssh; then
|
||||||
|
. /etc/default/ssh
|
||||||
|
fi
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
|
if [ -n "$2" ]; then
|
||||||
|
SSHD_OPTS="$SSHD_OPTS $2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Are we running from init?
|
||||||
|
run_by_init() {
|
||||||
|
([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
|
||||||
|
}
|
||||||
|
|
||||||
|
check_for_no_start() {
|
||||||
|
# forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
|
||||||
|
if [ -e /etc/ssh/sshd_not_to_be_run ]; then
|
||||||
|
if [ "$1" = log_end_msg ]; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
fi
|
||||||
|
if ! run_by_init; then
|
||||||
|
log_action_msg "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)" || true
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_dev_null() {
|
||||||
|
if [ ! -c /dev/null ]; then
|
||||||
|
if [ "$1" = log_end_msg ]; then
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
if ! run_by_init; then
|
||||||
|
log_action_msg "/dev/null is not a character device!" || true
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_privsep_dir() {
|
||||||
|
# Create the PrivSep empty dir if necessary
|
||||||
|
if [ ! -d /run/sshd ]; then
|
||||||
|
mkdir /run/sshd
|
||||||
|
chmod 0755 /run/sshd
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_config() {
|
||||||
|
if [ ! -e /etc/ssh/sshd_not_to_be_run ]; then
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
/usr/sbin/sshd $SSHD_OPTS -t || exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
check_privsep_dir
|
||||||
|
check_for_no_start
|
||||||
|
check_dev_null
|
||||||
|
log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" || true
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
else
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" || true
|
||||||
|
if start-stop-daemon --stop --quiet --oknodo --pidfile /run/sshd.pid --exec /usr/sbin/sshd; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
else
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
reload|force-reload)
|
||||||
|
check_for_no_start
|
||||||
|
check_config
|
||||||
|
log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" || true
|
||||||
|
if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /run/sshd.pid --exec /usr/sbin/sshd; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
else
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
restart)
|
||||||
|
check_privsep_dir
|
||||||
|
check_config
|
||||||
|
log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true
|
||||||
|
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /run/sshd.pid --exec /usr/sbin/sshd
|
||||||
|
check_for_no_start log_end_msg
|
||||||
|
check_dev_null log_end_msg
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
else
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
|
||||||
|
try-restart)
|
||||||
|
check_privsep_dir
|
||||||
|
check_config
|
||||||
|
log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" || true
|
||||||
|
RET=0
|
||||||
|
start-stop-daemon --stop --quiet --retry 30 --pidfile /run/sshd.pid --exec /usr/sbin/sshd || RET="$?"
|
||||||
|
case $RET in
|
||||||
|
0)
|
||||||
|
# old daemon stopped
|
||||||
|
check_for_no_start log_end_msg
|
||||||
|
check_dev_null log_end_msg
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
if start-stop-daemon --start --quiet --oknodo --chuid 0:0 --pidfile /run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then
|
||||||
|
log_end_msg 0 || true
|
||||||
|
else
|
||||||
|
log_end_msg 1 || true
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
# daemon not running
|
||||||
|
log_progress_msg "(not running)" || true
|
||||||
|
log_end_msg 0 || true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# failed to stop
|
||||||
|
log_progress_msg "(failed to stop)" || true
|
||||||
|
log_end_msg 1 || true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
|
||||||
|
status)
|
||||||
|
status_of_proc -p /run/sshd.pid /usr/sbin/sshd sshd && exit 0 || exit $?
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
log_action_msg "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}" || true
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
16
debian/openssh-server.ssh.runscript/finish
vendored
Normal file
16
debian/openssh-server.ssh.runscript/finish
vendored
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
NAME=ssh
|
||||||
|
|
||||||
|
[ "$1" = -1 ] && echo "runsv: ERROR in $NAME: unexpected error or wrong sh syntax"
|
||||||
|
# no need to stop the service here, runsv will stop trying after the first attempt
|
||||||
|
|
||||||
|
[ "$1" = 161 ] && echo "runsv: ERROR $1 in $NAME: disabled by local settings" \
|
||||||
|
&& sv d "$(dirname "$0")" && exit 0
|
||||||
|
|
||||||
|
[ "$1" = 162 ] && echo "runsv: ERROR $1 in $NAME: configtest or early setup failed" \
|
||||||
|
&& sv d "$(dirname "$0")" && exit 0
|
||||||
|
|
||||||
|
echo "$NAME Stopped"
|
||||||
|
|
20
debian/openssh-server.ssh.runscript/run
vendored
Normal file
20
debian/openssh-server.ssh.runscript/run
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env /lib/runit/invoke-run
|
||||||
|
set -e
|
||||||
|
|
||||||
|
NAME="ssh"
|
||||||
|
|
||||||
|
sv start auditd || sv check auditd || true
|
||||||
|
|
||||||
|
# don't start if 'sshd_not_to_be_run' exists
|
||||||
|
test -e /etc/ssh/sshd_not_to_be_run && exit 161
|
||||||
|
|
||||||
|
#Create /run/sshd
|
||||||
|
test -d /run/sshd || mkdir /run/sshd && chmod 0755 /run/sshd
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
|
||||||
|
#Config test
|
||||||
|
/usr/sbin/sshd -t || exit 162
|
||||||
|
|
||||||
|
echo "Starting $NAME..."
|
||||||
|
exec /usr/sbin/sshd -D -e $SSHD_OPTS
|
55
debian/openssh-server.sshd.pam.in
vendored
Normal file
55
debian/openssh-server.sshd.pam.in
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# PAM configuration for the Secure Shell service
|
||||||
|
|
||||||
|
# Standard Un*x authentication.
|
||||||
|
@include common-auth
|
||||||
|
|
||||||
|
# Disallow non-root logins when /etc/nologin exists.
|
||||||
|
account required pam_nologin.so
|
||||||
|
|
||||||
|
# Uncomment and edit /etc/security/access.conf if you need to set complex
|
||||||
|
# access limits that are hard to express in sshd_config.
|
||||||
|
# account required pam_access.so
|
||||||
|
|
||||||
|
# Standard Un*x authorization.
|
||||||
|
@include common-account
|
||||||
|
|
||||||
|
# SELinux needs to be the first session rule. This ensures that any
|
||||||
|
# lingering context has been cleared. Without this it is possible that a
|
||||||
|
# module could execute code in the wrong domain.
|
||||||
|
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
|
||||||
|
|
||||||
|
# Set the loginuid process attribute.
|
||||||
|
session required pam_loginuid.so
|
||||||
|
|
||||||
|
@IF_KEYINIT@# Create a new session keyring.
|
||||||
|
@IF_KEYINIT@session optional pam_keyinit.so force revoke
|
||||||
|
|
||||||
|
# Standard Un*x session setup and teardown.
|
||||||
|
@include common-session
|
||||||
|
|
||||||
|
# Print the message of the day upon successful login.
|
||||||
|
# This includes a dynamically generated part from /run/motd.dynamic
|
||||||
|
# and a static (admin-editable) part from /etc/motd.
|
||||||
|
session optional pam_motd.so motd=/run/motd.dynamic
|
||||||
|
session optional pam_motd.so noupdate
|
||||||
|
|
||||||
|
# Print the status of the user's mailbox upon successful login.
|
||||||
|
session optional pam_mail.so standard noenv # [1]
|
||||||
|
|
||||||
|
# Set up user limits from /etc/security/limits.conf.
|
||||||
|
session required pam_limits.so
|
||||||
|
|
||||||
|
# Read environment variables from /etc/environment and
|
||||||
|
# /etc/security/pam_env.conf.
|
||||||
|
session required pam_env.so # [1]
|
||||||
|
# In Debian 4.0 (etch), locale-related environment variables were moved to
|
||||||
|
# /etc/default/locale, so read that as well.
|
||||||
|
session required pam_env.so envfile=/etc/default/locale
|
||||||
|
|
||||||
|
# SELinux needs to intervene at login time to ensure that the process starts
|
||||||
|
# in the proper default security context. Only sessions which are intended
|
||||||
|
# to run in the user's context should be run after this.
|
||||||
|
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
|
||||||
|
|
||||||
|
# Standard Un*x password updating.
|
||||||
|
@include common-password
|
1
debian/openssh-server.sysusers
vendored
Normal file
1
debian/openssh-server.sysusers
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
u sshd -:nogroup "sshd user" /run/sshd
|
23
debian/openssh-server.templates
vendored
Normal file
23
debian/openssh-server.templates
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
Template: openssh-server/permit-root-login
|
||||||
|
Type: boolean
|
||||||
|
Default: true
|
||||||
|
_Description: Disable SSH password authentication for root?
|
||||||
|
Previous versions of openssh-server permitted logging in as root over SSH
|
||||||
|
using password authentication. The default for new installations is now
|
||||||
|
"PermitRootLogin prohibit-password", which disables password authentication
|
||||||
|
for root without breaking systems that have explicitly configured SSH
|
||||||
|
public key authentication for root.
|
||||||
|
.
|
||||||
|
This change makes systems more secure against brute-force password
|
||||||
|
dictionary attacks on the root user (a very common target for such
|
||||||
|
attacks). However, it may break systems that are set up with the
|
||||||
|
expectation of being able to SSH as root using password authentication. You
|
||||||
|
should only make this change if you do not need to do that.
|
||||||
|
|
||||||
|
Template: openssh-server/password-authentication
|
||||||
|
Type: boolean
|
||||||
|
Default: true
|
||||||
|
Description: Allow password authentication?
|
||||||
|
By default, the SSH server will allow authenticating using a password.
|
||||||
|
You may want to change this if all users on this system authenticate using
|
||||||
|
a stronger authentication method, such as public keys.
|
1
debian/openssh-server.tmpfiles
vendored
Normal file
1
debian/openssh-server.tmpfiles
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
x /tmp/sshauth.*
|
128
debian/openssh-server.ucf-md5sum
vendored
Normal file
128
debian/openssh-server.ucf-md5sum
vendored
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
# Historical md5sums of the default /etc/ssh/sshd_config up to and including
|
||||||
|
# 1:7.3p1-5.
|
||||||
|
0d06fc337cee10609d4833dc88df740f
|
||||||
|
10dc68360f6658910a98a051273de22c
|
||||||
|
11f9e107b4d13bbcabe7f8e8da734371
|
||||||
|
16c827adcff44efaca05ec5eea6383d7
|
||||||
|
2eeff28468576c3f2e538314e177687b
|
||||||
|
386c8b9079625b78f6d624ae506958ae
|
||||||
|
38fc7b31b3e3078848f0eec457d3e050
|
||||||
|
395c5e13801f9b4f17c2cb54aa634fbd
|
||||||
|
423d5796cee663af2d0f24c4d520b578
|
||||||
|
42be2cb5b64bc91443b2e46969d2d539
|
||||||
|
42cd8b7c5ea9e440d3efa50b9a1bb444
|
||||||
|
4f56ca8d0b5dfdaeb732becd3292ce5d
|
||||||
|
54998a682a97af8449e9de0316eacf1d
|
||||||
|
5c0bdc1735accbdc062381149937ec4a
|
||||||
|
6357b54acf8e089c57544e06d1bbec53
|
||||||
|
6a621d8bc448987e5a8a613c40307a4c
|
||||||
|
702a79962e60aa17c6d3df742e8ec670
|
||||||
|
7a69eff91ec92b4e065b8dd8846366b2
|
||||||
|
7c60e22f183b6219c684f15ce24153fd
|
||||||
|
8304e780c43d4a606f695c8965f48299
|
||||||
|
8b9e70ee87f4b822714e2ed7af5b70dc
|
||||||
|
8caefdd9e251b7cc1baa37874149a870
|
||||||
|
90baeb1c778464d2da610f8268939719
|
||||||
|
962a382e51f43f80109131838ca326ba
|
||||||
|
96eaf22faba705a37905282f6ad69d64
|
||||||
|
9cb6cd83be1c21f73476be629b163c01
|
||||||
|
a07a9865cd33b85a1426cd67954c6fa0
|
||||||
|
ae1e844b43986e2a964cf84f46b50c5b
|
||||||
|
b516afa5a1e298f4cd00952b36dd623f
|
||||||
|
b69fc974ee9b5a111bd473ef54cdd232
|
||||||
|
ba9c3f808c811d6f944ad10a508c4767
|
||||||
|
bccf9af9c7027afd0895d8ff8e02761a
|
||||||
|
bd3a2b95f8b4b180eed707794ad81e4d
|
||||||
|
c34586b56496f81a10615c002685fc74
|
||||||
|
c47555a21189a6b703d2c5d37d2c50ed
|
||||||
|
cac079e87c0ae0d77eafc9b285e36348
|
||||||
|
d224f92823483333432974f63cb6dc66
|
||||||
|
d50ef9ef2aa51cb9f808f6a776260c0a
|
||||||
|
e0029e1e9871d4d2b673ee6d70a38614
|
||||||
|
e086e7eb521ccc5776371b2e198f0702
|
||||||
|
e101f74dc7381527e9aefa1f78b01a7f
|
||||||
|
e24f749808133a27d94fda84a89bb27b
|
||||||
|
ec16c3dd0203f13885d74ce529719fda
|
||||||
|
efcff5380823d4e3f5039620c2e08459
|
||||||
|
f58056370a64dbd2017d7486421c281d
|
||||||
|
fe396d52df77f1fbf710591d4dbf3311
|
||||||
|
|
||||||
|
# From this point on, we have four md5sums for each released version of
|
||||||
|
# sshd_config, depending on the state of openssh-server/permit-root-login
|
||||||
|
# and openssh-server/password-authentication; the plain copy plus the result
|
||||||
|
# of running through either or both of the following:
|
||||||
|
#
|
||||||
|
# sed 's/^#*PermitRootLogin .*/PermitRootLogin yes/'
|
||||||
|
# sed 's/^#PasswordAuthentication .*/PasswordAuthentication no/'
|
||||||
|
#
|
||||||
|
# This obviously leaves something to be desired in terms of maintainability.
|
||||||
|
#
|
||||||
|
# The following covers up to 1:7.8p1-1, including everything except the
|
||||||
|
# latest version of sshd_config. It should be extended any time sshd_config
|
||||||
|
# changes.
|
||||||
|
|
||||||
|
# From 1:7.4p1-1:
|
||||||
|
f8ecd8f588749a0e39a5b1d3ff261cb2
|
||||||
|
0f923c50ef1b00e1e88e02736727f03e
|
||||||
|
abc2568a7ec0cb54c584ea03c7a4f854
|
||||||
|
17851b145a2515fce2e8d0b9020d5cd4
|
||||||
|
|
||||||
|
# From 1:7.4p1-6:
|
||||||
|
bbcdf7b77777d40996e287495bb96e47
|
||||||
|
55dd47f61a4af5d1a8884ec590ce33ef
|
||||||
|
e1375e853a36f9bcd5faeb4b8c570dd1
|
||||||
|
fa6d314c0ab05933ab970fd362ab2800
|
||||||
|
|
||||||
|
# From 1:7.4p1-7:
|
||||||
|
bbad7ed242a834e831c7066901cee49e
|
||||||
|
df8447ce600dd3d6bc4048ccc2faa536
|
||||||
|
87adc8952a7f06efdda8473fd772997f
|
||||||
|
14301f8b9e39c72b3f929dc70e41ebf6
|
||||||
|
|
||||||
|
# From 1:7.5p1-1:
|
||||||
|
739d6887c8f3dd71a9168c614c07175c
|
||||||
|
cc463c55b512da68e807784f675a1301
|
||||||
|
203e9b92fe3623aeba277ee44297f7dd
|
||||||
|
1d29cac6b0dd5c0004cf7d80b823715c
|
||||||
|
|
||||||
|
# From 1:7.7p1-1:
|
||||||
|
cc873ab3ccc9cf3a3830c3c0728c0d0b
|
||||||
|
2d0b1d2719c01b15457401fd97d607ed
|
||||||
|
8ce930e15835a8f46285315ed0da7f4a
|
||||||
|
8a71a3620605f21ac3ef16fd5d23f76a
|
||||||
|
|
||||||
|
# From 1:7.8p1-1:
|
||||||
|
55570f990ec9c3b8d19c19ab4d0b8eb8
|
||||||
|
0b8a28dca5cdbace0cd85fcd7794cba8
|
||||||
|
18df1377273c4d51d4c03c9adc31021f
|
||||||
|
63284e767f6ccf2375ef80507c564797
|
||||||
|
|
||||||
|
# From 1:8.2p1-1:
|
||||||
|
6dbdc3a27e1953d209f929df7aff0c57
|
||||||
|
0ef8c8fe6a3afd12382dbb93cd7bbb4e
|
||||||
|
9f1bec115595c0f76282d80abe5d9bcc
|
||||||
|
ae1a449c8adb31cb603e28fda5342696
|
||||||
|
|
||||||
|
# From 1:8.7p1-1:
|
||||||
|
fe83fd23553510bb632dc8e6e35ab41a
|
||||||
|
d96ecd9064ea650c44372a5a33d3e497
|
||||||
|
7fdb195ac56e0bf1992e18ac656811af
|
||||||
|
4e03b4df60cd00c651777ec14ff76aef
|
||||||
|
|
||||||
|
# From 1:9.2p1-1:
|
||||||
|
b8e751f62cf86a18bc30cdaae494b03f
|
||||||
|
b89c8626d43128cdb233536439e00566
|
||||||
|
5f589fb3658df8cb7cce8505cf821e40
|
||||||
|
8d7588b06f81ef23bea8d84442af8e68
|
||||||
|
|
||||||
|
# From 1:9.9p2-3:
|
||||||
|
a28c3e7d6c8f1293d5dacd70157872f6
|
||||||
|
08c279b9cb7685877107ac781fd166bd
|
||||||
|
abf26bfd692dada3111bea33dc4cc268
|
||||||
|
509c39a0ee41efa32c76a96c525b183e
|
||||||
|
|
||||||
|
# From 1:10.0p1-1:
|
||||||
|
b3d7f2a64f6ad1fc763321167a3435d5
|
||||||
|
29f3b6afc6b7b84e9e084fe10d27ede3
|
||||||
|
16d925db19c47346e642578c8a68fae9
|
||||||
|
98d17cfbc85c1ced1fa458699ffc1ee1
|
4
debian/openssh-server.ufw.profile
vendored
Normal file
4
debian/openssh-server.ufw.profile
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[OpenSSH]
|
||||||
|
title=Secure shell server, an rshd replacement
|
||||||
|
description=OpenSSH is a free implementation of the Secure Shell protocol.
|
||||||
|
ports=22/tcp
|
2
debian/openssh-sftp-server.install
vendored
Normal file
2
debian/openssh-sftp-server.install
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/lib/openssh/sftp-server
|
||||||
|
usr/share/man/man8/sftp-server.8
|
1
debian/openssh-sftp-server.links
vendored
Normal file
1
debian/openssh-sftp-server.links
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
usr/lib/openssh/sftp-server usr/lib/sftp-server
|
12
debian/openssh-tests.install
vendored
Normal file
12
debian/openssh-tests.install
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
regress /usr/lib/openssh
|
||||||
|
debian/build-deb/regress/check-perm /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/misc /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/mkdtemp /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/modpipe /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/netcat /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/setuid-allowed /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/timestamp /usr/lib/openssh/regress
|
||||||
|
debian/build-deb/regress/unittests /usr/lib/openssh/regress
|
||||||
|
|
||||||
|
debian/build-deb/config.h /usr/lib/openssh/regress
|
||||||
|
debian/run-tests /usr/lib/openssh/regress
|
26
debian/patches/authorized-keys-man-symlink.patch
vendored
Normal file
26
debian/patches/authorized-keys-man-symlink.patch
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
From d8aca11c6d61adb619a8aea6f2f3a7a3365babda Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tomas Pospisek <tpo_deb@sourcepole.ch>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:07 +0000
|
||||||
|
Subject: Install authorized_keys(5) as a symlink to sshd(8)
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1720
|
||||||
|
Bug-Debian: http://bugs.debian.org/441817
|
||||||
|
Last-Update: 2013-09-14
|
||||||
|
|
||||||
|
Patch-Name: authorized-keys-man-symlink.patch
|
||||||
|
---
|
||||||
|
Makefile.in | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/Makefile.in b/Makefile.in
|
||||||
|
index 63c0e8d51..f85e312c6 100644
|
||||||
|
--- a/Makefile.in
|
||||||
|
+++ b/Makefile.in
|
||||||
|
@@ -459,6 +459,7 @@ install-files:
|
||||||
|
$(INSTALL) -m 644 sshd_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/sshd_config.5
|
||||||
|
$(INSTALL) -m 644 ssh_config.5.out $(DESTDIR)$(mandir)/$(mansubdir)5/ssh_config.5
|
||||||
|
$(INSTALL) -m 644 sshd.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sshd.8
|
||||||
|
+ ln -s ../$(mansubdir)8/sshd.8 $(DESTDIR)$(mandir)/$(mansubdir)5/authorized_keys.5
|
||||||
|
$(INSTALL) -m 644 sftp.1.out $(DESTDIR)$(mandir)/$(mansubdir)1/sftp.1
|
||||||
|
$(INSTALL) -m 644 sftp-server.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/sftp-server.8
|
||||||
|
$(INSTALL) -m 644 ssh-keysign.8.out $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-keysign.8
|
137
debian/patches/configure-cache-vars.patch
vendored
Normal file
137
debian/patches/configure-cache-vars.patch
vendored
Normal file
|
@ -0,0 +1,137 @@
|
||||||
|
From 009c6b987ef180ee0ef58b5c06dfdbf0097e18a9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Wed, 3 Apr 2024 11:52:04 +0100
|
||||||
|
Subject: Add Autoconf cache variables for OSSH_CHECK_*FLAG_*
|
||||||
|
|
||||||
|
This allows overriding them on configure's command line in case the
|
||||||
|
automatic checks go wrong somehow. bz#3673
|
||||||
|
|
||||||
|
Forwarded: https://bugzilla.mindrot.org/show_bug.cgi?id=3673#c3
|
||||||
|
Last-Update: 2024-04-03
|
||||||
|
|
||||||
|
Patch-Name: configure-cache-vars.patch
|
||||||
|
---
|
||||||
|
m4/openssh.m4 | 42 ++++++++++++++++++++++++------------------
|
||||||
|
1 file changed, 24 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/m4/openssh.m4 b/m4/openssh.m4
|
||||||
|
index 176a8d1c9..f420146f1 100644
|
||||||
|
--- a/m4/openssh.m4
|
||||||
|
+++ b/m4/openssh.m4
|
||||||
|
@@ -62,7 +62,8 @@ dnl Check that $CC accepts a flag 'check_flag'. If it is supported append
|
||||||
|
dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append
|
||||||
|
dnl 'check_flag'.
|
||||||
|
AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{
|
||||||
|
- AC_MSG_CHECKING([if $CC supports compile flag $1])
|
||||||
|
+ ossh_cache_var=AS_TR_SH([ossh_cv_cflag_$1])
|
||||||
|
+ AC_CACHE_CHECK([if $CC supports compile flag $1], [$ossh_cache_var], [
|
||||||
|
saved_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $WERROR $1"
|
||||||
|
_define_flag="$2"
|
||||||
|
@@ -71,22 +72,23 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{
|
||||||
|
[
|
||||||
|
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
|
||||||
|
then
|
||||||
|
- AC_MSG_RESULT([no])
|
||||||
|
+ eval "$ossh_cache_var=no"
|
||||||
|
CFLAGS="$saved_CFLAGS"
|
||||||
|
else
|
||||||
|
dnl If we are compiling natively, try running the program.
|
||||||
|
AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
CFLAGS="$saved_CFLAGS $_define_flag" ],
|
||||||
|
- [ AC_MSG_RESULT([no, fails at run time])
|
||||||
|
+ [ eval "$ossh_cache_var='no, fails at run time'"
|
||||||
|
CFLAGS="$saved_CFLAGS" ],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
CFLAGS="$saved_CFLAGS $_define_flag" ],
|
||||||
|
)
|
||||||
|
fi],
|
||||||
|
- [ AC_MSG_RESULT([no])
|
||||||
|
+ [ eval "$ossh_cache_var=no"
|
||||||
|
CFLAGS="$saved_CFLAGS" ]
|
||||||
|
)
|
||||||
|
+ ])
|
||||||
|
}])
|
||||||
|
|
||||||
|
dnl OSSH_CHECK_CFLAG_LINK(check_flag[, define_flag])
|
||||||
|
@@ -94,7 +96,8 @@ dnl Check that $CC accepts a flag 'check_flag'. If it is supported append
|
||||||
|
dnl 'define_flag' to $CFLAGS. If 'define_flag' is not specified, then append
|
||||||
|
dnl 'check_flag'.
|
||||||
|
AC_DEFUN([OSSH_CHECK_CFLAG_LINK], [{
|
||||||
|
- AC_MSG_CHECKING([if $CC supports compile flag $1 and linking succeeds])
|
||||||
|
+ ossh_cache_var=AS_TR_SH([ossh_cv_cflag_$1])
|
||||||
|
+ AC_CACHE_CHECK([if $CC supports compile flag $1 and linking succeeds], [$ossh_cache_var], [
|
||||||
|
saved_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="$CFLAGS $WERROR $1"
|
||||||
|
_define_flag="$2"
|
||||||
|
@@ -103,22 +106,23 @@ AC_DEFUN([OSSH_CHECK_CFLAG_LINK], [{
|
||||||
|
[
|
||||||
|
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
|
||||||
|
then
|
||||||
|
- AC_MSG_RESULT([no])
|
||||||
|
+ eval "$ossh_cache_var=no"
|
||||||
|
CFLAGS="$saved_CFLAGS"
|
||||||
|
else
|
||||||
|
dnl If we are compiling natively, try running the program.
|
||||||
|
AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
CFLAGS="$saved_CFLAGS $_define_flag" ],
|
||||||
|
- [ AC_MSG_RESULT([no, fails at run time])
|
||||||
|
+ [ eval "$ossh_cache_var='no, fails at run time'"
|
||||||
|
CFLAGS="$saved_CFLAGS" ],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
CFLAGS="$saved_CFLAGS $_define_flag" ],
|
||||||
|
)
|
||||||
|
fi],
|
||||||
|
- [ AC_MSG_RESULT([no])
|
||||||
|
+ [ eval "$ossh_cache_var=no"
|
||||||
|
CFLAGS="$saved_CFLAGS" ]
|
||||||
|
)
|
||||||
|
+ ])
|
||||||
|
}])
|
||||||
|
|
||||||
|
dnl OSSH_CHECK_LDFLAG_LINK(check_flag[, define_flag])
|
||||||
|
@@ -126,7 +130,8 @@ dnl Check that $LD accepts a flag 'check_flag'. If it is supported append
|
||||||
|
dnl 'define_flag' to $LDFLAGS. If 'define_flag' is not specified, then append
|
||||||
|
dnl 'check_flag'.
|
||||||
|
AC_DEFUN([OSSH_CHECK_LDFLAG_LINK], [{
|
||||||
|
- AC_MSG_CHECKING([if $LD supports link flag $1])
|
||||||
|
+ ossh_cache_var=AS_TR_SH([ossh_cv_ldflag_$1])
|
||||||
|
+ AC_CACHE_CHECK([if $LD supports link flag $1], [$ossh_cache_var], [
|
||||||
|
saved_LDFLAGS="$LDFLAGS"
|
||||||
|
LDFLAGS="$LDFLAGS $WERROR $1"
|
||||||
|
_define_flag="$2"
|
||||||
|
@@ -135,22 +140,23 @@ AC_DEFUN([OSSH_CHECK_LDFLAG_LINK], [{
|
||||||
|
[
|
||||||
|
if $ac_cv_path_EGREP -i "unrecognized option|warning.*ignored" conftest.err >/dev/null
|
||||||
|
then
|
||||||
|
- AC_MSG_RESULT([no])
|
||||||
|
+ eval "$ossh_cache_var=no"
|
||||||
|
LDFLAGS="$saved_LDFLAGS"
|
||||||
|
else
|
||||||
|
dnl If we are compiling natively, try running the program.
|
||||||
|
AC_RUN_IFELSE([OSSH_COMPILER_FLAG_TEST_PROGRAM],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
LDFLAGS="$saved_LDFLAGS $_define_flag" ],
|
||||||
|
- [ AC_MSG_RESULT([no, fails at run time])
|
||||||
|
+ [ eval "$ossh_cache_var='no, fails at run time'"
|
||||||
|
LDFLAGS="$saved_LDFLAGS" ],
|
||||||
|
- [ AC_MSG_RESULT([yes])
|
||||||
|
+ [ eval "$ossh_cache_var=yes"
|
||||||
|
LDFLAGS="$saved_LDFLAGS $_define_flag" ]
|
||||||
|
)
|
||||||
|
fi ],
|
||||||
|
- [ AC_MSG_RESULT([no])
|
||||||
|
+ [ eval "$ossh_cache_var=no"
|
||||||
|
LDFLAGS="$saved_LDFLAGS" ]
|
||||||
|
)
|
||||||
|
+ ])
|
||||||
|
}])
|
||||||
|
|
||||||
|
dnl OSSH_CHECK_HEADER_FOR_FIELD(field, header, symbol)
|
170
debian/patches/debian-banner.patch
vendored
Normal file
170
debian/patches/debian-banner.patch
vendored
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
From 8f693762755211b20d50f7e0b963bd1c3955c4b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kees Cook <kees@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:06 +0000
|
||||||
|
Subject: Add DebianBanner server configuration option
|
||||||
|
|
||||||
|
Setting this to "no" causes sshd to omit the Debian revision from its
|
||||||
|
initial protocol handshake, for those scared by package-versioning.patch.
|
||||||
|
|
||||||
|
Bug-Debian: http://bugs.debian.org/562048
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2025-04-11
|
||||||
|
|
||||||
|
Patch-Name: debian-banner.patch
|
||||||
|
---
|
||||||
|
kex.c | 5 +++--
|
||||||
|
kex.h | 2 +-
|
||||||
|
servconf.c | 10 ++++++++++
|
||||||
|
servconf.h | 2 ++
|
||||||
|
sshconnect.c | 2 +-
|
||||||
|
sshd-session.c | 2 +-
|
||||||
|
sshd_config.5 | 5 +++++
|
||||||
|
7 files changed, 23 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kex.c b/kex.c
|
||||||
|
index 19b1fcaa8..ca6d5b53d 100644
|
||||||
|
--- a/kex.c
|
||||||
|
+++ b/kex.c
|
||||||
|
@@ -1237,7 +1237,7 @@ send_error(struct ssh *ssh, char *msg)
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
kex_exchange_identification(struct ssh *ssh, int timeout_ms,
|
||||||
|
- const char *version_addendum)
|
||||||
|
+ int debian_banner, const char *version_addendum)
|
||||||
|
{
|
||||||
|
int remote_major, remote_minor, mismatch, oerrno = 0;
|
||||||
|
size_t len, n;
|
||||||
|
@@ -1255,7 +1255,8 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
|
||||||
|
if (version_addendum != NULL && *version_addendum == '\0')
|
||||||
|
version_addendum = NULL;
|
||||||
|
if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%s%s%s\r\n",
|
||||||
|
- PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
|
||||||
|
+ PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2,
|
||||||
|
+ debian_banner ? SSH_RELEASE : SSH_RELEASE_MINIMUM,
|
||||||
|
version_addendum == NULL ? "" : " ",
|
||||||
|
version_addendum == NULL ? "" : version_addendum)) != 0) {
|
||||||
|
oerrno = errno;
|
||||||
|
diff --git a/kex.h b/kex.h
|
||||||
|
index cd6a40333..6a08023d0 100644
|
||||||
|
--- a/kex.h
|
||||||
|
+++ b/kex.h
|
||||||
|
@@ -215,7 +215,7 @@ void kex_proposal_populate_entries(struct ssh *, char *prop[PROPOSAL_MAX],
|
||||||
|
const char *, const char *, const char *, const char *, const char *);
|
||||||
|
void kex_proposal_free_entries(char *prop[PROPOSAL_MAX]);
|
||||||
|
|
||||||
|
-int kex_exchange_identification(struct ssh *, int, const char *);
|
||||||
|
+int kex_exchange_identification(struct ssh *, int, int, const char *);
|
||||||
|
|
||||||
|
struct kex *kex_new(void);
|
||||||
|
int kex_ready(struct ssh *, char *[PROPOSAL_MAX]);
|
||||||
|
diff --git a/servconf.c b/servconf.c
|
||||||
|
index d2025592a..4891a43d6 100644
|
||||||
|
--- a/servconf.c
|
||||||
|
+++ b/servconf.c
|
||||||
|
@@ -221,6 +221,7 @@ initialize_server_options(ServerOptions *options)
|
||||||
|
options->sshd_session_path = NULL;
|
||||||
|
options->sshd_auth_path = NULL;
|
||||||
|
options->refuse_connection = -1;
|
||||||
|
+ options->debian_banner = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Returns 1 if a string option is unset or set to "none" or 0 otherwise. */
|
||||||
|
@@ -511,6 +512,8 @@ fill_default_server_options(ServerOptions *options)
|
||||||
|
options->sshd_auth_path = xstrdup(_PATH_SSHD_AUTH);
|
||||||
|
if (options->refuse_connection == -1)
|
||||||
|
options->refuse_connection = 0;
|
||||||
|
+ if (options->debian_banner == -1)
|
||||||
|
+ options->debian_banner = 1;
|
||||||
|
|
||||||
|
assemble_algorithms(options);
|
||||||
|
|
||||||
|
@@ -595,6 +598,7 @@ typedef enum {
|
||||||
|
sExposeAuthInfo, sRDomain, sPubkeyAuthOptions, sSecurityKeyProvider,
|
||||||
|
sRequiredRSASize, sChannelTimeout, sUnusedConnectionTimeout,
|
||||||
|
sSshdSessionPath, sSshdAuthPath, sRefuseConnection,
|
||||||
|
+ sDebianBanner,
|
||||||
|
sDeprecated, sIgnore, sUnsupported
|
||||||
|
} ServerOpCodes;
|
||||||
|
|
||||||
|
@@ -775,6 +779,7 @@ static struct {
|
||||||
|
{ "sshdsessionpath", sSshdSessionPath, SSHCFG_GLOBAL },
|
||||||
|
{ "sshdauthpath", sSshdAuthPath, SSHCFG_GLOBAL },
|
||||||
|
{ "refuseconnection", sRefuseConnection, SSHCFG_ALL },
|
||||||
|
+ { "debianbanner", sDebianBanner, SSHCFG_GLOBAL },
|
||||||
|
{ NULL, sBadOption, 0 }
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -2773,6 +2778,10 @@ process_server_config_line_depth(ServerOptions *options, char *line,
|
||||||
|
multistate_ptr = multistate_flag;
|
||||||
|
goto parse_multistate;
|
||||||
|
|
||||||
|
+ case sDebianBanner:
|
||||||
|
+ intptr = &options->debian_banner;
|
||||||
|
+ goto parse_flag;
|
||||||
|
+
|
||||||
|
case sDeprecated:
|
||||||
|
case sIgnore:
|
||||||
|
case sUnsupported:
|
||||||
|
@@ -3328,6 +3337,7 @@ dump_config(ServerOptions *o)
|
||||||
|
dump_cfg_fmtint(sFingerprintHash, o->fingerprint_hash);
|
||||||
|
dump_cfg_fmtint(sExposeAuthInfo, o->expose_userauth_info);
|
||||||
|
dump_cfg_fmtint(sRefuseConnection, o->refuse_connection);
|
||||||
|
+ dump_cfg_fmtint(sDebianBanner, o->debian_banner);
|
||||||
|
|
||||||
|
/* string arguments */
|
||||||
|
dump_cfg_string(sPidFile, o->pid_file);
|
||||||
|
diff --git a/servconf.h b/servconf.h
|
||||||
|
index c3f501400..b510992e3 100644
|
||||||
|
--- a/servconf.h
|
||||||
|
+++ b/servconf.h
|
||||||
|
@@ -255,6 +255,8 @@ typedef struct {
|
||||||
|
char *sshd_auth_path;
|
||||||
|
|
||||||
|
int refuse_connection;
|
||||||
|
+
|
||||||
|
+ int debian_banner;
|
||||||
|
} ServerOptions;
|
||||||
|
|
||||||
|
/* Information about the incoming connection as used by Match */
|
||||||
|
diff --git a/sshconnect.c b/sshconnect.c
|
||||||
|
index 54de157db..59f66c534 100644
|
||||||
|
--- a/sshconnect.c
|
||||||
|
+++ b/sshconnect.c
|
||||||
|
@@ -1611,7 +1611,7 @@ ssh_login(struct ssh *ssh, Sensitive *sensitive, const char *orighost,
|
||||||
|
lowercase(host);
|
||||||
|
|
||||||
|
/* Exchange protocol version identification strings with the server. */
|
||||||
|
- if ((r = kex_exchange_identification(ssh, timeout_ms,
|
||||||
|
+ if ((r = kex_exchange_identification(ssh, timeout_ms, 1,
|
||||||
|
options.version_addendum)) != 0)
|
||||||
|
sshpkt_fatal(ssh, r, "banner exchange");
|
||||||
|
|
||||||
|
diff --git a/sshd-session.c b/sshd-session.c
|
||||||
|
index 372a610b3..2b6d2a98b 100644
|
||||||
|
--- a/sshd-session.c
|
||||||
|
+++ b/sshd-session.c
|
||||||
|
@@ -1295,7 +1295,7 @@ main(int ac, char **av)
|
||||||
|
fatal("login grace time setitimer failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
- if ((r = kex_exchange_identification(ssh, -1,
|
||||||
|
+ if ((r = kex_exchange_identification(ssh, -1, options.debian_banner,
|
||||||
|
options.version_addendum)) != 0)
|
||||||
|
sshpkt_fatal(ssh, r, "banner exchange");
|
||||||
|
|
||||||
|
diff --git a/sshd_config.5 b/sshd_config.5
|
||||||
|
index b79e8a3ee..677567908 100644
|
||||||
|
--- a/sshd_config.5
|
||||||
|
+++ b/sshd_config.5
|
||||||
|
@@ -629,6 +629,11 @@ or
|
||||||
|
.Cm no .
|
||||||
|
The default is
|
||||||
|
.Cm yes .
|
||||||
|
+.It Cm DebianBanner
|
||||||
|
+Specifies whether the distribution-specified extra version suffix is
|
||||||
|
+included during initial protocol handshake.
|
||||||
|
+The default is
|
||||||
|
+.Cm yes .
|
||||||
|
.It Cm DenyGroups
|
||||||
|
This keyword can be followed by a list of group name patterns, separated
|
||||||
|
by spaces.
|
308
debian/patches/debian-config.patch
vendored
Normal file
308
debian/patches/debian-config.patch
vendored
Normal file
|
@ -0,0 +1,308 @@
|
||||||
|
From 5fbe366def6557d221b9d955b7ab9bfbe88fd2b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:18 +0000
|
||||||
|
Subject: Various Debian-specific configuration changes
|
||||||
|
|
||||||
|
ssh: Enable ForwardX11Trusted, returning to earlier semantics which cause
|
||||||
|
fewer problems with existing setups (http://bugs.debian.org/237021).
|
||||||
|
|
||||||
|
ssh: Set 'SendEnv LANG LC_* COLORTERM NO_COLOR' by default
|
||||||
|
(http://bugs.debian.org/264024).
|
||||||
|
|
||||||
|
ssh: Enable HashKnownHosts by default to try to limit the spread of ssh
|
||||||
|
worms.
|
||||||
|
|
||||||
|
ssh: Enable GSSAPIAuthentication by default.
|
||||||
|
|
||||||
|
ssh: Include /etc/ssh/ssh_config.d/*.conf.
|
||||||
|
|
||||||
|
sshd: Enable PAM, disable KbdInteractiveAuthentication, and disable
|
||||||
|
PrintMotd.
|
||||||
|
|
||||||
|
sshd: Enable X11Forwarding.
|
||||||
|
|
||||||
|
sshd: Set 'AcceptEnv LANG LC_* COLORTERM NO_COLOR' by default.
|
||||||
|
|
||||||
|
sshd: Change sftp subsystem path to /usr/lib/openssh/sftp-server.
|
||||||
|
|
||||||
|
sshd: Include /etc/ssh/sshd_config.d/*.conf.
|
||||||
|
|
||||||
|
sshd: Document Debian's defaults for SshdAuthPath and SshdSessionPath.
|
||||||
|
|
||||||
|
regress: Run tests with 'UsePAM yes', to match sshd_config.
|
||||||
|
|
||||||
|
Document all of this.
|
||||||
|
|
||||||
|
Author: Russ Allbery <rra@debian.org>
|
||||||
|
Author: Luca Boccassi <bluca@debian.org>
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2025-04-11
|
||||||
|
|
||||||
|
Patch-Name: debian-config.patch
|
||||||
|
---
|
||||||
|
readconf.c | 2 +-
|
||||||
|
regress/test-exec.sh | 1 +
|
||||||
|
ssh.1 | 24 ++++++++++++++++++++++++
|
||||||
|
ssh_config | 8 +++++++-
|
||||||
|
ssh_config.5 | 26 +++++++++++++++++++++++++-
|
||||||
|
sshd_config | 18 ++++++++++++------
|
||||||
|
sshd_config.5 | 33 +++++++++++++++++++++++++++++++--
|
||||||
|
7 files changed, 101 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/readconf.c b/readconf.c
|
||||||
|
index 8419b5451..fc625a00c 100644
|
||||||
|
--- a/readconf.c
|
||||||
|
+++ b/readconf.c
|
||||||
|
@@ -2860,7 +2860,7 @@ fill_default_options(Options * options)
|
||||||
|
if (options->forward_x11 == -1)
|
||||||
|
options->forward_x11 = 0;
|
||||||
|
if (options->forward_x11_trusted == -1)
|
||||||
|
- options->forward_x11_trusted = 0;
|
||||||
|
+ options->forward_x11_trusted = 1;
|
||||||
|
if (options->forward_x11_timeout == -1)
|
||||||
|
options->forward_x11_timeout = 1200;
|
||||||
|
/*
|
||||||
|
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
|
||||||
|
index 8a00c729c..486826928 100644
|
||||||
|
--- a/regress/test-exec.sh
|
||||||
|
+++ b/regress/test-exec.sh
|
||||||
|
@@ -634,6 +634,7 @@ cat << EOF > $OBJ/sshd_config
|
||||||
|
SshdSessionPath $SSHD_SESSION
|
||||||
|
SshdAuthPath $SSHD_AUTH
|
||||||
|
PerSourcePenalties no
|
||||||
|
+ UsePAM yes
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# This may be necessary if /usr/src and/or /usr/obj are group-writable,
|
||||||
|
diff --git a/ssh.1 b/ssh.1
|
||||||
|
index 3d849f02c..56bdfa3d9 100644
|
||||||
|
--- a/ssh.1
|
||||||
|
+++ b/ssh.1
|
||||||
|
@@ -873,6 +873,16 @@ directive in
|
||||||
|
.Xr ssh_config 5
|
||||||
|
for more information.
|
||||||
|
.Pp
|
||||||
|
+(Debian-specific: X11 forwarding is not subjected to X11 SECURITY extension
|
||||||
|
+restrictions by default, because too many programs currently crash in this
|
||||||
|
+mode.
|
||||||
|
+Set the
|
||||||
|
+.Cm ForwardX11Trusted
|
||||||
|
+option to
|
||||||
|
+.Dq no
|
||||||
|
+to restore the upstream behaviour.
|
||||||
|
+This may change in future depending on client-side improvements.)
|
||||||
|
+.Pp
|
||||||
|
.It Fl x
|
||||||
|
Disables X11 forwarding.
|
||||||
|
.Pp
|
||||||
|
@@ -881,6 +891,20 @@ Enables trusted X11 forwarding.
|
||||||
|
Trusted X11 forwardings are not subjected to the X11 SECURITY extension
|
||||||
|
controls.
|
||||||
|
.Pp
|
||||||
|
+(Debian-specific: In the default configuration, this option is equivalent to
|
||||||
|
+.Fl X ,
|
||||||
|
+since
|
||||||
|
+.Cm ForwardX11Trusted
|
||||||
|
+defaults to
|
||||||
|
+.Dq yes
|
||||||
|
+as described above.
|
||||||
|
+Set the
|
||||||
|
+.Cm ForwardX11Trusted
|
||||||
|
+option to
|
||||||
|
+.Dq no
|
||||||
|
+to restore the upstream behaviour.
|
||||||
|
+This may change in future depending on client-side improvements.)
|
||||||
|
+.Pp
|
||||||
|
.It Fl y
|
||||||
|
Send log information using the
|
||||||
|
.Xr syslog 3
|
||||||
|
diff --git a/ssh_config b/ssh_config
|
||||||
|
index 16197d15d..fc7930bfc 100644
|
||||||
|
--- a/ssh_config
|
||||||
|
+++ b/ssh_config
|
||||||
|
@@ -17,9 +17,12 @@
|
||||||
|
# list of available options, their meanings and defaults, please see the
|
||||||
|
# ssh_config(5) man page.
|
||||||
|
|
||||||
|
-# Host *
|
||||||
|
+Include /etc/ssh/ssh_config.d/*.conf
|
||||||
|
+
|
||||||
|
+Host *
|
||||||
|
# ForwardAgent no
|
||||||
|
# ForwardX11 no
|
||||||
|
+# ForwardX11Trusted yes
|
||||||
|
# PasswordAuthentication yes
|
||||||
|
# HostbasedAuthentication no
|
||||||
|
# GSSAPIAuthentication no
|
||||||
|
@@ -46,3 +49,6 @@
|
||||||
|
# ProxyCommand ssh -q -W %h:%p gateway.example.com
|
||||||
|
# RekeyLimit 1G 1h
|
||||||
|
# UserKnownHostsFile ~/.ssh/known_hosts.d/%k
|
||||||
|
+ SendEnv LANG LC_* COLORTERM NO_COLOR
|
||||||
|
+ HashKnownHosts yes
|
||||||
|
+ GSSAPIAuthentication yes
|
||||||
|
diff --git a/ssh_config.5 b/ssh_config.5
|
||||||
|
index 0356de8b0..d8452237d 100644
|
||||||
|
--- a/ssh_config.5
|
||||||
|
+++ b/ssh_config.5
|
||||||
|
@@ -71,6 +71,29 @@ Since the first obtained value for each parameter is used, more
|
||||||
|
host-specific declarations should be given near the beginning of the
|
||||||
|
file, and general defaults at the end.
|
||||||
|
.Pp
|
||||||
|
+Note that the Debian
|
||||||
|
+.Ic openssh-client
|
||||||
|
+package sets several options as standard in
|
||||||
|
+.Pa /etc/ssh/ssh_config
|
||||||
|
+which are not the default in
|
||||||
|
+.Xr ssh 1 :
|
||||||
|
+.Pp
|
||||||
|
+.Bl -bullet -offset indent -compact
|
||||||
|
+.It
|
||||||
|
+.Cm Include /etc/ssh/ssh_config.d/*.conf
|
||||||
|
+.It
|
||||||
|
+.Cm SendEnv No LANG LC_* COLORTERM NO_COLOR
|
||||||
|
+.It
|
||||||
|
+.Cm HashKnownHosts No yes
|
||||||
|
+.It
|
||||||
|
+.Cm GSSAPIAuthentication No yes
|
||||||
|
+.El
|
||||||
|
+.Pp
|
||||||
|
+.Pa /etc/ssh/ssh_config.d/*.conf
|
||||||
|
+files are included at the start of the system-wide configuration file, so
|
||||||
|
+options set there will override those in
|
||||||
|
+.Pa /etc/ssh/ssh_config.
|
||||||
|
+.Pp
|
||||||
|
The file contains keyword-argument pairs, one per line.
|
||||||
|
Lines starting with
|
||||||
|
.Ql #
|
||||||
|
@@ -941,11 +964,12 @@ elapsed.
|
||||||
|
.It Cm ForwardX11Trusted
|
||||||
|
If this option is set to
|
||||||
|
.Cm yes ,
|
||||||
|
+(the Debian-specific default),
|
||||||
|
remote X11 clients will have full access to the original X11 display.
|
||||||
|
.Pp
|
||||||
|
If this option is set to
|
||||||
|
.Cm no
|
||||||
|
-(the default),
|
||||||
|
+(the upstream default),
|
||||||
|
remote X11 clients will be considered untrusted and prevented
|
||||||
|
from stealing or tampering with data belonging to trusted X11
|
||||||
|
clients.
|
||||||
|
diff --git a/sshd_config b/sshd_config
|
||||||
|
index 6ddae0370..01e8d9098 100644
|
||||||
|
--- a/sshd_config
|
||||||
|
+++ b/sshd_config
|
||||||
|
@@ -10,6 +10,8 @@
|
||||||
|
# possible, but leave them commented. Uncommented options override the
|
||||||
|
# default value.
|
||||||
|
|
||||||
|
+Include /etc/ssh/sshd_config.d/*.conf
|
||||||
|
+
|
||||||
|
#Port 22
|
||||||
|
#AddressFamily any
|
||||||
|
#ListenAddress 0.0.0.0
|
||||||
|
@@ -57,10 +59,11 @@ AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
#PasswordAuthentication yes
|
||||||
|
#PermitEmptyPasswords no
|
||||||
|
|
||||||
|
-# Change to "no" to disable keyboard-interactive authentication. Depending on
|
||||||
|
+# Change to "yes" to enable keyboard-interactive authentication. Depending on
|
||||||
|
# the system's configuration, this may involve passwords, challenge-response,
|
||||||
|
# one-time passwords or some combination of these and other methods.
|
||||||
|
-#KbdInteractiveAuthentication yes
|
||||||
|
+# Beware issues with some PAM modules and threads.
|
||||||
|
+KbdInteractiveAuthentication no
|
||||||
|
|
||||||
|
# Kerberos options
|
||||||
|
#KerberosAuthentication no
|
||||||
|
@@ -83,16 +86,16 @@ AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
# If you just want the PAM account and session checks to run without
|
||||||
|
# PAM authentication, then enable this but set PasswordAuthentication
|
||||||
|
# and KbdInteractiveAuthentication to 'no'.
|
||||||
|
-#UsePAM no
|
||||||
|
+UsePAM yes
|
||||||
|
|
||||||
|
#AllowAgentForwarding yes
|
||||||
|
#AllowTcpForwarding yes
|
||||||
|
#GatewayPorts no
|
||||||
|
-#X11Forwarding no
|
||||||
|
+X11Forwarding yes
|
||||||
|
#X11DisplayOffset 10
|
||||||
|
#X11UseLocalhost yes
|
||||||
|
#PermitTTY yes
|
||||||
|
-#PrintMotd yes
|
||||||
|
+PrintMotd no
|
||||||
|
#PrintLastLog yes
|
||||||
|
#TCPKeepAlive yes
|
||||||
|
#PermitUserEnvironment no
|
||||||
|
@@ -109,8 +112,11 @@ AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
# no default banner path
|
||||||
|
#Banner none
|
||||||
|
|
||||||
|
+# Allow client to pass locale and color environment variables
|
||||||
|
+AcceptEnv LANG LC_* COLORTERM NO_COLOR
|
||||||
|
+
|
||||||
|
# override default of no subsystems
|
||||||
|
-Subsystem sftp /usr/libexec/sftp-server
|
||||||
|
+Subsystem sftp /usr/lib/openssh/sftp-server
|
||||||
|
|
||||||
|
# Example of overriding settings on a per-user basis
|
||||||
|
#Match User anoncvs
|
||||||
|
diff --git a/sshd_config.5 b/sshd_config.5
|
||||||
|
index 80a75fbb7..a5594102f 100644
|
||||||
|
--- a/sshd_config.5
|
||||||
|
+++ b/sshd_config.5
|
||||||
|
@@ -56,6 +56,35 @@ Arguments may optionally be enclosed in double quotes
|
||||||
|
.Pq \&"
|
||||||
|
in order to represent arguments containing spaces.
|
||||||
|
.Pp
|
||||||
|
+Note that the Debian
|
||||||
|
+.Ic openssh-server
|
||||||
|
+package sets several options as standard in
|
||||||
|
+.Pa /etc/ssh/sshd_config
|
||||||
|
+which are not the default in
|
||||||
|
+.Xr sshd 8 :
|
||||||
|
+.Pp
|
||||||
|
+.Bl -bullet -offset indent -compact
|
||||||
|
+.It
|
||||||
|
+.Cm Include /etc/ssh/sshd_config.d/*.conf
|
||||||
|
+.It
|
||||||
|
+.Cm KbdInteractiveAuthentication No no
|
||||||
|
+.It
|
||||||
|
+.Cm X11Forwarding No yes
|
||||||
|
+.It
|
||||||
|
+.Cm PrintMotd No no
|
||||||
|
+.It
|
||||||
|
+.Cm AcceptEnv No LANG LC_* COLORTERM NO_COLOR
|
||||||
|
+.It
|
||||||
|
+.Cm Subsystem No sftp /usr/lib/openssh/sftp-server
|
||||||
|
+.It
|
||||||
|
+.Cm UsePAM No yes
|
||||||
|
+.El
|
||||||
|
+.Pp
|
||||||
|
+.Pa /etc/ssh/sshd_config.d/*.conf
|
||||||
|
+files are included at the start of the configuration file, so options set
|
||||||
|
+there will override those in
|
||||||
|
+.Pa /etc/ssh/sshd_config.
|
||||||
|
+.Pp
|
||||||
|
The possible
|
||||||
|
keywords and their meanings are as follows (note that
|
||||||
|
keywords are case-insensitive and arguments are case-sensitive):
|
||||||
|
@@ -1889,14 +1918,14 @@ Overrides the default path to the
|
||||||
|
.Cm sshd-auth
|
||||||
|
binary that is invoked to complete user authentication.
|
||||||
|
The default is
|
||||||
|
-.Pa /usr/libexec/sshd-auth .
|
||||||
|
+.Pa /usr/lib/openssh/sshd-auth .
|
||||||
|
This option is intended for use by tests.
|
||||||
|
.It Cm SshdSessionPath
|
||||||
|
Overrides the default path to the
|
||||||
|
.Cm sshd-session
|
||||||
|
binary that is invoked to handle each connection.
|
||||||
|
The default is
|
||||||
|
-.Pa /usr/libexec/sshd-session .
|
||||||
|
+.Pa /usr/lib/openssh/sshd-session .
|
||||||
|
This option is intended for use by tests.
|
||||||
|
.It Cm StreamLocalBindMask
|
||||||
|
Sets the octal file creation mode mask
|
94
debian/patches/dnssec-sshfp.patch
vendored
Normal file
94
debian/patches/dnssec-sshfp.patch
vendored
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
From 4b42694c1823a9eb69a972c53cf79ce289b2c810 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:01 +0000
|
||||||
|
Subject: Force use of DNSSEC even if "options edns0" isn't in resolv.conf
|
||||||
|
|
||||||
|
This allows SSHFP DNS records to be verified if glibc 2.11 is installed.
|
||||||
|
|
||||||
|
Origin: vendor, https://cvs.fedoraproject.org/viewvc/F-12/openssh/openssh-5.2p1-edns.patch?revision=1.1&view=markup
|
||||||
|
Bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572049
|
||||||
|
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=572049
|
||||||
|
Last-Update: 2023-06-19
|
||||||
|
|
||||||
|
Patch-Name: dnssec-sshfp.patch
|
||||||
|
---
|
||||||
|
dns.c | 14 +++++++++++++-
|
||||||
|
openbsd-compat/getrrsetbyname.c | 10 +++++-----
|
||||||
|
openbsd-compat/getrrsetbyname.h | 3 +++
|
||||||
|
3 files changed, 21 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dns.c b/dns.c
|
||||||
|
index 939241440..bf47a079f 100644
|
||||||
|
--- a/dns.c
|
||||||
|
+++ b/dns.c
|
||||||
|
@@ -198,6 +198,7 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
|
||||||
|
{
|
||||||
|
u_int counter;
|
||||||
|
int result;
|
||||||
|
+ unsigned int rrset_flags = 0;
|
||||||
|
struct rrsetinfo *fingerprints = NULL;
|
||||||
|
|
||||||
|
u_int8_t hostkey_algorithm;
|
||||||
|
@@ -220,8 +221,19 @@ verify_host_key_dns(const char *hostname, struct sockaddr *address,
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * Original getrrsetbyname function, found on OpenBSD for example,
|
||||||
|
+ * doesn't accept any flag and prerequisite for obtaining AD bit in
|
||||||
|
+ * DNS response is set by "options edns0" in resolv.conf.
|
||||||
|
+ *
|
||||||
|
+ * Our version is more clever and use RRSET_FORCE_EDNS0 flag.
|
||||||
|
+ */
|
||||||
|
+#ifndef HAVE_GETRRSETBYNAME
|
||||||
|
+ rrset_flags |= RRSET_FORCE_EDNS0;
|
||||||
|
+#endif
|
||||||
|
result = getrrsetbyname(hostname, DNS_RDATACLASS_IN,
|
||||||
|
- DNS_RDATATYPE_SSHFP, 0, &fingerprints);
|
||||||
|
+ DNS_RDATATYPE_SSHFP, rrset_flags, &fingerprints);
|
||||||
|
+
|
||||||
|
if (result) {
|
||||||
|
verbose("DNS lookup error: %s", dns_result_totext(result));
|
||||||
|
return -1;
|
||||||
|
diff --git a/openbsd-compat/getrrsetbyname.c b/openbsd-compat/getrrsetbyname.c
|
||||||
|
index ad35148c9..add519441 100644
|
||||||
|
--- a/openbsd-compat/getrrsetbyname.c
|
||||||
|
+++ b/openbsd-compat/getrrsetbyname.c
|
||||||
|
@@ -214,8 +214,8 @@ getrrsetbyname(const char *hostname, unsigned int rdclass,
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
|
||||||
|
- /* don't allow flags yet, unimplemented */
|
||||||
|
- if (flags) {
|
||||||
|
+ /* Allow RRSET_FORCE_EDNS0 flag only. */
|
||||||
|
+ if ((flags & ~RRSET_FORCE_EDNS0) != 0) {
|
||||||
|
result = ERRSET_INVAL;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
@@ -231,9 +231,9 @@ getrrsetbyname(const char *hostname, unsigned int rdclass,
|
||||||
|
#endif /* DEBUG */
|
||||||
|
|
||||||
|
#ifdef RES_USE_DNSSEC
|
||||||
|
- /* turn on DNSSEC if EDNS0 is configured */
|
||||||
|
- if (_resp->options & RES_USE_EDNS0)
|
||||||
|
- _resp->options |= RES_USE_DNSSEC;
|
||||||
|
+ /* turn on DNSSEC if required */
|
||||||
|
+ if (flags & RRSET_FORCE_EDNS0)
|
||||||
|
+ _resp->options |= (RES_USE_EDNS0|RES_USE_DNSSEC);
|
||||||
|
#endif /* RES_USE_DNSEC */
|
||||||
|
|
||||||
|
/* make query */
|
||||||
|
diff --git a/openbsd-compat/getrrsetbyname.h b/openbsd-compat/getrrsetbyname.h
|
||||||
|
index 1283f5506..dbbc85a2a 100644
|
||||||
|
--- a/openbsd-compat/getrrsetbyname.h
|
||||||
|
+++ b/openbsd-compat/getrrsetbyname.h
|
||||||
|
@@ -72,6 +72,9 @@
|
||||||
|
#ifndef RRSET_VALIDATED
|
||||||
|
# define RRSET_VALIDATED 1
|
||||||
|
#endif
|
||||||
|
+#ifndef RRSET_FORCE_EDNS0
|
||||||
|
+# define RRSET_FORCE_EDNS0 0x0001
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return codes for getrrsetbyname()
|
28
debian/patches/doc-hash-tab-completion.patch
vendored
Normal file
28
debian/patches/doc-hash-tab-completion.patch
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
From c3c79bbb6ba940f4587dddaf8e85b8f36e4a895e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:11 +0000
|
||||||
|
Subject: Document that HashKnownHosts may break tab-completion
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1727
|
||||||
|
Bug-Debian: http://bugs.debian.org/430154
|
||||||
|
Last-Update: 2021-11-05
|
||||||
|
|
||||||
|
Patch-Name: doc-hash-tab-completion.patch
|
||||||
|
---
|
||||||
|
ssh_config.5 | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/ssh_config.5 b/ssh_config.5
|
||||||
|
index dd0084c82..0356de8b0 100644
|
||||||
|
--- a/ssh_config.5
|
||||||
|
+++ b/ssh_config.5
|
||||||
|
@@ -1060,6 +1060,9 @@ Note that existing names and addresses in known hosts files
|
||||||
|
will not be converted automatically,
|
||||||
|
but may be manually hashed using
|
||||||
|
.Xr ssh-keygen 1 .
|
||||||
|
+Use of this option may break facilities such as tab-completion that rely
|
||||||
|
+on being able to read unhashed host names from
|
||||||
|
+.Pa ~/.ssh/known_hosts .
|
||||||
|
.It Cm HostbasedAcceptedAlgorithms
|
||||||
|
Specifies the signature algorithms that will be used for hostbased
|
||||||
|
authentication as a comma-separated list of patterns.
|
26
debian/patches/gnome-ssh-askpass2-icon.patch
vendored
Normal file
26
debian/patches/gnome-ssh-askpass2-icon.patch
vendored
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
From 53cb8cc4c931b81db8a924be43e09ad6edca9808 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vincent Untz <vuntz@ubuntu.com>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:16 +0000
|
||||||
|
Subject: Give the ssh-askpass-gnome window a default icon
|
||||||
|
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/27152
|
||||||
|
Last-Update: 2010-02-28
|
||||||
|
|
||||||
|
Patch-Name: gnome-ssh-askpass2-icon.patch
|
||||||
|
---
|
||||||
|
contrib/gnome-ssh-askpass2.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/contrib/gnome-ssh-askpass2.c b/contrib/gnome-ssh-askpass2.c
|
||||||
|
index a62f98152..304569802 100644
|
||||||
|
--- a/contrib/gnome-ssh-askpass2.c
|
||||||
|
+++ b/contrib/gnome-ssh-askpass2.c
|
||||||
|
@@ -320,6 +320,8 @@ main(int argc, char **argv)
|
||||||
|
|
||||||
|
gtk_init(&argc, &argv);
|
||||||
|
|
||||||
|
+ gtk_window_set_default_icon_from_file ("/usr/share/pixmaps/ssh-askpass-gnome.png", NULL);
|
||||||
|
+
|
||||||
|
if (argc > 1) {
|
||||||
|
message = g_strjoinv(" ", argv + 1);
|
||||||
|
} else {
|
3987
debian/patches/gssapi.patch
vendored
Normal file
3987
debian/patches/gssapi.patch
vendored
Normal file
File diff suppressed because it is too large
Load diff
149
debian/patches/keepalive-extensions.patch
vendored
Normal file
149
debian/patches/keepalive-extensions.patch
vendored
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
From d3fc1f4d6bf0c2a857af1d5f90e7a0b061cdb490 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Richard Kettlewell <rjk@greenend.org.uk>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:52 +0000
|
||||||
|
Subject: Various keepalive extensions
|
||||||
|
|
||||||
|
Add compatibility aliases for ProtocolKeepAlives and SetupTimeOut, supported
|
||||||
|
in previous versions of Debian's OpenSSH package but since superseded by
|
||||||
|
ServerAliveInterval. (We're probably stuck with this bit for
|
||||||
|
compatibility.)
|
||||||
|
|
||||||
|
In batch mode, default ServerAliveInterval to five minutes.
|
||||||
|
|
||||||
|
Adjust documentation to match and to give some more advice on use of
|
||||||
|
keepalives.
|
||||||
|
|
||||||
|
Author: Ian Jackson <ian@chiark.greenend.org.uk>
|
||||||
|
Author: Matthew Vernon <matthew@debian.org>
|
||||||
|
Author: Colin Watson <cjwatson@debian.org>
|
||||||
|
Last-Update: 2025-04-10
|
||||||
|
|
||||||
|
Patch-Name: keepalive-extensions.patch
|
||||||
|
---
|
||||||
|
readconf.c | 14 ++++++++++++--
|
||||||
|
ssh_config.5 | 21 +++++++++++++++++++--
|
||||||
|
sshd_config.5 | 3 +++
|
||||||
|
3 files changed, 34 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/readconf.c b/readconf.c
|
||||||
|
index 2b6f2c1e3..5a38016eb 100644
|
||||||
|
--- a/readconf.c
|
||||||
|
+++ b/readconf.c
|
||||||
|
@@ -184,6 +184,7 @@ typedef enum {
|
||||||
|
oSecurityKeyProvider, oKnownHostsCommand, oRequiredRSASize,
|
||||||
|
oEnableEscapeCommandline, oObscureKeystrokeTiming, oChannelTimeout,
|
||||||
|
oVersionAddendum,
|
||||||
|
+ oProtocolKeepAlives, oSetupTimeOut,
|
||||||
|
oIgnore, oIgnoredUnknownOption, oDeprecated, oUnsupported
|
||||||
|
} OpCodes;
|
||||||
|
|
||||||
|
@@ -348,6 +349,8 @@ static struct {
|
||||||
|
{ "obscurekeystroketiming", oObscureKeystrokeTiming },
|
||||||
|
{ "channeltimeout", oChannelTimeout },
|
||||||
|
{ "versionaddendum", oVersionAddendum },
|
||||||
|
+ { "protocolkeepalives", oProtocolKeepAlives },
|
||||||
|
+ { "setuptimeout", oSetupTimeOut },
|
||||||
|
|
||||||
|
{ NULL, oBadOption }
|
||||||
|
};
|
||||||
|
@@ -1230,6 +1233,7 @@ process_config_line_depth(Options *options, struct passwd *pw, const char *host,
|
||||||
|
argv_consume(&ac);
|
||||||
|
break;
|
||||||
|
case oConnectTimeout:
|
||||||
|
+ case oSetupTimeOut: /* Debian-specific compatibility alias */
|
||||||
|
intptr = &options->connection_timeout;
|
||||||
|
parse_time:
|
||||||
|
arg = argv_next(&ac, &av);
|
||||||
|
@@ -1972,6 +1976,7 @@ parse_pubkey_algos:
|
||||||
|
goto parse_flag;
|
||||||
|
|
||||||
|
case oServerAliveInterval:
|
||||||
|
+ case oProtocolKeepAlives: /* Debian-specific compatibility alias */
|
||||||
|
intptr = &options->server_alive_interval;
|
||||||
|
goto parse_time;
|
||||||
|
|
||||||
|
@@ -2980,8 +2985,13 @@ fill_default_options(Options * options)
|
||||||
|
options->rekey_interval = 0;
|
||||||
|
if (options->verify_host_key_dns == -1)
|
||||||
|
options->verify_host_key_dns = 0;
|
||||||
|
- if (options->server_alive_interval == -1)
|
||||||
|
- options->server_alive_interval = 0;
|
||||||
|
+ if (options->server_alive_interval == -1) {
|
||||||
|
+ /* in batch mode, default is 5mins */
|
||||||
|
+ if (options->batch_mode == 1)
|
||||||
|
+ options->server_alive_interval = 300;
|
||||||
|
+ else
|
||||||
|
+ options->server_alive_interval = 0;
|
||||||
|
+ }
|
||||||
|
if (options->server_alive_count_max == -1)
|
||||||
|
options->server_alive_count_max = 3;
|
||||||
|
if (options->control_master == -1)
|
||||||
|
diff --git a/ssh_config.5 b/ssh_config.5
|
||||||
|
index cb65089f6..a82ea54db 100644
|
||||||
|
--- a/ssh_config.5
|
||||||
|
+++ b/ssh_config.5
|
||||||
|
@@ -335,9 +335,13 @@ If set to
|
||||||
|
.Cm yes ,
|
||||||
|
user interaction such as password prompts and host key confirmation requests
|
||||||
|
will be disabled.
|
||||||
|
+In addition, the
|
||||||
|
+.Cm ServerAliveInterval
|
||||||
|
+option will be set to 300 seconds by default (Debian-specific).
|
||||||
|
This option is useful in scripts and other batch jobs where no user
|
||||||
|
is present to interact with
|
||||||
|
-.Xr ssh 1 .
|
||||||
|
+.Xr ssh 1 ,
|
||||||
|
+and where it is desirable to detect a broken network swiftly.
|
||||||
|
The argument must be
|
||||||
|
.Cm yes
|
||||||
|
or
|
||||||
|
@@ -658,6 +662,8 @@ Specifies the timeout (in seconds) used when connecting to the
|
||||||
|
SSH server, instead of using the default system TCP timeout.
|
||||||
|
This timeout is applied both to establishing the connection and to performing
|
||||||
|
the initial SSH protocol handshake and key exchange.
|
||||||
|
+.Cm SetupTimeOut
|
||||||
|
+is a Debian-specific compatibility alias for this option.
|
||||||
|
.It Cm ControlMaster
|
||||||
|
Enables the sharing of multiple sessions over a single network connection.
|
||||||
|
When set to
|
||||||
|
@@ -1982,7 +1988,12 @@ from the server,
|
||||||
|
will send a message through the encrypted
|
||||||
|
channel to request a response from the server.
|
||||||
|
The default
|
||||||
|
-is 0, indicating that these messages will not be sent to the server.
|
||||||
|
+is 0, indicating that these messages will not be sent to the server,
|
||||||
|
+or 300 if the
|
||||||
|
+.Cm BatchMode
|
||||||
|
+option is set (Debian-specific).
|
||||||
|
+.Cm ProtocolKeepAlives
|
||||||
|
+is a Debian-specific compatibility alias for this option.
|
||||||
|
.It Cm SessionType
|
||||||
|
May be used to either request invocation of a subsystem on the remote system,
|
||||||
|
or to prevent the execution of a remote command at all.
|
||||||
|
@@ -2105,6 +2116,12 @@ Specifies whether the system should send TCP keepalive messages to the
|
||||||
|
other side.
|
||||||
|
If they are sent, death of the connection or crash of one
|
||||||
|
of the machines will be properly noticed.
|
||||||
|
+This option only uses TCP keepalives (as opposed to using ssh level
|
||||||
|
+keepalives), so takes a long time to notice when the connection dies.
|
||||||
|
+As such, you probably want
|
||||||
|
+the
|
||||||
|
+.Cm ServerAliveInterval
|
||||||
|
+option as well.
|
||||||
|
However, this means that
|
||||||
|
connections will die if the route is down temporarily, and some people
|
||||||
|
find it annoying.
|
||||||
|
diff --git a/sshd_config.5 b/sshd_config.5
|
||||||
|
index c36484972..b79e8a3ee 100644
|
||||||
|
--- a/sshd_config.5
|
||||||
|
+++ b/sshd_config.5
|
||||||
|
@@ -1996,6 +1996,9 @@ This avoids infinitely hanging sessions.
|
||||||
|
.Pp
|
||||||
|
To disable TCP keepalive messages, the value should be set to
|
||||||
|
.Cm no .
|
||||||
|
+.Pp
|
||||||
|
+This option was formerly called
|
||||||
|
+.Cm KeepAlive .
|
||||||
|
.It Cm TrustedUserCAKeys
|
||||||
|
Specifies a file containing public keys of certificate authorities that are
|
||||||
|
trusted to sign user certificates for authentication, or
|
44
debian/patches/mention-ssh-keygen-on-keychange.patch
vendored
Normal file
44
debian/patches/mention-ssh-keygen-on-keychange.patch
vendored
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
From 4bf6a2acf9290928d4393c3d3f219074c9c7eb3c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Scott Moser <smoser@ubuntu.com>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:03 +0000
|
||||||
|
Subject: Mention ssh-keygen in ssh fingerprint changed warning
|
||||||
|
|
||||||
|
Author: Chris Lamb <lamby@debian.org>
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1843
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/686607
|
||||||
|
Last-Update: 2023-12-11
|
||||||
|
|
||||||
|
Patch-Name: mention-ssh-keygen-on-keychange.patch
|
||||||
|
---
|
||||||
|
sshconnect.c | 9 ++++++++-
|
||||||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/sshconnect.c b/sshconnect.c
|
||||||
|
index 43b75dcf7..54de157db 100644
|
||||||
|
--- a/sshconnect.c
|
||||||
|
+++ b/sshconnect.c
|
||||||
|
@@ -1307,9 +1307,13 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo,
|
||||||
|
error("%s. This could either mean that", key_msg);
|
||||||
|
error("DNS SPOOFING is happening or the IP address for the host");
|
||||||
|
error("and its host key have changed at the same time.");
|
||||||
|
- if (ip_status != HOST_NEW)
|
||||||
|
+ if (ip_status != HOST_NEW) {
|
||||||
|
error("Offending key for IP in %s:%lu",
|
||||||
|
ip_found->file, ip_found->line);
|
||||||
|
+ error(" remove with:");
|
||||||
|
+ error(" ssh-keygen -f '%s' -R '%s'",
|
||||||
|
+ ip_found->file, ip);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
/* The host key has changed. */
|
||||||
|
warn_changed_key(host_key);
|
||||||
|
@@ -1321,6 +1325,9 @@ check_host_key(char *hostname, const struct ssh_conn_info *cinfo,
|
||||||
|
error("Offending %s key in %s:%lu",
|
||||||
|
sshkey_type(host_found->key),
|
||||||
|
host_found->file, host_found->line);
|
||||||
|
+ error(" remove with:");
|
||||||
|
+ error(" ssh-keygen -f '%s' -R '%s'",
|
||||||
|
+ host_found->file, host);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If strict host key checking is in use, the user will have
|
71
debian/patches/no-openssl-version-status.patch
vendored
Normal file
71
debian/patches/no-openssl-version-status.patch
vendored
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
From bcb6fbcb58e6256516d5a63e6c27c3dd880373c3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kurt Roeckx <kurt@roeckx.be>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:14 +0000
|
||||||
|
Subject: Don't check the status field of the OpenSSL version
|
||||||
|
|
||||||
|
There is no reason to check the version of OpenSSL (in Debian). If it's
|
||||||
|
not compatible the soname will change. OpenSSH seems to want to do a
|
||||||
|
check for the soname based on the version number, but wants to keep the
|
||||||
|
status of the release the same. Remove that check on the status since
|
||||||
|
it doesn't tell you anything about how compatible that version is.
|
||||||
|
|
||||||
|
Author: Colin Watson <cjwatson@debian.org>
|
||||||
|
Bug-Debian: https://bugs.debian.org/93581
|
||||||
|
Bug-Debian: https://bugs.debian.org/664383
|
||||||
|
Bug-Debian: https://bugs.debian.org/732940
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2023-09-02
|
||||||
|
|
||||||
|
Patch-Name: no-openssl-version-status.patch
|
||||||
|
---
|
||||||
|
openbsd-compat/openssl-compat.c | 8 ++++----
|
||||||
|
openbsd-compat/regress/opensslvertest.c | 2 ++
|
||||||
|
2 files changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c
|
||||||
|
index 14865077e..0cea08c03 100644
|
||||||
|
--- a/openbsd-compat/openssl-compat.c
|
||||||
|
+++ b/openbsd-compat/openssl-compat.c
|
||||||
|
@@ -49,18 +49,18 @@ ssh_compatible_openssl(long headerver, long libver)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * For versions >= 3.0, only the major and status must match.
|
||||||
|
+ * For versions >= 3.0, only the major must match.
|
||||||
|
*/
|
||||||
|
if (headerver >= 0x3000000f) {
|
||||||
|
- mask = 0xf000000fL; /* major,status */
|
||||||
|
+ mask = 0xf0000000L; /* major */
|
||||||
|
return (headerver & mask) == (libver & mask);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * For versions >= 1.0.0, but <3, major,minor,status must match and
|
||||||
|
+ * For versions >= 1.0.0, but <3, major,minor must match and
|
||||||
|
* library fix version must be equal to or newer than the header.
|
||||||
|
*/
|
||||||
|
- mask = 0xfff0000fL; /* major,minor,status */
|
||||||
|
+ mask = 0xfff00000L; /* major,minor */
|
||||||
|
hfix = (headerver & 0x000ff000) >> 12;
|
||||||
|
lfix = (libver & 0x000ff000) >> 12;
|
||||||
|
if ( (headerver & mask) == (libver & mask) && lfix >= hfix)
|
||||||
|
diff --git a/openbsd-compat/regress/opensslvertest.c b/openbsd-compat/regress/opensslvertest.c
|
||||||
|
index 99c894418..351df4374 100644
|
||||||
|
--- a/openbsd-compat/regress/opensslvertest.c
|
||||||
|
+++ b/openbsd-compat/regress/opensslvertest.c
|
||||||
|
@@ -28,6 +28,7 @@ struct version_test {
|
||||||
|
} version_tests[] = {
|
||||||
|
/* built with 1.0.1b release headers */
|
||||||
|
{ 0x1000101fL, 0x1000101fL, 1},/* exact match */
|
||||||
|
+ { 0x1000101fL, 0x10001010L, 1}, /* different status: ok */
|
||||||
|
{ 0x1000101fL, 0x1000102fL, 1}, /* newer library patch version: ok */
|
||||||
|
{ 0x1000101fL, 0x1000100fL, 1}, /* older library patch version: ok */
|
||||||
|
{ 0x1000101fL, 0x1000201fL, 1}, /* newer library fix version: ok */
|
||||||
|
@@ -48,6 +49,7 @@ struct version_test {
|
||||||
|
|
||||||
|
/* built with 3.0.1 release headers */
|
||||||
|
{ 0x3010101fL, 0x3010101fL, 1},/* exact match */
|
||||||
|
+ { 0x3010101fL, 0x30101010L, 1}, /* different status: ok */
|
||||||
|
{ 0x3010101fL, 0x3010102fL, 1}, /* newer library patch version: ok */
|
||||||
|
{ 0x3010101fL, 0x3010100fL, 1}, /* older library patch version: ok */
|
||||||
|
{ 0x3010101fL, 0x3010201fL, 1}, /* newer library fix version: ok */
|
190
debian/patches/openbsd-docs.patch
vendored
Normal file
190
debian/patches/openbsd-docs.patch
vendored
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
From f44687fdc6dcf48a38f32693d7e28034d4961d0d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:09 +0000
|
||||||
|
Subject: Adjust various OpenBSD-specific references in manual pages
|
||||||
|
|
||||||
|
No single bug reference for this patch, but history includes:
|
||||||
|
https://bugs.debian.org/154434 (login.conf(5))
|
||||||
|
https://bugs.debian.org/513417 (/etc/rc)
|
||||||
|
https://bugs.debian.org/998069, https://bugs.debian.org/1095686 (rdomain(4))
|
||||||
|
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2025-04-15
|
||||||
|
|
||||||
|
Patch-Name: openbsd-docs.patch
|
||||||
|
---
|
||||||
|
moduli.5 | 4 ++--
|
||||||
|
ssh-keygen.1 | 12 ++++--------
|
||||||
|
sshd.8 | 5 ++---
|
||||||
|
sshd_config.5 | 27 ++++++---------------------
|
||||||
|
4 files changed, 14 insertions(+), 34 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/moduli.5 b/moduli.5
|
||||||
|
index 5086a6d42..6dffdc7e6 100644
|
||||||
|
--- a/moduli.5
|
||||||
|
+++ b/moduli.5
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
.Nd Diffie-Hellman moduli
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
-.Pa /etc/moduli
|
||||||
|
+.Pa /etc/ssh/moduli
|
||||||
|
file contains prime numbers and generators for use by
|
||||||
|
.Xr sshd 8
|
||||||
|
in the Diffie-Hellman Group Exchange key exchange method.
|
||||||
|
@@ -110,7 +110,7 @@ first estimates the size of the modulus required to produce enough
|
||||||
|
Diffie-Hellman output to sufficiently key the selected symmetric cipher.
|
||||||
|
.Xr sshd 8
|
||||||
|
then randomly selects a modulus from
|
||||||
|
-.Fa /etc/moduli
|
||||||
|
+.Fa /etc/ssh/moduli
|
||||||
|
that best meets the size requirement.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr ssh-keygen 1 ,
|
||||||
|
diff --git a/ssh-keygen.1 b/ssh-keygen.1
|
||||||
|
index 00246a861..9c1514951 100644
|
||||||
|
--- a/ssh-keygen.1
|
||||||
|
+++ b/ssh-keygen.1
|
||||||
|
@@ -211,9 +211,7 @@ key in
|
||||||
|
.Pa ~/.ssh/id_ed25519_sk
|
||||||
|
or
|
||||||
|
.Pa ~/.ssh/id_rsa .
|
||||||
|
-Additionally, the system administrator may use this to generate host keys,
|
||||||
|
-as seen in
|
||||||
|
-.Pa /etc/rc .
|
||||||
|
+Additionally, the system administrator may use this to generate host keys.
|
||||||
|
.Pp
|
||||||
|
Normally this program generates the key and asks for a file in which
|
||||||
|
to store the private key.
|
||||||
|
@@ -278,9 +276,7 @@ If
|
||||||
|
.Fl f
|
||||||
|
has also been specified, its argument is used as a prefix to the
|
||||||
|
default path for the resulting host key files.
|
||||||
|
-This is used by
|
||||||
|
-.Pa /etc/rc
|
||||||
|
-to generate new host keys.
|
||||||
|
+This is used by system administration scripts to generate new host keys.
|
||||||
|
.It Fl a Ar rounds
|
||||||
|
When saving a private key, this option specifies the number of KDF
|
||||||
|
(key derivation function, currently
|
||||||
|
@@ -860,7 +856,7 @@ option.
|
||||||
|
Valid generator values are 2, 3, and 5.
|
||||||
|
.Pp
|
||||||
|
Screened DH groups may be installed in
|
||||||
|
-.Pa /etc/moduli .
|
||||||
|
+.Pa /etc/ssh/moduli .
|
||||||
|
It is important that this file contains moduli of a range of bit lengths.
|
||||||
|
.Pp
|
||||||
|
A number of options are available for moduli generation and screening via the
|
||||||
|
@@ -1314,7 +1310,7 @@ on all machines
|
||||||
|
where the user wishes to log in using public key authentication.
|
||||||
|
There is no need to keep the contents of this file secret.
|
||||||
|
.Pp
|
||||||
|
-.It Pa /etc/moduli
|
||||||
|
+.It Pa /etc/ssh/moduli
|
||||||
|
Contains Diffie-Hellman groups used for DH-GEX.
|
||||||
|
The file format is described in
|
||||||
|
.Xr moduli 5 .
|
||||||
|
diff --git a/sshd.8 b/sshd.8
|
||||||
|
index 464d402f6..bd1117bfe 100644
|
||||||
|
--- a/sshd.8
|
||||||
|
+++ b/sshd.8
|
||||||
|
@@ -64,7 +64,7 @@ over an insecure network.
|
||||||
|
.Nm
|
||||||
|
listens for connections from clients.
|
||||||
|
It is normally started at boot from
|
||||||
|
-.Pa /etc/rc .
|
||||||
|
+.Pa /etc/init.d/ssh .
|
||||||
|
It forks a new
|
||||||
|
daemon for each incoming connection.
|
||||||
|
The forked daemons handle
|
||||||
|
@@ -936,7 +936,7 @@ This file is for host-based authentication (see
|
||||||
|
.Xr ssh 1 ) .
|
||||||
|
It should only be writable by root.
|
||||||
|
.Pp
|
||||||
|
-.It Pa /etc/moduli
|
||||||
|
+.It Pa /etc/ssh/moduli
|
||||||
|
Contains Diffie-Hellman groups used for the "Diffie-Hellman Group Exchange"
|
||||||
|
key exchange method.
|
||||||
|
The file format is described in
|
||||||
|
@@ -1034,7 +1034,6 @@ The content of this file is not sensitive; it can be world-readable.
|
||||||
|
.Xr ssh-keyscan 1 ,
|
||||||
|
.Xr chroot 2 ,
|
||||||
|
.Xr hosts_access 5 ,
|
||||||
|
-.Xr login.conf 5 ,
|
||||||
|
.Xr moduli 5 ,
|
||||||
|
.Xr sshd_config 5 ,
|
||||||
|
.Xr inetd 8 ,
|
||||||
|
diff --git a/sshd_config.5 b/sshd_config.5
|
||||||
|
index 677567908..80a75fbb7 100644
|
||||||
|
--- a/sshd_config.5
|
||||||
|
+++ b/sshd_config.5
|
||||||
|
@@ -1001,9 +1001,6 @@ for interactive sessions and
|
||||||
|
for non-interactive sessions.
|
||||||
|
.It Cm KbdInteractiveAuthentication
|
||||||
|
Specifies whether to allow keyboard-interactive authentication.
|
||||||
|
-All authentication styles from
|
||||||
|
-.Xr login.conf 5
|
||||||
|
-are supported.
|
||||||
|
The default is
|
||||||
|
.Cm yes .
|
||||||
|
The argument to this keyword must be
|
||||||
|
@@ -1151,8 +1148,10 @@ routing domain.
|
||||||
|
Multiple
|
||||||
|
.Cm ListenAddress
|
||||||
|
options are permitted.
|
||||||
|
-For more information on routing domains, see
|
||||||
|
-.Xr rdomain 4 .
|
||||||
|
+.Pp
|
||||||
|
+On Linux, routing domains are implemented using Virtual Routing and
|
||||||
|
+Forwarding domains (VRFs); for more information, see
|
||||||
|
+.Xr ip-vrf 8 .
|
||||||
|
.It Cm LoginGraceTime
|
||||||
|
The server disconnects after this time if the user has not
|
||||||
|
successfully logged in.
|
||||||
|
@@ -1286,9 +1285,8 @@ and
|
||||||
|
.Cm Address
|
||||||
|
(with
|
||||||
|
.Cm RDomain
|
||||||
|
-representing the
|
||||||
|
-.Xr rdomain 4
|
||||||
|
-on which the connection was received).
|
||||||
|
+representing the routing domain on which the connection was received; see
|
||||||
|
+.Xr ip-vrf 8 ) .
|
||||||
|
.Pp
|
||||||
|
The match patterns may consist of single entries or comma-separated
|
||||||
|
lists and may use the wildcard and negation operators described in the
|
||||||
|
@@ -1369,7 +1367,6 @@ Available keywords are
|
||||||
|
.Cm RefuseConnection ,
|
||||||
|
.Cm RekeyLimit ,
|
||||||
|
.Cm RevokedKeys ,
|
||||||
|
-.Cm RDomain ,
|
||||||
|
.Cm SetEnv ,
|
||||||
|
.Cm StreamLocalBindMask ,
|
||||||
|
.Cm StreamLocalBindUnlink ,
|
||||||
|
@@ -1868,15 +1865,6 @@ an OpenSSH Key Revocation List (KRL) as generated by
|
||||||
|
.Xr ssh-keygen 1 .
|
||||||
|
For more information on KRLs, see the KEY REVOCATION LISTS section in
|
||||||
|
.Xr ssh-keygen 1 .
|
||||||
|
-.It Cm RDomain
|
||||||
|
-Specifies an explicit routing domain that is applied after authentication
|
||||||
|
-has completed.
|
||||||
|
-The user session, as well as any forwarded or listening IP sockets,
|
||||||
|
-will be bound to this
|
||||||
|
-.Xr rdomain 4 .
|
||||||
|
-If the routing domain is set to
|
||||||
|
-.Cm \&%D ,
|
||||||
|
-then the domain in which the incoming connection was received will be applied.
|
||||||
|
.It Cm SecurityKeyProvider
|
||||||
|
Specifies a path to a library that will be used when loading
|
||||||
|
FIDO authenticator-hosted keys, overriding the default of using
|
||||||
|
@@ -2257,9 +2245,6 @@ accepts the tokens %%, %h, %U, and %u.
|
||||||
|
.Pp
|
||||||
|
.Cm ChrootDirectory
|
||||||
|
accepts the tokens %%, %h, %U, and %u.
|
||||||
|
-.Pp
|
||||||
|
-.Cm RoutingDomain
|
||||||
|
-accepts the token %D.
|
||||||
|
.Sh FILES
|
||||||
|
.Bl -tag -width Ds
|
||||||
|
.It Pa /etc/ssh/sshd_config
|
47
debian/patches/package-versioning.patch
vendored
Normal file
47
debian/patches/package-versioning.patch
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
From fc17470467826ef2bf50c930a45f6db43c2b5ba3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Matthew Vernon <matthew@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:05 +0000
|
||||||
|
Subject: Include the Debian version in our identification
|
||||||
|
|
||||||
|
This makes it easier to audit networks for versions patched against security
|
||||||
|
vulnerabilities. It has little detrimental effect, as attackers will
|
||||||
|
generally just try attacks rather than bothering to scan for
|
||||||
|
vulnerable-looking version strings. (However, see debian-banner.patch.)
|
||||||
|
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2025-02-18
|
||||||
|
|
||||||
|
Patch-Name: package-versioning.patch
|
||||||
|
---
|
||||||
|
kex.c | 2 +-
|
||||||
|
version.h | 7 ++++++-
|
||||||
|
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/kex.c b/kex.c
|
||||||
|
index f09e79e6b..19b1fcaa8 100644
|
||||||
|
--- a/kex.c
|
||||||
|
+++ b/kex.c
|
||||||
|
@@ -1255,7 +1255,7 @@ kex_exchange_identification(struct ssh *ssh, int timeout_ms,
|
||||||
|
if (version_addendum != NULL && *version_addendum == '\0')
|
||||||
|
version_addendum = NULL;
|
||||||
|
if ((r = sshbuf_putf(our_version, "SSH-%d.%d-%s%s%s\r\n",
|
||||||
|
- PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_VERSION,
|
||||||
|
+ PROTOCOL_MAJOR_2, PROTOCOL_MINOR_2, SSH_RELEASE,
|
||||||
|
version_addendum == NULL ? "" : " ",
|
||||||
|
version_addendum == NULL ? "" : version_addendum)) != 0) {
|
||||||
|
oerrno = errno;
|
||||||
|
diff --git a/version.h b/version.h
|
||||||
|
index 1b417bfce..7acb6231e 100644
|
||||||
|
--- a/version.h
|
||||||
|
+++ b/version.h
|
||||||
|
@@ -3,4 +3,9 @@
|
||||||
|
#define SSH_VERSION "OpenSSH_10.0"
|
||||||
|
|
||||||
|
#define SSH_PORTABLE "p2"
|
||||||
|
-#define SSH_RELEASE SSH_VERSION SSH_PORTABLE
|
||||||
|
+#define SSH_RELEASE_MINIMUM SSH_VERSION SSH_PORTABLE
|
||||||
|
+#ifdef SSH_EXTRAVERSION
|
||||||
|
+#define SSH_RELEASE SSH_RELEASE_MINIMUM " " SSH_EXTRAVERSION
|
||||||
|
+#else
|
||||||
|
+#define SSH_RELEASE SSH_RELEASE_MINIMUM
|
||||||
|
+#endif
|
34
debian/patches/pam-avoid-unknown-host.patch
vendored
Normal file
34
debian/patches/pam-avoid-unknown-host.patch
vendored
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
From f5c89caec93130da905a95602cf36a4e25f2303e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||||||
|
Date: Mon, 20 Mar 2023 20:22:14 +0100
|
||||||
|
Subject: Only set PAM_RHOST if the remote host is not "UNKNOWN"
|
||||||
|
|
||||||
|
When using sshd's -i option with stdio that is not a AF_INET/AF_INET6
|
||||||
|
socket, auth_get_canonical_hostname() returns "UNKNOWN" which is then
|
||||||
|
set as the value of PAM_RHOST, causing pam to try to do a reverse DNS
|
||||||
|
query of "UNKNOWN", which times out multiple times, causing a
|
||||||
|
substantial slowdown when logging in.
|
||||||
|
|
||||||
|
To fix this, let's only set PAM_RHOST if the hostname is not "UNKNOWN".
|
||||||
|
|
||||||
|
Author: Daan De Meyer <daan.j.demeyer@gmail.com>
|
||||||
|
Last-Update: 2024-04-03
|
||||||
|
|
||||||
|
Patch-Name: pam-avoid-unknown-host.patch
|
||||||
|
---
|
||||||
|
auth-pam.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/auth-pam.c b/auth-pam.c
|
||||||
|
index 13c0a792e..b22883b95 100644
|
||||||
|
--- a/auth-pam.c
|
||||||
|
+++ b/auth-pam.c
|
||||||
|
@@ -735,7 +735,7 @@ sshpam_init(struct ssh *ssh, Authctxt *authctxt)
|
||||||
|
sshpam_laddr = get_local_ipaddr(
|
||||||
|
ssh_packet_get_connection_in(ssh));
|
||||||
|
}
|
||||||
|
- if (sshpam_rhost != NULL) {
|
||||||
|
+ if (sshpam_rhost != NULL && strcmp(sshpam_rhost, "UNKNOWN") != 0) {
|
||||||
|
debug("PAM: setting PAM_RHOST to \"%s\"", sshpam_rhost);
|
||||||
|
sshpam_err = pam_set_item(sshpam_handle, PAM_RHOST,
|
||||||
|
sshpam_rhost);
|
39
debian/patches/regress-conch-dev-zero.patch
vendored
Normal file
39
debian/patches/regress-conch-dev-zero.patch
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
From 93b2730229d7385fe79d2136c5269e5a7fd49795 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 31 Mar 2024 00:24:11 +0000
|
||||||
|
Subject: regress: Redirect conch stdin from /dev/zero
|
||||||
|
|
||||||
|
This is more convenient than requiring a controlling terminal.
|
||||||
|
|
||||||
|
Forwarded: https://bugzilla.mindrot.org/show_bug.cgi?id=3676
|
||||||
|
Last-Update: 2024-03-31
|
||||||
|
|
||||||
|
Patch-Name: regress-conch-dev-zero.patch
|
||||||
|
---
|
||||||
|
regress/conch-ciphers.sh | 6 +-----
|
||||||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/regress/conch-ciphers.sh b/regress/conch-ciphers.sh
|
||||||
|
index 26b606d65..22168570c 100644
|
||||||
|
--- a/regress/conch-ciphers.sh
|
||||||
|
+++ b/regress/conch-ciphers.sh
|
||||||
|
@@ -7,10 +7,6 @@ if test "x$REGRESS_INTEROP_CONCH" != "xyes" ; then
|
||||||
|
skip "conch interop tests not enabled"
|
||||||
|
fi
|
||||||
|
|
||||||
|
-if ! [ -t 0 ]; then
|
||||||
|
- skip "conch interop tests requires a controlling terminal"
|
||||||
|
-fi
|
||||||
|
-
|
||||||
|
start_sshd
|
||||||
|
|
||||||
|
for c in aes256-ctr aes256-cbc aes192-ctr aes192-cbc aes128-ctr aes128-cbc \
|
||||||
|
@@ -21,7 +17,7 @@ for c in aes256-ctr aes256-cbc aes192-ctr aes192-cbc aes128-ctr aes128-cbc \
|
||||||
|
# in conch
|
||||||
|
${CONCH} --identity $OBJ/ssh-ed25519 --port $PORT --user $USER -e none \
|
||||||
|
--known-hosts $OBJ/known_hosts --notty --noagent --nox11 -n \
|
||||||
|
- 127.0.0.1 "cat ${DATA}" 2>/dev/null | cat > ${COPY}
|
||||||
|
+ 127.0.0.1 "cat ${DATA}" </dev/zero 2>/dev/null | cat > ${COPY}
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
fail "ssh cat $DATA failed"
|
||||||
|
fi
|
35
debian/patches/restore-authorized_keys2.patch
vendored
Normal file
35
debian/patches/restore-authorized_keys2.patch
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
From 379b97fb24160f38bcd5f3be5737eac848a04af9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 5 Mar 2017 02:02:11 +0000
|
||||||
|
Subject: 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.
|
||||||
|
|
||||||
|
Bug-Debian: https://bugs.debian.org/852320
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2017-03-05
|
||||||
|
|
||||||
|
Patch-Name: restore-authorized_keys2.patch
|
||||||
|
---
|
||||||
|
sshd_config | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sshd_config b/sshd_config
|
||||||
|
index 01e8d9098..481dc4137 100644
|
||||||
|
--- a/sshd_config
|
||||||
|
+++ b/sshd_config
|
||||||
|
@@ -38,9 +38,8 @@ Include /etc/ssh/sshd_config.d/*.conf
|
||||||
|
|
||||||
|
#PubkeyAuthentication yes
|
||||||
|
|
||||||
|
-# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
|
||||||
|
-# but this is overridden so installations will only check .ssh/authorized_keys
|
||||||
|
-AuthorizedKeysFile .ssh/authorized_keys
|
||||||
|
+# Expect .ssh/authorized_keys2 to be disregarded by default in future.
|
||||||
|
+#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
|
||||||
|
|
||||||
|
#AuthorizedPrincipalsFile none
|
||||||
|
|
172
debian/patches/restore-tcp-wrappers.patch
vendored
Normal file
172
debian/patches/restore-tcp-wrappers.patch
vendored
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
From 5f13fe22c2a9771dbcd12e2e9a1b2f905bcad22a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Tue, 7 Oct 2014 13:22:41 +0100
|
||||||
|
Subject: Restore TCP wrappers support
|
||||||
|
|
||||||
|
Support for TCP wrappers was dropped in OpenSSH 6.7. See this message
|
||||||
|
and thread:
|
||||||
|
|
||||||
|
https://lists.mindrot.org/pipermail/openssh-unix-dev/2014-April/032497.html
|
||||||
|
|
||||||
|
It is true that 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.
|
||||||
|
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2024-08-02
|
||||||
|
|
||||||
|
Patch-Name: restore-tcp-wrappers.patch
|
||||||
|
---
|
||||||
|
configure.ac | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
sshd-session.c | 25 ++++++++++++++++++++++
|
||||||
|
sshd.8 | 7 +++++++
|
||||||
|
3 files changed, 89 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index e334ad2ec..06ad5c78a 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -1727,6 +1727,62 @@ else
|
||||||
|
AC_MSG_RESULT([no])
|
||||||
|
fi
|
||||||
|
|
||||||
|
+# Check whether user wants TCP wrappers support
|
||||||
|
+TCPW_MSG="no"
|
||||||
|
+AC_ARG_WITH([tcp-wrappers],
|
||||||
|
+ [ --with-tcp-wrappers[[=PATH]] Enable tcpwrappers support (optionally in PATH)],
|
||||||
|
+ [
|
||||||
|
+ if test "x$withval" != "xno" ; then
|
||||||
|
+ saved_LIBS="$LIBS"
|
||||||
|
+ saved_LDFLAGS="$LDFLAGS"
|
||||||
|
+ saved_CPPFLAGS="$CPPFLAGS"
|
||||||
|
+ if test -n "${withval}" && \
|
||||||
|
+ test "x${withval}" != "xyes"; then
|
||||||
|
+ if test -d "${withval}/lib"; then
|
||||||
|
+ if test -n "${need_dash_r}"; then
|
||||||
|
+ LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}"
|
||||||
|
+ else
|
||||||
|
+ LDFLAGS="-L${withval}/lib ${LDFLAGS}"
|
||||||
|
+ fi
|
||||||
|
+ else
|
||||||
|
+ if test -n "${need_dash_r}"; then
|
||||||
|
+ LDFLAGS="-L${withval} -R${withval} ${LDFLAGS}"
|
||||||
|
+ else
|
||||||
|
+ LDFLAGS="-L${withval} ${LDFLAGS}"
|
||||||
|
+ fi
|
||||||
|
+ fi
|
||||||
|
+ if test -d "${withval}/include"; then
|
||||||
|
+ CPPFLAGS="-I${withval}/include ${CPPFLAGS}"
|
||||||
|
+ else
|
||||||
|
+ CPPFLAGS="-I${withval} ${CPPFLAGS}"
|
||||||
|
+ fi
|
||||||
|
+ fi
|
||||||
|
+ LIBS="-lwrap $LIBS"
|
||||||
|
+ AC_MSG_CHECKING([for libwrap])
|
||||||
|
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
|
||||||
|
+#include <sys/types.h>
|
||||||
|
+#include <sys/socket.h>
|
||||||
|
+#include <netinet/in.h>
|
||||||
|
+#include <tcpd.h>
|
||||||
|
+int deny_severity = 0, allow_severity = 0;
|
||||||
|
+ ]], [[
|
||||||
|
+ hosts_access(0);
|
||||||
|
+ ]])], [
|
||||||
|
+ AC_MSG_RESULT([yes])
|
||||||
|
+ AC_DEFINE([LIBWRAP], [1],
|
||||||
|
+ [Define if you want
|
||||||
|
+ TCP Wrappers support])
|
||||||
|
+ SSHDLIBS="$SSHDLIBS -lwrap"
|
||||||
|
+ TCPW_MSG="yes"
|
||||||
|
+ ], [
|
||||||
|
+ AC_MSG_ERROR([*** libwrap missing])
|
||||||
|
+
|
||||||
|
+ ])
|
||||||
|
+ LIBS="$saved_LIBS"
|
||||||
|
+ fi
|
||||||
|
+ ]
|
||||||
|
+)
|
||||||
|
+
|
||||||
|
# Check whether user wants to use ldns
|
||||||
|
LDNS_MSG="no"
|
||||||
|
AC_ARG_WITH(ldns,
|
||||||
|
@@ -5806,6 +5862,7 @@ echo " PAM support: $PAM_MSG"
|
||||||
|
echo " OSF SIA support: $SIA_MSG"
|
||||||
|
echo " KerberosV support: $KRB5_MSG"
|
||||||
|
echo " SELinux support: $SELINUX_MSG"
|
||||||
|
+echo " TCP Wrappers support: $TCPW_MSG"
|
||||||
|
echo " libedit support: $LIBEDIT_MSG"
|
||||||
|
echo " libldns support: $LDNS_MSG"
|
||||||
|
echo " Solaris process contract support: $SPC_MSG"
|
||||||
|
diff --git a/sshd-session.c b/sshd-session.c
|
||||||
|
index 7d8498a88..c171c8923 100644
|
||||||
|
--- a/sshd-session.c
|
||||||
|
+++ b/sshd-session.c
|
||||||
|
@@ -109,6 +109,13 @@
|
||||||
|
#include "srclimit.h"
|
||||||
|
#include "dh.h"
|
||||||
|
|
||||||
|
+#ifdef LIBWRAP
|
||||||
|
+#include <tcpd.h>
|
||||||
|
+#include <syslog.h>
|
||||||
|
+int allow_severity;
|
||||||
|
+int deny_severity;
|
||||||
|
+#endif /* LIBWRAP */
|
||||||
|
+
|
||||||
|
/* Re-exec fds */
|
||||||
|
#define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
|
||||||
|
#define REEXEC_CONFIG_PASS_FD (STDERR_FILENO + 2)
|
||||||
|
@@ -1237,6 +1244,24 @@ main(int ac, char **av)
|
||||||
|
#ifdef SSH_AUDIT_EVENTS
|
||||||
|
audit_connection_from(remote_ip, remote_port);
|
||||||
|
#endif
|
||||||
|
+#ifdef LIBWRAP
|
||||||
|
+ allow_severity = options.log_facility|LOG_INFO;
|
||||||
|
+ deny_severity = options.log_facility|LOG_WARNING;
|
||||||
|
+ /* Check whether logins are denied from this host. */
|
||||||
|
+ if (ssh_packet_connection_is_on_socket(ssh)) {
|
||||||
|
+ struct request_info req;
|
||||||
|
+
|
||||||
|
+ request_init(&req, RQ_DAEMON, "sshd", RQ_FILE, sock_in, 0);
|
||||||
|
+ fromhost(&req);
|
||||||
|
+
|
||||||
|
+ if (!hosts_access(&req)) {
|
||||||
|
+ debug("Connection refused by tcp wrapper");
|
||||||
|
+ refuse(&req);
|
||||||
|
+ /* NOTREACHED */
|
||||||
|
+ fatal("libwrap refuse returns");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+#endif /* LIBWRAP */
|
||||||
|
|
||||||
|
rdomain = ssh_packet_rdomain_in(ssh);
|
||||||
|
|
||||||
|
diff --git a/sshd.8 b/sshd.8
|
||||||
|
index 08ebf53a1..464d402f6 100644
|
||||||
|
--- a/sshd.8
|
||||||
|
+++ b/sshd.8
|
||||||
|
@@ -925,6 +925,12 @@ the user's home directory becomes accessible.
|
||||||
|
This file should be writable only by the user, and need not be
|
||||||
|
readable by anyone else.
|
||||||
|
.Pp
|
||||||
|
+.It Pa /etc/hosts.allow
|
||||||
|
+.It Pa /etc/hosts.deny
|
||||||
|
+Access controls that should be enforced by tcp-wrappers are defined here.
|
||||||
|
+Further details are described in
|
||||||
|
+.Xr hosts_access 5 .
|
||||||
|
+.Pp
|
||||||
|
.It Pa /etc/hosts.equiv
|
||||||
|
This file is for host-based authentication (see
|
||||||
|
.Xr ssh 1 ) .
|
||||||
|
@@ -1027,6 +1033,7 @@ The content of this file is not sensitive; it can be world-readable.
|
||||||
|
.Xr ssh-keygen 1 ,
|
||||||
|
.Xr ssh-keyscan 1 ,
|
||||||
|
.Xr chroot 2 ,
|
||||||
|
+.Xr hosts_access 5 ,
|
||||||
|
.Xr login.conf 5 ,
|
||||||
|
.Xr moduli 5 ,
|
||||||
|
.Xr sshd_config 5 ,
|
93
debian/patches/revert-ipqos-defaults.patch
vendored
Normal file
93
debian/patches/revert-ipqos-defaults.patch
vendored
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
From c0165ba64a76bf4d962d6d9a500299c2696e150d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Mon, 8 Apr 2019 10:46:29 +0100
|
||||||
|
Subject: Revert "upstream: Update default IPQoS in ssh(1), sshd(8) to DSCP
|
||||||
|
AF21 for"
|
||||||
|
|
||||||
|
This reverts commit 5ee8448ad7c306f05a9f56769f95336a8269f379.
|
||||||
|
|
||||||
|
The IPQoS default changes have some unfortunate interactions with
|
||||||
|
iptables (see https://bugs.debian.org/923880) and VMware, so I'm
|
||||||
|
temporarily reverting them until those have been fixed.
|
||||||
|
|
||||||
|
Bug-Debian: https://bugs.debian.org/923879
|
||||||
|
Bug-Debian: https://bugs.debian.org/926229
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1822370
|
||||||
|
Last-Update: 2019-04-08
|
||||||
|
|
||||||
|
Patch-Name: revert-ipqos-defaults.patch
|
||||||
|
---
|
||||||
|
readconf.c | 4 ++--
|
||||||
|
servconf.c | 4 ++--
|
||||||
|
ssh_config.5 | 6 ++----
|
||||||
|
sshd_config.5 | 6 ++----
|
||||||
|
4 files changed, 8 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/readconf.c b/readconf.c
|
||||||
|
index fc625a00c..09b8ca33c 100644
|
||||||
|
--- a/readconf.c
|
||||||
|
+++ b/readconf.c
|
||||||
|
@@ -3012,9 +3012,9 @@ fill_default_options(Options * options)
|
||||||
|
if (options->visual_host_key == -1)
|
||||||
|
options->visual_host_key = 0;
|
||||||
|
if (options->ip_qos_interactive == -1)
|
||||||
|
- options->ip_qos_interactive = IPTOS_DSCP_AF21;
|
||||||
|
+ options->ip_qos_interactive = IPTOS_LOWDELAY;
|
||||||
|
if (options->ip_qos_bulk == -1)
|
||||||
|
- options->ip_qos_bulk = IPTOS_DSCP_CS1;
|
||||||
|
+ options->ip_qos_bulk = IPTOS_THROUGHPUT;
|
||||||
|
if (options->request_tty == -1)
|
||||||
|
options->request_tty = REQUEST_TTY_AUTO;
|
||||||
|
if (options->session_type == -1)
|
||||||
|
diff --git a/servconf.c b/servconf.c
|
||||||
|
index 4891a43d6..a51370a6d 100644
|
||||||
|
--- a/servconf.c
|
||||||
|
+++ b/servconf.c
|
||||||
|
@@ -485,9 +485,9 @@ fill_default_server_options(ServerOptions *options)
|
||||||
|
if (options->permit_tun == -1)
|
||||||
|
options->permit_tun = SSH_TUNMODE_NO;
|
||||||
|
if (options->ip_qos_interactive == -1)
|
||||||
|
- options->ip_qos_interactive = IPTOS_DSCP_AF21;
|
||||||
|
+ options->ip_qos_interactive = IPTOS_LOWDELAY;
|
||||||
|
if (options->ip_qos_bulk == -1)
|
||||||
|
- options->ip_qos_bulk = IPTOS_DSCP_CS1;
|
||||||
|
+ options->ip_qos_bulk = IPTOS_THROUGHPUT;
|
||||||
|
if (options->version_addendum == NULL)
|
||||||
|
options->version_addendum = xstrdup("");
|
||||||
|
if (options->fwd_opts.streamlocal_bind_mask == (mode_t)-1)
|
||||||
|
diff --git a/ssh_config.5 b/ssh_config.5
|
||||||
|
index d8452237d..df12ef118 100644
|
||||||
|
--- a/ssh_config.5
|
||||||
|
+++ b/ssh_config.5
|
||||||
|
@@ -1367,11 +1367,9 @@ If one argument is specified, it is used as the packet class unconditionally.
|
||||||
|
If two values are specified, the first is automatically selected for
|
||||||
|
interactive sessions and the second for non-interactive sessions.
|
||||||
|
The default is
|
||||||
|
-.Cm af21
|
||||||
|
-(Low-Latency Data)
|
||||||
|
+.Cm lowdelay
|
||||||
|
for interactive sessions and
|
||||||
|
-.Cm cs1
|
||||||
|
-(Lower Effort)
|
||||||
|
+.Cm throughput
|
||||||
|
for non-interactive sessions.
|
||||||
|
.It Cm KbdInteractiveAuthentication
|
||||||
|
Specifies whether to use keyboard-interactive authentication.
|
||||||
|
diff --git a/sshd_config.5 b/sshd_config.5
|
||||||
|
index a5594102f..998837edf 100644
|
||||||
|
--- a/sshd_config.5
|
||||||
|
+++ b/sshd_config.5
|
||||||
|
@@ -1022,11 +1022,9 @@ If one argument is specified, it is used as the packet class unconditionally.
|
||||||
|
If two values are specified, the first is automatically selected for
|
||||||
|
interactive sessions and the second for non-interactive sessions.
|
||||||
|
The default is
|
||||||
|
-.Cm af21
|
||||||
|
-(Low-Latency Data)
|
||||||
|
+.Cm lowdelay
|
||||||
|
for interactive sessions and
|
||||||
|
-.Cm cs1
|
||||||
|
-(Lower Effort)
|
||||||
|
+.Cm throughput
|
||||||
|
for non-interactive sessions.
|
||||||
|
.It Cm KbdInteractiveAuthentication
|
||||||
|
Specifies whether to allow keyboard-interactive authentication.
|
41
debian/patches/scp-quoting.patch
vendored
Normal file
41
debian/patches/scp-quoting.patch
vendored
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
From 999eab9bf1499834341de56a71d5457ae2938840 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Nicolas=20Valc=C3=A1rcel?= <nvalcarcel@ubuntu.com>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:59 +0000
|
||||||
|
Subject: Adjust scp quoting in verbose mode
|
||||||
|
|
||||||
|
Tweak scp's reporting of filenames in verbose mode to be a bit less
|
||||||
|
confusing with spaces.
|
||||||
|
|
||||||
|
This should be revised to mimic real shell quoting.
|
||||||
|
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/89945
|
||||||
|
Last-Update: 2010-02-27
|
||||||
|
|
||||||
|
Patch-Name: scp-quoting.patch
|
||||||
|
---
|
||||||
|
scp.c | 12 ++++++++++--
|
||||||
|
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/scp.c b/scp.c
|
||||||
|
index 57c242ffc..ec2040a6c 100644
|
||||||
|
--- a/scp.c
|
||||||
|
+++ b/scp.c
|
||||||
|
@@ -241,8 +241,16 @@ do_local_cmd(arglist *a)
|
||||||
|
|
||||||
|
if (verbose_mode) {
|
||||||
|
fprintf(stderr, "Executing:");
|
||||||
|
- for (i = 0; i < a->num; i++)
|
||||||
|
- fmprintf(stderr, " %s", a->list[i]);
|
||||||
|
+ for (i = 0; i < a->num; i++) {
|
||||||
|
+ if (i == 0)
|
||||||
|
+ fmprintf(stderr, " %s", a->list[i]);
|
||||||
|
+ else
|
||||||
|
+ /*
|
||||||
|
+ * TODO: misbehaves if a->list[i] contains a
|
||||||
|
+ * single quote
|
||||||
|
+ */
|
||||||
|
+ fmprintf(stderr, " '%s'", a->list[i]);
|
||||||
|
+ }
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
}
|
||||||
|
if ((pid = fork()) == -1)
|
461
debian/patches/selinux-role.patch
vendored
Normal file
461
debian/patches/selinux-role.patch
vendored
Normal file
|
@ -0,0 +1,461 @@
|
||||||
|
From ad6e66e766ecc3a76c62c6daf81ebf19432713cb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Manoj Srivastava <srivasta@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:49 +0000
|
||||||
|
Subject: Handle SELinux authorisation roles
|
||||||
|
|
||||||
|
Rejected upstream due to discomfort with magic usernames; a better approach
|
||||||
|
will need an SSH protocol change. In the meantime, this came from Debian's
|
||||||
|
SELinux maintainer, so we'll keep it until we have something better.
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1641
|
||||||
|
Bug-Debian: http://bugs.debian.org/394795
|
||||||
|
Last-Update: 2024-07-03
|
||||||
|
|
||||||
|
Patch-Name: selinux-role.patch
|
||||||
|
---
|
||||||
|
auth.h | 1 +
|
||||||
|
auth2.c | 10 ++++++++--
|
||||||
|
monitor.c | 36 +++++++++++++++++++++++++++++++++---
|
||||||
|
monitor.h | 2 ++
|
||||||
|
monitor_wrap.c | 27 ++++++++++++++++++++++++---
|
||||||
|
monitor_wrap.h | 3 ++-
|
||||||
|
openbsd-compat/port-linux.c | 21 ++++++++++++++-------
|
||||||
|
openbsd-compat/port-linux.h | 4 ++--
|
||||||
|
platform.c | 4 ++--
|
||||||
|
platform.h | 2 +-
|
||||||
|
session.c | 8 ++++----
|
||||||
|
session.h | 2 +-
|
||||||
|
sshd-session.c | 2 +-
|
||||||
|
sshpty.c | 4 ++--
|
||||||
|
sshpty.h | 2 +-
|
||||||
|
15 files changed, 98 insertions(+), 30 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/auth.h b/auth.h
|
||||||
|
index 98bb23d4c..59799a812 100644
|
||||||
|
--- a/auth.h
|
||||||
|
+++ b/auth.h
|
||||||
|
@@ -65,6 +65,7 @@ struct Authctxt {
|
||||||
|
char *service;
|
||||||
|
struct passwd *pw; /* set if 'valid' */
|
||||||
|
char *style;
|
||||||
|
+ char *role;
|
||||||
|
|
||||||
|
/* Method lists for multiple authentication */
|
||||||
|
char **auth_methods; /* modified from server config */
|
||||||
|
diff --git a/auth2.c b/auth2.c
|
||||||
|
index 4fff5a5f7..7ca8a96f8 100644
|
||||||
|
--- a/auth2.c
|
||||||
|
+++ b/auth2.c
|
||||||
|
@@ -272,7 +272,7 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||||
|
{
|
||||||
|
Authctxt *authctxt = ssh->authctxt;
|
||||||
|
Authmethod *m = NULL;
|
||||||
|
- char *user = NULL, *service = NULL, *method = NULL, *style = NULL;
|
||||||
|
+ char *user = NULL, *service = NULL, *method = NULL, *style = NULL, *role = NULL;
|
||||||
|
int r, authenticated = 0;
|
||||||
|
double tstart = monotime_double();
|
||||||
|
|
||||||
|
@@ -286,8 +286,13 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||||
|
debug("userauth-request for user %s service %s method %s", user, service, method);
|
||||||
|
debug("attempt %d failures %d", authctxt->attempt, authctxt->failures);
|
||||||
|
|
||||||
|
+ if ((role = strchr(user, '/')) != NULL)
|
||||||
|
+ *role++ = 0;
|
||||||
|
+
|
||||||
|
if ((style = strchr(user, ':')) != NULL)
|
||||||
|
*style++ = 0;
|
||||||
|
+ else if (role && (style = strchr(role, ':')) != NULL)
|
||||||
|
+ *style++ = '\0';
|
||||||
|
|
||||||
|
if (authctxt->attempt >= 1024)
|
||||||
|
auth_maxtries_exceeded(ssh);
|
||||||
|
@@ -315,7 +320,8 @@ input_userauth_request(int type, u_int32_t seq, struct ssh *ssh)
|
||||||
|
setproctitle("%s [net]", authctxt->valid ? user : "unknown");
|
||||||
|
authctxt->service = xstrdup(service);
|
||||||
|
authctxt->style = style ? xstrdup(style) : NULL;
|
||||||
|
- mm_inform_authserv(service, style);
|
||||||
|
+ authctxt->role = role ? xstrdup(role) : NULL;
|
||||||
|
+ mm_inform_authserv(service, style, role);
|
||||||
|
userauth_banner(ssh);
|
||||||
|
if ((r = kex_server_update_ext_info(ssh)) != 0)
|
||||||
|
fatal_fr(r, "kex_server_update_ext_info failed");
|
||||||
|
diff --git a/monitor.c b/monitor.c
|
||||||
|
index 1aa81094e..180c6dbbc 100644
|
||||||
|
--- a/monitor.c
|
||||||
|
+++ b/monitor.c
|
||||||
|
@@ -120,6 +120,7 @@ int mm_answer_sign(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_pwnamallow(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_auth2_read_banner(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_authserv(struct ssh *, int, struct sshbuf *);
|
||||||
|
+int mm_answer_authrole(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_authpassword(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_bsdauthquery(struct ssh *, int, struct sshbuf *);
|
||||||
|
int mm_answer_bsdauthrespond(struct ssh *, int, struct sshbuf *);
|
||||||
|
@@ -196,6 +197,7 @@ struct mon_table mon_dispatch_proto20[] = {
|
||||||
|
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign},
|
||||||
|
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow},
|
||||||
|
{MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
|
||||||
|
+ {MONITOR_REQ_AUTHROLE, MON_ONCE, mm_answer_authrole},
|
||||||
|
{MONITOR_REQ_AUTH2_READ_BANNER, MON_ONCE, mm_answer_auth2_read_banner},
|
||||||
|
{MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword},
|
||||||
|
#ifdef USE_PAM
|
||||||
|
@@ -929,6 +931,7 @@ mm_answer_pwnamallow(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
|
||||||
|
/* Allow service/style information on the auth context */
|
||||||
|
monitor_permit(mon_dispatch, MONITOR_REQ_AUTHSERV, 1);
|
||||||
|
+ monitor_permit(mon_dispatch, MONITOR_REQ_AUTHROLE, 1);
|
||||||
|
monitor_permit(mon_dispatch, MONITOR_REQ_AUTH2_READ_BANNER, 1);
|
||||||
|
|
||||||
|
#ifdef USE_PAM
|
||||||
|
@@ -962,15 +965,42 @@ mm_answer_authserv(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
monitor_permit_authentications(1);
|
||||||
|
|
||||||
|
if ((r = sshbuf_get_cstring(m, &authctxt->service, NULL)) != 0 ||
|
||||||
|
- (r = sshbuf_get_cstring(m, &authctxt->style, NULL)) != 0)
|
||||||
|
+ (r = sshbuf_get_cstring(m, &authctxt->style, NULL)) != 0 ||
|
||||||
|
+ (r = sshbuf_get_cstring(m, &authctxt->role, NULL)) != 0)
|
||||||
|
fatal_fr(r, "parse");
|
||||||
|
- debug3_f("service=%s, style=%s", authctxt->service, authctxt->style);
|
||||||
|
+ debug3_f("service=%s, style=%s, role=%s",
|
||||||
|
+ authctxt->service, authctxt->style, authctxt->role);
|
||||||
|
|
||||||
|
if (strlen(authctxt->style) == 0) {
|
||||||
|
free(authctxt->style);
|
||||||
|
authctxt->style = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (strlen(authctxt->role) == 0) {
|
||||||
|
+ free(authctxt->role);
|
||||||
|
+ authctxt->role = NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return (0);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+mm_answer_authrole(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
+{
|
||||||
|
+ int r;
|
||||||
|
+
|
||||||
|
+ monitor_permit_authentications(1);
|
||||||
|
+
|
||||||
|
+ if ((r = sshbuf_get_cstring(m, &authctxt->role, NULL)) != 0)
|
||||||
|
+ fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
||||||
|
+ debug3("%s: role=%s",
|
||||||
|
+ __func__, authctxt->role);
|
||||||
|
+
|
||||||
|
+ if (strlen(authctxt->role) == 0) {
|
||||||
|
+ free(authctxt->role);
|
||||||
|
+ authctxt->role = NULL;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1691,7 +1721,7 @@ mm_answer_pty(struct ssh *ssh, int sock, struct sshbuf *m)
|
||||||
|
res = pty_allocate(&s->ptyfd, &s->ttyfd, s->tty, sizeof(s->tty));
|
||||||
|
if (res == 0)
|
||||||
|
goto error;
|
||||||
|
- pty_setowner(authctxt->pw, s->tty);
|
||||||
|
+ pty_setowner(authctxt->pw, s->tty, authctxt->role);
|
||||||
|
|
||||||
|
if ((r = sshbuf_put_u32(m, 1)) != 0 ||
|
||||||
|
(r = sshbuf_put_cstring(m, s->tty)) != 0)
|
||||||
|
diff --git a/monitor.h b/monitor.h
|
||||||
|
index 4076f71ea..1eda94540 100644
|
||||||
|
--- a/monitor.h
|
||||||
|
+++ b/monitor.h
|
||||||
|
@@ -66,6 +66,8 @@ enum monitor_reqtype {
|
||||||
|
|
||||||
|
MONITOR_REQ_GSSSIGN = 150, MONITOR_ANS_GSSSIGN = 151,
|
||||||
|
MONITOR_REQ_GSSUPCREDS = 152, MONITOR_ANS_GSSUPCREDS = 153,
|
||||||
|
+
|
||||||
|
+ MONITOR_REQ_AUTHROLE = 154,
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ssh;
|
||||||
|
diff --git a/monitor_wrap.c b/monitor_wrap.c
|
||||||
|
index 8a6b4442f..9bf62aac2 100644
|
||||||
|
--- a/monitor_wrap.c
|
||||||
|
+++ b/monitor_wrap.c
|
||||||
|
@@ -421,10 +421,10 @@ mm_auth2_read_banner(void)
|
||||||
|
return (banner);
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* Inform the privileged process about service and style */
|
||||||
|
+/* Inform the privileged process about service, style, and role */
|
||||||
|
|
||||||
|
void
|
||||||
|
-mm_inform_authserv(char *service, char *style)
|
||||||
|
+mm_inform_authserv(char *service, char *style, char *role)
|
||||||
|
{
|
||||||
|
struct sshbuf *m;
|
||||||
|
int r;
|
||||||
|
@@ -434,7 +434,8 @@ mm_inform_authserv(char *service, char *style)
|
||||||
|
if ((m = sshbuf_new()) == NULL)
|
||||||
|
fatal_f("sshbuf_new failed");
|
||||||
|
if ((r = sshbuf_put_cstring(m, service)) != 0 ||
|
||||||
|
- (r = sshbuf_put_cstring(m, style ? style : "")) != 0)
|
||||||
|
+ (r = sshbuf_put_cstring(m, style ? style : "")) != 0 ||
|
||||||
|
+ (r = sshbuf_put_cstring(m, role ? role : "")) != 0)
|
||||||
|
fatal_fr(r, "assemble");
|
||||||
|
|
||||||
|
mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHSERV, m);
|
||||||
|
@@ -442,6 +443,26 @@ mm_inform_authserv(char *service, char *style)
|
||||||
|
sshbuf_free(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* Inform the privileged process about role */
|
||||||
|
+
|
||||||
|
+void
|
||||||
|
+mm_inform_authrole(char *role)
|
||||||
|
+{
|
||||||
|
+ struct sshbuf *m;
|
||||||
|
+ int r;
|
||||||
|
+
|
||||||
|
+ debug3("%s entering", __func__);
|
||||||
|
+
|
||||||
|
+ if ((m = sshbuf_new()) == NULL)
|
||||||
|
+ fatal("%s: sshbuf_new failed", __func__);
|
||||||
|
+ if ((r = sshbuf_put_cstring(m, role ? role : "")) != 0)
|
||||||
|
+ fatal("%s: buffer error: %s", __func__, ssh_err(r));
|
||||||
|
+
|
||||||
|
+ mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHROLE, m);
|
||||||
|
+
|
||||||
|
+ sshbuf_free(m);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* Do the password authentication */
|
||||||
|
int
|
||||||
|
mm_auth_password(struct ssh *ssh, char *password)
|
||||||
|
diff --git a/monitor_wrap.h b/monitor_wrap.h
|
||||||
|
index 01251cf1b..fb6d7e15b 100644
|
||||||
|
--- a/monitor_wrap.h
|
||||||
|
+++ b/monitor_wrap.h
|
||||||
|
@@ -45,7 +45,8 @@ DH *mm_choose_dh(int, int, int);
|
||||||
|
int mm_sshkey_sign(struct ssh *, struct sshkey *, u_char **, size_t *,
|
||||||
|
const u_char *, size_t, const char *, const char *,
|
||||||
|
const char *, u_int compat);
|
||||||
|
-void mm_inform_authserv(char *, char *);
|
||||||
|
+void mm_inform_authserv(char *, char *, char *);
|
||||||
|
+void mm_inform_authrole(char *);
|
||||||
|
struct passwd *mm_getpwnamallow(struct ssh *, const char *);
|
||||||
|
char *mm_auth2_read_banner(void);
|
||||||
|
int mm_auth_password(struct ssh *, char *);
|
||||||
|
diff --git a/openbsd-compat/port-linux.c b/openbsd-compat/port-linux.c
|
||||||
|
index c1d54f38d..1fd3bfa81 100644
|
||||||
|
--- a/openbsd-compat/port-linux.c
|
||||||
|
+++ b/openbsd-compat/port-linux.c
|
||||||
|
@@ -65,7 +65,7 @@ ssh_selinux_enabled(void)
|
||||||
|
|
||||||
|
/* Return the default security context for the given username */
|
||||||
|
static char *
|
||||||
|
-ssh_selinux_getctxbyname(char *pwname)
|
||||||
|
+ssh_selinux_getctxbyname(char *pwname, const char *role)
|
||||||
|
{
|
||||||
|
char *sc = NULL, *sename = NULL, *lvl = NULL;
|
||||||
|
int r;
|
||||||
|
@@ -79,9 +79,16 @@ ssh_selinux_getctxbyname(char *pwname)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
|
||||||
|
- r = get_default_context_with_level(sename, lvl, NULL, &sc);
|
||||||
|
+ if (role != NULL && role[0])
|
||||||
|
+ r = get_default_context_with_rolelevel(sename, role, lvl, NULL,
|
||||||
|
+ &sc);
|
||||||
|
+ else
|
||||||
|
+ r = get_default_context_with_level(sename, lvl, NULL, &sc);
|
||||||
|
#else
|
||||||
|
- r = get_default_context(sename, NULL, &sc);
|
||||||
|
+ if (role != NULL && role[0])
|
||||||
|
+ r = get_default_context_with_role(sename, role, NULL, &sc);
|
||||||
|
+ else
|
||||||
|
+ r = get_default_context(sename, NULL, &sc);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (r != 0) {
|
||||||
|
@@ -111,7 +118,7 @@ ssh_selinux_getctxbyname(char *pwname)
|
||||||
|
|
||||||
|
/* Set the execution context to the default for the specified user */
|
||||||
|
void
|
||||||
|
-ssh_selinux_setup_exec_context(char *pwname)
|
||||||
|
+ssh_selinux_setup_exec_context(char *pwname, const char *role)
|
||||||
|
{
|
||||||
|
char *user_ctx = NULL;
|
||||||
|
|
||||||
|
@@ -120,7 +127,7 @@ ssh_selinux_setup_exec_context(char *pwname)
|
||||||
|
|
||||||
|
debug3("%s: setting execution context", __func__);
|
||||||
|
|
||||||
|
- user_ctx = ssh_selinux_getctxbyname(pwname);
|
||||||
|
+ user_ctx = ssh_selinux_getctxbyname(pwname, role);
|
||||||
|
if (setexeccon(user_ctx) != 0) {
|
||||||
|
switch (security_getenforce()) {
|
||||||
|
case -1:
|
||||||
|
@@ -142,7 +149,7 @@ ssh_selinux_setup_exec_context(char *pwname)
|
||||||
|
|
||||||
|
/* Set the TTY context for the specified user */
|
||||||
|
void
|
||||||
|
-ssh_selinux_setup_pty(char *pwname, const char *tty)
|
||||||
|
+ssh_selinux_setup_pty(char *pwname, const char *tty, const char *role)
|
||||||
|
{
|
||||||
|
char *new_tty_ctx = NULL, *user_ctx = NULL, *old_tty_ctx = NULL;
|
||||||
|
security_class_t chrclass;
|
||||||
|
@@ -152,7 +159,7 @@ ssh_selinux_setup_pty(char *pwname, const char *tty)
|
||||||
|
|
||||||
|
debug3("%s: setting TTY context on %s", __func__, tty);
|
||||||
|
|
||||||
|
- user_ctx = ssh_selinux_getctxbyname(pwname);
|
||||||
|
+ user_ctx = ssh_selinux_getctxbyname(pwname, role);
|
||||||
|
|
||||||
|
/* XXX: should these calls fatal() upon failure in enforcing mode? */
|
||||||
|
|
||||||
|
diff --git a/openbsd-compat/port-linux.h b/openbsd-compat/port-linux.h
|
||||||
|
index 959430de1..7f9a7c195 100644
|
||||||
|
--- a/openbsd-compat/port-linux.h
|
||||||
|
+++ b/openbsd-compat/port-linux.h
|
||||||
|
@@ -19,8 +19,8 @@
|
||||||
|
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
int ssh_selinux_enabled(void);
|
||||||
|
-void ssh_selinux_setup_pty(char *, const char *);
|
||||||
|
-void ssh_selinux_setup_exec_context(char *);
|
||||||
|
+void ssh_selinux_setup_pty(char *, const char *, const char *);
|
||||||
|
+void ssh_selinux_setup_exec_context(char *, const char *);
|
||||||
|
void ssh_selinux_change_context(const char *);
|
||||||
|
void ssh_selinux_setfscreatecon(const char *);
|
||||||
|
#endif
|
||||||
|
diff --git a/platform.c b/platform.c
|
||||||
|
index 4c4fe57ea..f3dc7c3a8 100644
|
||||||
|
--- a/platform.c
|
||||||
|
+++ b/platform.c
|
||||||
|
@@ -99,7 +99,7 @@ platform_setusercontext(struct passwd *pw)
|
||||||
|
* called if sshd is running as root.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
-platform_setusercontext_post_groups(struct passwd *pw)
|
||||||
|
+platform_setusercontext_post_groups(struct passwd *pw, const char *role)
|
||||||
|
{
|
||||||
|
#if !defined(HAVE_LOGIN_CAP) && defined(USE_PAM)
|
||||||
|
/*
|
||||||
|
@@ -140,7 +140,7 @@ platform_setusercontext_post_groups(struct passwd *pw)
|
||||||
|
}
|
||||||
|
#endif /* HAVE_SETPCRED */
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
- ssh_selinux_setup_exec_context(pw->pw_name);
|
||||||
|
+ ssh_selinux_setup_exec_context(pw->pw_name, role);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/platform.h b/platform.h
|
||||||
|
index 08cbd225d..2a7364578 100644
|
||||||
|
--- a/platform.h
|
||||||
|
+++ b/platform.h
|
||||||
|
@@ -27,7 +27,7 @@ void platform_post_fork_child(void);
|
||||||
|
void platform_pre_session_start(void);
|
||||||
|
int platform_privileged_uidswap(void);
|
||||||
|
void platform_setusercontext(struct passwd *);
|
||||||
|
-void platform_setusercontext_post_groups(struct passwd *);
|
||||||
|
+void platform_setusercontext_post_groups(struct passwd *, const char *);
|
||||||
|
char *platform_get_krb5_client(const char *);
|
||||||
|
char *platform_krb5_get_principal_name(const char *);
|
||||||
|
int platform_locked_account(struct passwd *);
|
||||||
|
diff --git a/session.c b/session.c
|
||||||
|
index b3833e44c..6614d8560 100644
|
||||||
|
--- a/session.c
|
||||||
|
+++ b/session.c
|
||||||
|
@@ -1344,7 +1344,7 @@ safely_chroot(const char *path, uid_t uid)
|
||||||
|
|
||||||
|
/* Set login name, uid, gid, and groups. */
|
||||||
|
void
|
||||||
|
-do_setusercontext(struct passwd *pw)
|
||||||
|
+do_setusercontext(struct passwd *pw, const char *role)
|
||||||
|
{
|
||||||
|
char uidstr[32], *chroot_path, *tmp;
|
||||||
|
|
||||||
|
@@ -1372,7 +1372,7 @@ do_setusercontext(struct passwd *pw)
|
||||||
|
endgrent();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
- platform_setusercontext_post_groups(pw);
|
||||||
|
+ platform_setusercontext_post_groups(pw, role);
|
||||||
|
|
||||||
|
if (!in_chroot && options.chroot_directory != NULL &&
|
||||||
|
strcasecmp(options.chroot_directory, "none") != 0) {
|
||||||
|
@@ -1515,7 +1515,7 @@ do_child(struct ssh *ssh, Session *s, const char *command)
|
||||||
|
|
||||||
|
/* Force a password change */
|
||||||
|
if (s->authctxt->force_pwchange) {
|
||||||
|
- do_setusercontext(pw);
|
||||||
|
+ do_setusercontext(pw, s->authctxt->role);
|
||||||
|
child_close_fds(ssh);
|
||||||
|
do_pwchange(s);
|
||||||
|
exit(1);
|
||||||
|
@@ -1533,7 +1533,7 @@ do_child(struct ssh *ssh, Session *s, const char *command)
|
||||||
|
/* When PAM is enabled we rely on it to do the nologin check */
|
||||||
|
if (!options.use_pam)
|
||||||
|
do_nologin(pw);
|
||||||
|
- do_setusercontext(pw);
|
||||||
|
+ do_setusercontext(pw, s->authctxt->role);
|
||||||
|
/*
|
||||||
|
* PAM session modules in do_setusercontext may have
|
||||||
|
* generated messages, so if this in an interactive
|
||||||
|
diff --git a/session.h b/session.h
|
||||||
|
index 344a1ddf9..20ea822a7 100644
|
||||||
|
--- a/session.h
|
||||||
|
+++ b/session.h
|
||||||
|
@@ -77,7 +77,7 @@ void session_pty_cleanup2(Session *);
|
||||||
|
Session *session_new(void);
|
||||||
|
Session *session_by_tty(char *);
|
||||||
|
void session_close(struct ssh *, Session *);
|
||||||
|
-void do_setusercontext(struct passwd *);
|
||||||
|
+void do_setusercontext(struct passwd *, const char *);
|
||||||
|
|
||||||
|
const char *session_get_remote_name_or_ip(struct ssh *, u_int, int);
|
||||||
|
|
||||||
|
diff --git a/sshd-session.c b/sshd-session.c
|
||||||
|
index c171c8923..372a610b3 100644
|
||||||
|
--- a/sshd-session.c
|
||||||
|
+++ b/sshd-session.c
|
||||||
|
@@ -471,7 +471,7 @@ privsep_postauth(struct ssh *ssh, Authctxt *authctxt)
|
||||||
|
|
||||||
|
/* Drop privileges */
|
||||||
|
if (!skip_privdrop)
|
||||||
|
- do_setusercontext(authctxt->pw);
|
||||||
|
+ do_setusercontext(authctxt->pw, authctxt->role);
|
||||||
|
|
||||||
|
/* It is safe now to apply the key state */
|
||||||
|
monitor_apply_keystate(ssh, pmonitor);
|
||||||
|
diff --git a/sshpty.c b/sshpty.c
|
||||||
|
index cae0b977a..7870c6482 100644
|
||||||
|
--- a/sshpty.c
|
||||||
|
+++ b/sshpty.c
|
||||||
|
@@ -163,7 +163,7 @@ pty_change_window_size(int ptyfd, u_int row, u_int col,
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
-pty_setowner(struct passwd *pw, const char *tty)
|
||||||
|
+pty_setowner(struct passwd *pw, const char *tty, const char *role)
|
||||||
|
{
|
||||||
|
struct group *grp;
|
||||||
|
gid_t gid;
|
||||||
|
@@ -187,7 +187,7 @@ pty_setowner(struct passwd *pw, const char *tty)
|
||||||
|
strerror(errno));
|
||||||
|
|
||||||
|
#ifdef WITH_SELINUX
|
||||||
|
- ssh_selinux_setup_pty(pw->pw_name, tty);
|
||||||
|
+ ssh_selinux_setup_pty(pw->pw_name, tty, role);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (st.st_uid != pw->pw_uid || st.st_gid != gid) {
|
||||||
|
diff --git a/sshpty.h b/sshpty.h
|
||||||
|
index 9ec7e9a15..de7e000ae 100644
|
||||||
|
--- a/sshpty.h
|
||||||
|
+++ b/sshpty.h
|
||||||
|
@@ -24,5 +24,5 @@ int pty_allocate(int *, int *, char *, size_t);
|
||||||
|
void pty_release(const char *);
|
||||||
|
void pty_make_controlling_tty(int *, const char *);
|
||||||
|
void pty_change_window_size(int, u_int, u_int, u_int, u_int);
|
||||||
|
-void pty_setowner(struct passwd *, const char *);
|
||||||
|
+void pty_setowner(struct passwd *, const char *, const char *);
|
||||||
|
void disconnect_controlling_tty(void);
|
28
debian/patches/series
vendored
Normal file
28
debian/patches/series
vendored
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
gssapi.patch
|
||||||
|
restore-tcp-wrappers.patch
|
||||||
|
selinux-role.patch
|
||||||
|
ssh-vulnkey-compat.patch
|
||||||
|
keepalive-extensions.patch
|
||||||
|
syslog-level-silent.patch
|
||||||
|
user-group-modes.patch
|
||||||
|
scp-quoting.patch
|
||||||
|
shell-path.patch
|
||||||
|
dnssec-sshfp.patch
|
||||||
|
mention-ssh-keygen-on-keychange.patch
|
||||||
|
package-versioning.patch
|
||||||
|
debian-banner.patch
|
||||||
|
authorized-keys-man-symlink.patch
|
||||||
|
openbsd-docs.patch
|
||||||
|
ssh-argv0.patch
|
||||||
|
doc-hash-tab-completion.patch
|
||||||
|
ssh-agent-setgid.patch
|
||||||
|
no-openssl-version-status.patch
|
||||||
|
gnome-ssh-askpass2-icon.patch
|
||||||
|
debian-config.patch
|
||||||
|
restore-authorized_keys2.patch
|
||||||
|
revert-ipqos-defaults.patch
|
||||||
|
systemd-socket-activation.patch
|
||||||
|
skip-utimensat-test-on-zfs.patch
|
||||||
|
regress-conch-dev-zero.patch
|
||||||
|
configure-cache-vars.patch
|
||||||
|
pam-avoid-unknown-host.patch
|
39
debian/patches/shell-path.patch
vendored
Normal file
39
debian/patches/shell-path.patch
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
From aff1a94c2716097f669efd7d59b257f50232c01e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:00 +0000
|
||||||
|
Subject: Look for $SHELL on the path for ProxyCommand/LocalCommand
|
||||||
|
|
||||||
|
There's some debate on the upstream bug about whether POSIX requires this.
|
||||||
|
I (Colin Watson) agree with Vincent and think it does.
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1494
|
||||||
|
Bug-Debian: http://bugs.debian.org/492728
|
||||||
|
Last-Update: 2020-02-21
|
||||||
|
|
||||||
|
Patch-Name: shell-path.patch
|
||||||
|
---
|
||||||
|
sshconnect.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/sshconnect.c b/sshconnect.c
|
||||||
|
index c86182d13..43b75dcf7 100644
|
||||||
|
--- a/sshconnect.c
|
||||||
|
+++ b/sshconnect.c
|
||||||
|
@@ -248,7 +248,7 @@ ssh_proxy_connect(struct ssh *ssh, const char *host, const char *host_arg,
|
||||||
|
* extra privileges above.
|
||||||
|
*/
|
||||||
|
ssh_signal(SIGPIPE, SIG_DFL);
|
||||||
|
- execv(argv[0], argv);
|
||||||
|
+ execvp(argv[0], argv);
|
||||||
|
perror(argv[0]);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
@@ -1711,7 +1711,7 @@ ssh_local_cmd(const char *args)
|
||||||
|
if (pid == 0) {
|
||||||
|
ssh_signal(SIGPIPE, SIG_DFL);
|
||||||
|
debug3("Executing %s -c \"%s\"", shell, args);
|
||||||
|
- execl(shell, shell, "-c", args, (char *)NULL);
|
||||||
|
+ execlp(shell, shell, "-c", args, (char *)NULL);
|
||||||
|
error("Couldn't execute %s -c \"%s\": %s",
|
||||||
|
shell, args, strerror(errno));
|
||||||
|
_exit(1);
|
55
debian/patches/skip-utimensat-test-on-zfs.patch
vendored
Normal file
55
debian/patches/skip-utimensat-test-on-zfs.patch
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
From 44616edf6f926b9fec6a322c755fb1bb8c90e7fe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Mon, 11 Mar 2024 16:24:49 +0000
|
||||||
|
Subject: Skip utimensat test on ZFS
|
||||||
|
|
||||||
|
On ZFS (which may be used by e.g. `autopkgtest-virt-incus`), `utimensat`
|
||||||
|
seems to leave the access time set to 0. It's not clear why.
|
||||||
|
|
||||||
|
Forwarded: no
|
||||||
|
Last-Update: 2024-03-11
|
||||||
|
|
||||||
|
Patch-Name: skip-utimensat-test-on-zfs.patch
|
||||||
|
---
|
||||||
|
openbsd-compat/regress/utimensattest.c | 17 +++++++++++++++++
|
||||||
|
1 file changed, 17 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/openbsd-compat/regress/utimensattest.c b/openbsd-compat/regress/utimensattest.c
|
||||||
|
index bbc66c485..662d58146 100644
|
||||||
|
--- a/openbsd-compat/regress/utimensattest.c
|
||||||
|
+++ b/openbsd-compat/regress/utimensattest.c
|
||||||
|
@@ -33,6 +33,12 @@
|
||||||
|
# define AT_SYMLINK_NOFOLLOW 0x80000000
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if defined(HAVE_SYS_VFS_H) && defined(HAVE_STATFS) && defined(HAVE_STRUCT_STATFS_F_FILES)
|
||||||
|
+# include <sys/vfs.h>
|
||||||
|
+# define ZFS_SUPER_MAGIC 0x2fc12fc1
|
||||||
|
+# define HAVE_ZFS_CHECK
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
int utimensat(int, const char *, const struct timespec[2], int);
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -60,10 +66,21 @@ fail(char *msg, long expect, long got)
|
||||||
|
int
|
||||||
|
main(void)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_ZFS_CHECK
|
||||||
|
+ struct statfs sfsb;
|
||||||
|
+#endif
|
||||||
|
int fd;
|
||||||
|
struct stat sb;
|
||||||
|
struct timespec ts[2];
|
||||||
|
|
||||||
|
+#ifdef HAVE_ZFS_CHECK
|
||||||
|
+ /* On ZFS, utimensat seems to leave the atime set to 0. */
|
||||||
|
+ if (statfs(".", &sfsb) == 0 && sfsb.f_type == ZFS_SUPER_MAGIC) {
|
||||||
|
+ fprintf(stderr, "utimensat: skipping test on ZFS\n");
|
||||||
|
+ exit(0);
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
cleanup();
|
||||||
|
if ((fd = open(TMPFILE, O_CREAT, 0600)) == -1)
|
||||||
|
fail("open", 0, 0);
|
40
debian/patches/ssh-agent-setgid.patch
vendored
Normal file
40
debian/patches/ssh-agent-setgid.patch
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
From 8b13bba78cbebca9f74c89f6d35c716b871f9598 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:13 +0000
|
||||||
|
Subject: Document consequences of ssh-agent being setgid in ssh-agent(1)
|
||||||
|
|
||||||
|
Bug-Debian: http://bugs.debian.org/711623
|
||||||
|
Forwarded: no
|
||||||
|
Last-Update: 2020-02-21
|
||||||
|
|
||||||
|
Patch-Name: ssh-agent-setgid.patch
|
||||||
|
---
|
||||||
|
ssh-agent.1 | 15 +++++++++++++++
|
||||||
|
1 file changed, 15 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/ssh-agent.1 b/ssh-agent.1
|
||||||
|
index 533ad6d3a..43f9cf7aa 100644
|
||||||
|
--- a/ssh-agent.1
|
||||||
|
+++ b/ssh-agent.1
|
||||||
|
@@ -284,6 +284,21 @@ socket and stores its pathname in this variable.
|
||||||
|
It is accessible only to the current user,
|
||||||
|
but is easily abused by root or another instance of the same user.
|
||||||
|
.El
|
||||||
|
+.Pp
|
||||||
|
+In Debian,
|
||||||
|
+.Nm
|
||||||
|
+is installed with the set-group-id bit set, to prevent
|
||||||
|
+.Xr ptrace 2
|
||||||
|
+attacks retrieving private key material.
|
||||||
|
+This has the side-effect of causing the run-time linker to remove certain
|
||||||
|
+environment variables which might have security implications for set-id
|
||||||
|
+programs, including
|
||||||
|
+.Ev LD_PRELOAD ,
|
||||||
|
+.Ev LD_LIBRARY_PATH ,
|
||||||
|
+and
|
||||||
|
+.Ev TMPDIR .
|
||||||
|
+If you need to set any of these environment variables, you will need to do
|
||||||
|
+so in the program executed by ssh-agent.
|
||||||
|
.Sh FILES
|
||||||
|
.Bl -tag -width Ds
|
||||||
|
.It Pa $TMPDIR/ssh-XXXXXXXXXX/agent.<ppid>
|
31
debian/patches/ssh-argv0.patch
vendored
Normal file
31
debian/patches/ssh-argv0.patch
vendored
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
From fbda96f6f98870a8445019875f8783243e53ed01 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:10:10 +0000
|
||||||
|
Subject: ssh(1): Refer to ssh-argv0(1)
|
||||||
|
|
||||||
|
Old versions of OpenSSH (up to 2.5 or thereabouts) allowed creating symlinks
|
||||||
|
to ssh with the name of the host you want to connect to. Debian ships an
|
||||||
|
ssh-argv0 script restoring this feature; this patch refers to its manual
|
||||||
|
page from ssh(1).
|
||||||
|
|
||||||
|
Bug-Debian: http://bugs.debian.org/111341
|
||||||
|
Forwarded: not-needed
|
||||||
|
Last-Update: 2013-09-14
|
||||||
|
|
||||||
|
Patch-Name: ssh-argv0.patch
|
||||||
|
---
|
||||||
|
ssh.1 | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/ssh.1 b/ssh.1
|
||||||
|
index 62bb40a50..3d849f02c 100644
|
||||||
|
--- a/ssh.1
|
||||||
|
+++ b/ssh.1
|
||||||
|
@@ -1678,6 +1678,7 @@ if an error occurred.
|
||||||
|
.Xr sftp 1 ,
|
||||||
|
.Xr ssh-add 1 ,
|
||||||
|
.Xr ssh-agent 1 ,
|
||||||
|
+.Xr ssh-argv0 1 ,
|
||||||
|
.Xr ssh-keygen 1 ,
|
||||||
|
.Xr ssh-keyscan 1 ,
|
||||||
|
.Xr tun 4 ,
|
42
debian/patches/ssh-vulnkey-compat.patch
vendored
Normal file
42
debian/patches/ssh-vulnkey-compat.patch
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
From d0cbcbf53d5f0d4457b47a09af06aac1f483e712 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:50 +0000
|
||||||
|
Subject: Accept obsolete ssh-vulnkey configuration options
|
||||||
|
|
||||||
|
These options were used as part of Debian's response to CVE-2008-0166.
|
||||||
|
Nearly six years later, we no longer need to continue carrying the bulk
|
||||||
|
of that patch, but we do need to avoid failing when the associated
|
||||||
|
configuration options are still present.
|
||||||
|
|
||||||
|
Last-Update: 2014-02-09
|
||||||
|
|
||||||
|
Patch-Name: ssh-vulnkey-compat.patch
|
||||||
|
---
|
||||||
|
readconf.c | 1 +
|
||||||
|
servconf.c | 1 +
|
||||||
|
2 files changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/readconf.c b/readconf.c
|
||||||
|
index ac94e58b5..2b6f2c1e3 100644
|
||||||
|
--- a/readconf.c
|
||||||
|
+++ b/readconf.c
|
||||||
|
@@ -199,6 +199,7 @@ static struct {
|
||||||
|
{ "fallbacktorsh", oDeprecated },
|
||||||
|
{ "globalknownhostsfile2", oDeprecated },
|
||||||
|
{ "rhostsauthentication", oDeprecated },
|
||||||
|
+ { "useblacklistedkeys", oDeprecated },
|
||||||
|
{ "userknownhostsfile2", oDeprecated },
|
||||||
|
{ "useroaming", oDeprecated },
|
||||||
|
{ "usersh", oDeprecated },
|
||||||
|
diff --git a/servconf.c b/servconf.c
|
||||||
|
index 03b4960e0..d2025592a 100644
|
||||||
|
--- a/servconf.c
|
||||||
|
+++ b/servconf.c
|
||||||
|
@@ -702,6 +702,7 @@ static struct {
|
||||||
|
{ "x11uselocalhost", sX11UseLocalhost, SSHCFG_ALL },
|
||||||
|
{ "xauthlocation", sXAuthLocation, SSHCFG_GLOBAL },
|
||||||
|
{ "strictmodes", sStrictModes, SSHCFG_GLOBAL },
|
||||||
|
+ { "permitblacklistedkeys", sDeprecated, SSHCFG_GLOBAL },
|
||||||
|
{ "permitemptypasswords", sEmptyPasswd, SSHCFG_ALL },
|
||||||
|
{ "permituserenvironment", sPermitUserEnvironment, SSHCFG_GLOBAL },
|
||||||
|
{ "uselogin", sDeprecated, SSHCFG_GLOBAL },
|
47
debian/patches/syslog-level-silent.patch
vendored
Normal file
47
debian/patches/syslog-level-silent.patch
vendored
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
From 098e60e62af180a1e2e2a7b0587da696cc34b92b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Natalie Amery <nmamery@chiark.greenend.org.uk>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:54 +0000
|
||||||
|
Subject: "LogLevel SILENT" compatibility
|
||||||
|
|
||||||
|
"LogLevel SILENT" (-qq) was introduced in Debian openssh 1:3.0.1p1-1 to
|
||||||
|
match the behaviour of non-free SSH, in which -q does not suppress fatal
|
||||||
|
errors. However, this was unintentionally broken in 1:4.6p1-2 and nobody
|
||||||
|
complained, so we've dropped most of it. The parts that remain are basic
|
||||||
|
configuration file compatibility, and an adjustment to "Pseudo-terminal will
|
||||||
|
not be allocated ..." which should be split out into a separate patch.
|
||||||
|
|
||||||
|
Author: Matthew Vernon <matthew@debian.org>
|
||||||
|
Author: Colin Watson <cjwatson@debian.org>
|
||||||
|
Last-Update: 2013-09-14
|
||||||
|
|
||||||
|
Patch-Name: syslog-level-silent.patch
|
||||||
|
---
|
||||||
|
log.c | 1 +
|
||||||
|
ssh.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/log.c b/log.c
|
||||||
|
index 6617f2672..f6645ce10 100644
|
||||||
|
--- a/log.c
|
||||||
|
+++ b/log.c
|
||||||
|
@@ -98,6 +98,7 @@ static struct {
|
||||||
|
LogLevel val;
|
||||||
|
} log_levels[] =
|
||||||
|
{
|
||||||
|
+ { "SILENT", SYSLOG_LEVEL_QUIET }, /* compatibility */
|
||||||
|
{ "QUIET", SYSLOG_LEVEL_QUIET },
|
||||||
|
{ "FATAL", SYSLOG_LEVEL_FATAL },
|
||||||
|
{ "ERROR", SYSLOG_LEVEL_ERROR },
|
||||||
|
diff --git a/ssh.c b/ssh.c
|
||||||
|
index c23d3b9e3..55463e5ad 100644
|
||||||
|
--- a/ssh.c
|
||||||
|
+++ b/ssh.c
|
||||||
|
@@ -1425,7 +1425,7 @@ main(int ac, char **av)
|
||||||
|
/* Do not allocate a tty if stdin is not a tty. */
|
||||||
|
if ((!isatty(fileno(stdin)) || options.stdin_null) &&
|
||||||
|
options.request_tty != REQUEST_TTY_FORCE) {
|
||||||
|
- if (tty_flag)
|
||||||
|
+ if (tty_flag && options.log_level != SYSLOG_LEVEL_QUIET)
|
||||||
|
logit("Pseudo-terminal will not be allocated because "
|
||||||
|
"stdin is not a terminal.");
|
||||||
|
tty_flag = 0;
|
203
debian/patches/systemd-socket-activation.patch
vendored
Normal file
203
debian/patches/systemd-socket-activation.patch
vendored
Normal file
|
@ -0,0 +1,203 @@
|
||||||
|
From aa7d7ffcefa83f6a524da54a10cd9026b6012695 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Steve Langasek <steve.langasek@ubuntu.com>
|
||||||
|
Date: Thu, 1 Sep 2022 16:03:37 +0100
|
||||||
|
Subject: Support systemd socket activation
|
||||||
|
|
||||||
|
Unlike inetd socket activation, with systemd socket activation the
|
||||||
|
supervisor passes the listened-on socket to the child process and lets
|
||||||
|
the child process handle the accept(). This lets us do delayed start
|
||||||
|
of the sshd daemon without becoming incompatible with config options
|
||||||
|
like ClientAliveCountMax.
|
||||||
|
|
||||||
|
Author: Colin Watson <cjwatson@debian.org>
|
||||||
|
Last-Update: 2025-04-11
|
||||||
|
|
||||||
|
Patch-Name: systemd-socket-activation.patch
|
||||||
|
---
|
||||||
|
configure.ac | 1 +
|
||||||
|
sshd.c | 131 +++++++++++++++++++++++++++++++++++++++++++++------
|
||||||
|
2 files changed, 118 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 06ad5c78a..75e50acf3 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -974,6 +974,7 @@ int main(void) { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
|
||||||
|
)
|
||||||
|
|
||||||
|
AC_DEFINE([SYSTEMD_NOTIFY], [1], [Have sshd notify systemd on start/reload])
|
||||||
|
+ AC_DEFINE([SYSTEMD_SOCKET_ACTIVATION], [1], [Have sshd accept systemd socket activation])
|
||||||
|
inet6_default_4in6=yes
|
||||||
|
case `uname -r` in
|
||||||
|
1.*|2.0.*)
|
||||||
|
diff --git a/sshd.c b/sshd.c
|
||||||
|
index c9ea8e385..802cbe760 100644
|
||||||
|
--- a/sshd.c
|
||||||
|
+++ b/sshd.c
|
||||||
|
@@ -96,9 +96,17 @@
|
||||||
|
#include "atomicio.h"
|
||||||
|
|
||||||
|
/* Re-exec fds */
|
||||||
|
-#define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
|
||||||
|
-#define REEXEC_CONFIG_PASS_FD (STDERR_FILENO + 2)
|
||||||
|
-#define REEXEC_MIN_FREE_FD (STDERR_FILENO + 3)
|
||||||
|
+#ifdef SYSTEMD_SOCKET_ACTIVATION
|
||||||
|
+static int get_systemd_listen_fds(void);
|
||||||
|
+#define SYSTEMD_OFFSET get_systemd_listen_fds()
|
||||||
|
+#define SYSTEMD_LISTEN_FDS_START 3
|
||||||
|
+#else
|
||||||
|
+#define SYSTEMD_OFFSET 0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1 + SYSTEMD_OFFSET)
|
||||||
|
+#define REEXEC_CONFIG_PASS_FD (STDERR_FILENO + 2 + SYSTEMD_OFFSET)
|
||||||
|
+#define REEXEC_MIN_FREE_FD (STDERR_FILENO + 3 + SYSTEMD_OFFSET)
|
||||||
|
|
||||||
|
extern char *__progname;
|
||||||
|
|
||||||
|
@@ -802,6 +810,88 @@ send_rexec_state(int fd)
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef SYSTEMD_SOCKET_ACTIVATION
|
||||||
|
+/*
|
||||||
|
+ * Get file descriptors passed by systemd; this implements the protocol
|
||||||
|
+ * described in the NOTES section of sd_listen_fds(3).
|
||||||
|
+ *
|
||||||
|
+ * We deliberately return 0 on error, so that the return value can safely be
|
||||||
|
+ * added as part of the REEXEC_*_FD macros without extra checks.
|
||||||
|
+ */
|
||||||
|
+static int
|
||||||
|
+get_systemd_listen_fds(void)
|
||||||
|
+{
|
||||||
|
+ const char *listen_pid_str, *listen_fds_str;
|
||||||
|
+ pid_t listen_pid;
|
||||||
|
+ int listen_fds;
|
||||||
|
+ const char *errstr = NULL;
|
||||||
|
+ int fd;
|
||||||
|
+
|
||||||
|
+ listen_pid_str = getenv("LISTEN_PID");
|
||||||
|
+ if (listen_pid_str == NULL)
|
||||||
|
+ return 0;
|
||||||
|
+ listen_pid = (pid_t)strtonum(listen_pid_str, 2, INT_MAX, &errstr);
|
||||||
|
+ if (errstr != NULL || getpid() != listen_pid)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ listen_fds_str = getenv("LISTEN_FDS");
|
||||||
|
+ if (listen_fds_str == NULL)
|
||||||
|
+ return 0;
|
||||||
|
+ listen_fds = (int)strtonum(listen_fds_str, 1,
|
||||||
|
+ INT_MAX - SYSTEMD_LISTEN_FDS_START, &errstr);
|
||||||
|
+ if (errstr != NULL)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ for (fd = SYSTEMD_LISTEN_FDS_START;
|
||||||
|
+ fd < SYSTEMD_LISTEN_FDS_START + listen_fds; fd++) {
|
||||||
|
+ if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return listen_fds;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Configure our socket fds that were passed from systemd
|
||||||
|
+ */
|
||||||
|
+static void
|
||||||
|
+setup_systemd_socket(int listen_sock)
|
||||||
|
+{
|
||||||
|
+ int ret;
|
||||||
|
+ struct sockaddr_storage addr;
|
||||||
|
+ socklen_t len = sizeof(addr);
|
||||||
|
+ char ntop[NI_MAXHOST], strport[NI_MAXSERV];
|
||||||
|
+
|
||||||
|
+ if (getsockname(listen_sock, (struct sockaddr *)&addr, &len) != 0)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ if (((struct sockaddr *)&addr)->sa_family != AF_INET
|
||||||
|
+ && ((struct sockaddr *)&addr)->sa_family != AF_INET6)
|
||||||
|
+ return;
|
||||||
|
+ if (num_listen_socks >= MAX_LISTEN_SOCKS)
|
||||||
|
+ fatal("Too many listen sockets. "
|
||||||
|
+ "Enlarge MAX_LISTEN_SOCKS");
|
||||||
|
+ if ((ret = getnameinfo((struct sockaddr *)&addr, len, ntop,
|
||||||
|
+ sizeof(ntop), strport, sizeof(strport),
|
||||||
|
+ NI_NUMERICHOST|NI_NUMERICSERV)) != 0) {
|
||||||
|
+ error("getnameinfo failed: %.100s",
|
||||||
|
+ ssh_gai_strerror(ret));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ if (set_nonblock(listen_sock) == -1) {
|
||||||
|
+ close(listen_sock);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ /* Socket options */
|
||||||
|
+ set_reuseaddr(listen_sock);
|
||||||
|
+
|
||||||
|
+ listen_socks[num_listen_socks] = listen_sock;
|
||||||
|
+ num_listen_socks++;
|
||||||
|
+
|
||||||
|
+ logit("Server listening on %s port %s.", ntop, strport);
|
||||||
|
+}
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Listen for TCP connections
|
||||||
|
*/
|
||||||
|
@@ -881,6 +971,9 @@ static void
|
||||||
|
server_listen(void)
|
||||||
|
{
|
||||||
|
u_int i;
|
||||||
|
+#ifdef SYSTEMD_SOCKET_ACTIVATION
|
||||||
|
+ int systemd_socket_count;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* Initialise per-source limit tracking. */
|
||||||
|
srclimit_init(options.max_startups,
|
||||||
|
@@ -890,17 +983,27 @@ server_listen(void)
|
||||||
|
&options.per_source_penalty,
|
||||||
|
options.per_source_penalty_exempt);
|
||||||
|
|
||||||
|
- for (i = 0; i < options.num_listen_addrs; i++) {
|
||||||
|
- listen_on_addrs(&options.listen_addrs[i]);
|
||||||
|
- freeaddrinfo(options.listen_addrs[i].addrs);
|
||||||
|
- free(options.listen_addrs[i].rdomain);
|
||||||
|
- memset(&options.listen_addrs[i], 0,
|
||||||
|
- sizeof(options.listen_addrs[i]));
|
||||||
|
+#ifdef SYSTEMD_SOCKET_ACTIVATION
|
||||||
|
+ systemd_socket_count = get_systemd_listen_fds();
|
||||||
|
+ if (systemd_socket_count > 0)
|
||||||
|
+ {
|
||||||
|
+ int i;
|
||||||
|
+ for (i = 0; i < systemd_socket_count; i++)
|
||||||
|
+ setup_systemd_socket(SYSTEMD_LISTEN_FDS_START + i);
|
||||||
|
+ } else
|
||||||
|
+#endif
|
||||||
|
+ {
|
||||||
|
+ for (i = 0; i < options.num_listen_addrs; i++) {
|
||||||
|
+ listen_on_addrs(&options.listen_addrs[i]);
|
||||||
|
+ freeaddrinfo(options.listen_addrs[i].addrs);
|
||||||
|
+ free(options.listen_addrs[i].rdomain);
|
||||||
|
+ memset(&options.listen_addrs[i], 0,
|
||||||
|
+ sizeof(options.listen_addrs[i]));
|
||||||
|
+ }
|
||||||
|
+ free(options.listen_addrs);
|
||||||
|
+ options.listen_addrs = NULL;
|
||||||
|
+ options.num_listen_addrs = 0;
|
||||||
|
}
|
||||||
|
- free(options.listen_addrs);
|
||||||
|
- options.listen_addrs = NULL;
|
||||||
|
- options.num_listen_addrs = 0;
|
||||||
|
-
|
||||||
|
if (!num_listen_socks)
|
||||||
|
fatal("Cannot bind any address.");
|
||||||
|
}
|
||||||
|
@@ -1461,7 +1564,7 @@ main(int ac, char **av)
|
||||||
|
if (!test_flag && !inetd_flag && !do_dump_cfg && !path_absolute(av[0]))
|
||||||
|
fatal("sshd requires execution with an absolute path");
|
||||||
|
|
||||||
|
- closefrom(STDERR_FILENO + 1);
|
||||||
|
+ closefrom(STDERR_FILENO + 1 + SYSTEMD_OFFSET);
|
||||||
|
|
||||||
|
/* Reserve fds we'll need later for reexec things */
|
||||||
|
if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1)
|
210
debian/patches/user-group-modes.patch
vendored
Normal file
210
debian/patches/user-group-modes.patch
vendored
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
From 69d17a6efb4ca9c28fdc700154affb67d696a4ee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Colin Watson <cjwatson@debian.org>
|
||||||
|
Date: Sun, 9 Feb 2014 16:09:58 +0000
|
||||||
|
Subject: Allow harmless group-writability
|
||||||
|
|
||||||
|
Allow secure files (~/.ssh/config, ~/.ssh/authorized_keys, etc.) to be
|
||||||
|
group-writable, provided that the group in question contains only the file's
|
||||||
|
owner. Rejected upstream for IMO incorrect reasons (e.g. a misunderstanding
|
||||||
|
about the contents of gr->gr_mem). Given that per-user groups and umask 002
|
||||||
|
are the default setup in Debian (for good reasons - this makes operating in
|
||||||
|
setgid directories with other groups much easier), we need to permit this by
|
||||||
|
default.
|
||||||
|
|
||||||
|
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1060
|
||||||
|
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=314347
|
||||||
|
Last-Update: 2022-02-23
|
||||||
|
|
||||||
|
Patch-Name: user-group-modes.patch
|
||||||
|
---
|
||||||
|
auth-rhosts.c | 6 ++----
|
||||||
|
auth.c | 3 +--
|
||||||
|
misc.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++-----
|
||||||
|
misc.h | 2 ++
|
||||||
|
readconf.c | 3 +--
|
||||||
|
ssh.1 | 2 ++
|
||||||
|
ssh_config.5 | 2 ++
|
||||||
|
7 files changed, 62 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/auth-rhosts.c b/auth-rhosts.c
|
||||||
|
index d5d2c7a12..13c3c201b 100644
|
||||||
|
--- a/auth-rhosts.c
|
||||||
|
+++ b/auth-rhosts.c
|
||||||
|
@@ -265,8 +265,7 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname,
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (options.strict_modes &&
|
||||||
|
- ((st.st_uid != 0 && st.st_uid != pw->pw_uid) ||
|
||||||
|
- (st.st_mode & 022) != 0)) {
|
||||||
|
+ !secure_permissions(&st, pw->pw_uid)) {
|
||||||
|
logit("Rhosts authentication refused for %.100s: "
|
||||||
|
"bad ownership or modes for home directory.", pw->pw_name);
|
||||||
|
auth_debug_add("Rhosts authentication refused for %.100s: "
|
||||||
|
@@ -295,8 +294,7 @@ auth_rhosts2(struct passwd *pw, const char *client_user, const char *hostname,
|
||||||
|
* allowing access to their account by anyone.
|
||||||
|
*/
|
||||||
|
if (options.strict_modes &&
|
||||||
|
- ((st.st_uid != 0 && st.st_uid != pw->pw_uid) ||
|
||||||
|
- (st.st_mode & 022) != 0)) {
|
||||||
|
+ !secure_permissions(&st, pw->pw_uid)) {
|
||||||
|
logit("Rhosts authentication refused for %.100s: "
|
||||||
|
"bad modes for %.200s", pw->pw_name, path);
|
||||||
|
auth_debug_add("Bad file modes for %.200s", path);
|
||||||
|
diff --git a/auth.c b/auth.c
|
||||||
|
index e4578169b..4b878865f 100644
|
||||||
|
--- a/auth.c
|
||||||
|
+++ b/auth.c
|
||||||
|
@@ -430,8 +430,7 @@ check_key_in_hostfiles(struct passwd *pw, struct sshkey *key, const char *host,
|
||||||
|
user_hostfile = tilde_expand_filename(userfile, pw->pw_uid);
|
||||||
|
if (options.strict_modes &&
|
||||||
|
(stat(user_hostfile, &st) == 0) &&
|
||||||
|
- ((st.st_uid != 0 && st.st_uid != pw->pw_uid) ||
|
||||||
|
- (st.st_mode & 022) != 0)) {
|
||||||
|
+ !secure_permissions(&st, pw->pw_uid)) {
|
||||||
|
logit("Authentication refused for %.100s: "
|
||||||
|
"bad owner or modes for %.200s",
|
||||||
|
pw->pw_name, user_hostfile);
|
||||||
|
diff --git a/misc.c b/misc.c
|
||||||
|
index dd0bd032a..081d07993 100644
|
||||||
|
--- a/misc.c
|
||||||
|
+++ b/misc.c
|
||||||
|
@@ -62,9 +62,9 @@
|
||||||
|
#include <netdb.h>
|
||||||
|
#ifdef HAVE_PATHS_H
|
||||||
|
# include <paths.h>
|
||||||
|
+#endif
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <grp.h>
|
||||||
|
-#endif
|
||||||
|
#ifdef SSH_TUN_OPENBSD
|
||||||
|
#include <net/if.h>
|
||||||
|
#endif
|
||||||
|
@@ -1449,6 +1449,55 @@ percent_dollar_expand(const char *string, ...)
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
+int
|
||||||
|
+secure_permissions(struct stat *st, uid_t uid)
|
||||||
|
+{
|
||||||
|
+ if (!platform_sys_dir_uid(st->st_uid) && st->st_uid != uid)
|
||||||
|
+ return 0;
|
||||||
|
+ if ((st->st_mode & 002) != 0)
|
||||||
|
+ return 0;
|
||||||
|
+ if ((st->st_mode & 020) != 0) {
|
||||||
|
+ /* If the file is group-writable, the group in question must
|
||||||
|
+ * have exactly one member, namely the file's owner.
|
||||||
|
+ * (Zero-member groups are typically used by setgid
|
||||||
|
+ * binaries, and are unlikely to be suitable.)
|
||||||
|
+ */
|
||||||
|
+ struct passwd *pw;
|
||||||
|
+ struct group *gr;
|
||||||
|
+ int members = 0;
|
||||||
|
+
|
||||||
|
+ gr = getgrgid(st->st_gid);
|
||||||
|
+ if (!gr)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ /* Check primary group memberships. */
|
||||||
|
+ while ((pw = getpwent()) != NULL) {
|
||||||
|
+ if (pw->pw_gid == gr->gr_gid) {
|
||||||
|
+ ++members;
|
||||||
|
+ if (pw->pw_uid != uid)
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ endpwent();
|
||||||
|
+
|
||||||
|
+ pw = getpwuid(st->st_uid);
|
||||||
|
+ if (!pw)
|
||||||
|
+ return 0;
|
||||||
|
+
|
||||||
|
+ /* Check supplementary group memberships. */
|
||||||
|
+ if (gr->gr_mem[0]) {
|
||||||
|
+ ++members;
|
||||||
|
+ if (strcmp(pw->pw_name, gr->gr_mem[0]) ||
|
||||||
|
+ gr->gr_mem[1])
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!members)
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ return 1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
int
|
||||||
|
tun_open(int tun, int mode, char **ifname)
|
||||||
|
{
|
||||||
|
@@ -2271,8 +2320,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir,
|
||||||
|
snprintf(err, errlen, "%s is not a regular file", buf);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
- if ((!platform_sys_dir_uid(stp->st_uid) && stp->st_uid != uid) ||
|
||||||
|
- (stp->st_mode & 022) != 0) {
|
||||||
|
+ if (!secure_permissions(stp, uid)) {
|
||||||
|
snprintf(err, errlen, "bad ownership or modes for file %s",
|
||||||
|
buf);
|
||||||
|
return -1;
|
||||||
|
@@ -2287,8 +2335,7 @@ safe_path(const char *name, struct stat *stp, const char *pw_dir,
|
||||||
|
strlcpy(buf, cp, sizeof(buf));
|
||||||
|
|
||||||
|
if (stat(buf, &st) == -1 ||
|
||||||
|
- (!platform_sys_dir_uid(st.st_uid) && st.st_uid != uid) ||
|
||||||
|
- (st.st_mode & 022) != 0) {
|
||||||
|
+ !secure_permissions(&st, uid)) {
|
||||||
|
snprintf(err, errlen,
|
||||||
|
"bad ownership or modes for directory %s", buf);
|
||||||
|
return -1;
|
||||||
|
diff --git a/misc.h b/misc.h
|
||||||
|
index efecdf1ad..9ea1128ac 100644
|
||||||
|
--- a/misc.h
|
||||||
|
+++ b/misc.h
|
||||||
|
@@ -247,6 +247,8 @@ struct notifier_ctx *notify_start(int, const char *, ...)
|
||||||
|
void notify_complete(struct notifier_ctx *, const char *, ...)
|
||||||
|
__attribute__((format(printf, 2, 3)));
|
||||||
|
|
||||||
|
+int secure_permissions(struct stat *st, uid_t uid);
|
||||||
|
+
|
||||||
|
#define MINIMUM(a, b) (((a) < (b)) ? (a) : (b))
|
||||||
|
#define MAXIMUM(a, b) (((a) > (b)) ? (a) : (b))
|
||||||
|
#define ROUNDUP(x, y) ((((x)+((y)-1))/(y))*(y))
|
||||||
|
diff --git a/readconf.c b/readconf.c
|
||||||
|
index 5a38016eb..8419b5451 100644
|
||||||
|
--- a/readconf.c
|
||||||
|
+++ b/readconf.c
|
||||||
|
@@ -2638,8 +2638,7 @@ read_config_file_depth(const char *filename, struct passwd *pw,
|
||||||
|
|
||||||
|
if (fstat(fileno(f), &sb) == -1)
|
||||||
|
fatal("fstat %s: %s", filename, strerror(errno));
|
||||||
|
- if (((sb.st_uid != 0 && sb.st_uid != getuid()) ||
|
||||||
|
- (sb.st_mode & 022) != 0))
|
||||||
|
+ if (!secure_permissions(&sb, getuid()))
|
||||||
|
fatal("Bad owner or permissions on %s", filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/ssh.1 b/ssh.1
|
||||||
|
index f83514c8f..62bb40a50 100644
|
||||||
|
--- a/ssh.1
|
||||||
|
+++ b/ssh.1
|
||||||
|
@@ -1582,6 +1582,8 @@ The file format and configuration options are described in
|
||||||
|
.Xr ssh_config 5 .
|
||||||
|
Because of the potential for abuse, this file must have strict permissions:
|
||||||
|
read/write for the user, and not writable by others.
|
||||||
|
+It may be group-writable provided that the group in question contains only
|
||||||
|
+the user.
|
||||||
|
.Pp
|
||||||
|
.It Pa ~/.ssh/environment
|
||||||
|
Contains additional definitions for environment variables; see
|
||||||
|
diff --git a/ssh_config.5 b/ssh_config.5
|
||||||
|
index a82ea54db..dd0084c82 100644
|
||||||
|
--- a/ssh_config.5
|
||||||
|
+++ b/ssh_config.5
|
||||||
|
@@ -2490,6 +2490,8 @@ The format of this file is described above.
|
||||||
|
This file is used by the SSH client.
|
||||||
|
Because of the potential for abuse, this file must have strict permissions:
|
||||||
|
read/write for the user, and not writable by others.
|
||||||
|
+It may be group-writable provided that the group in question contains only
|
||||||
|
+the user.
|
||||||
|
.It Pa /etc/ssh/ssh_config
|
||||||
|
Systemwide configuration file.
|
||||||
|
This file provides defaults for those
|
1
debian/po/POTFILES.in
vendored
Normal file
1
debian/po/POTFILES.in
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
[type: gettext/rfc822deb] openssh-server.templates
|
58
debian/po/ca.po
vendored
Normal file
58
debian/po/ca.po
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# Pablo Huguet, 2023.
|
||||||
|
# <https://linktr.ee/VoodooPablo>
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-08-18 03:20+0200\n"
|
||||||
|
"Last-Translator: Pablo Huguet <https://linktr.ee/VoodooPablo>\n"
|
||||||
|
"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
|
||||||
|
"Language: ca\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Desactivar l'autenticació de contrasenya SSH per a root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Les versions anteriors d'openssh-server permetien iniciar sessió com a root "
|
||||||
|
"a través de SSH utilitzant l'autenticació de contrasenya. El valor "
|
||||||
|
"predeterminat per a instal·lacions noves és ara \"PermitRootLogin prohibit-"
|
||||||
|
"password\", que desactiva la contrasenya d'autenticació per a root sense "
|
||||||
|
"trencar sistemes que tenen explícitament autenticació de clau pública SSH "
|
||||||
|
"configurada per a root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Aquest canvi fa que els sistemes siguin més segurs contra contrasenyes de "
|
||||||
|
"força bruta atacs de diccionari a l'usuari root (un objectiu molt comú per a "
|
||||||
|
"aquests atacs). Tanmateix, pot trencar els sistemes configurats amb "
|
||||||
|
"l'expectativa de poder fer SSH com a root mitjançant l'autenticació de "
|
||||||
|
"contrasenya. Només hauríeu de fer aquest canvi si no ho necessiteu."
|
55
debian/po/cs.po
vendored
Normal file
55
debian/po/cs.po
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# Czech PO debconf template translation of openssh.
|
||||||
|
# Copyright (C) 2014 Michal Simunek <michal.simunek@gmail.com>
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Michal Simunek <michal.simunek@gmail.com>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh 1:6.6p1-1\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-06-12 12:25+0200\n"
|
||||||
|
"Last-Translator: Michal Simunek <michal.simunek@gmail.com>\n"
|
||||||
|
"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
|
||||||
|
"Language: cs\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Zakázat ověřování heslem pro uživatele root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Předchozí verze openssh-server dovolovala přihlašovat se přes SSH jako root "
|
||||||
|
"pomocí ověřování heslem. Výchozí volba pro nové instalace je nyní "
|
||||||
|
"\"PermitRootLogin prohibit-password\", která zakazuje ověřování heslem pro "
|
||||||
|
"uživatele root, aniž by to omezilo systémy, které mají explicitně nastaveno "
|
||||||
|
"ověřování veřejným SSH klíčem pro uživatele root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Tato změna činí systémy zabezpečenějšími proti útokům hrubou silou na heslo "
|
||||||
|
"uživatele root pomocí slovníku (velmi častý cíl útoků). Nicméně, to může "
|
||||||
|
"poškodit systémy, které jsou nastaveny s předpokladem, že bude možné se "
|
||||||
|
"přihlašovat přes SSH jako root pomocí ověřování heslem. Změnu této volby "
|
||||||
|
"byste měli provést pouze pokud ověřování heslem potřebujete."
|
55
debian/po/da.po
vendored
Normal file
55
debian/po/da.po
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# Danish translation openssh.
|
||||||
|
# Copyright (C) 2014 openssh og nedenstående oversættere.
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Joe Hansen <joedalton2@yahoo.dk>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-21 23:51+0200\n"
|
||||||
|
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
|
||||||
|
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
|
||||||
|
"Language: da\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Deaktiver SSH-adgangskodegodkendelse for root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Tidligere versioner af openssh-server tillod indlogning som root over SSH "
|
||||||
|
"med brug af adgangskodegodkendelse. Standarden for nye installationer er nu "
|
||||||
|
"»PermitRootLogin prohibit-password«, som deaktiverer adgangskodegodkendelse "
|
||||||
|
"for root uden at ødelægge systemer, som eksplicit har konfigureret SSH-"
|
||||||
|
"offentlig nøglegodkendelse for root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Denne ændring gør systemer mere sikre mod brute-force angreb vis ordlister "
|
||||||
|
"med adgangskoder på root-brugeren (et meget ofte mål for sådanne angreb). "
|
||||||
|
"Det kan dog ødelægge systemer, som er opsat med forventning om at kunne SSH "
|
||||||
|
"som root via brug af adgangskodegodkendelse. Du skal kun lave denne ændring, "
|
||||||
|
"hvis du ikke har brug for dette."
|
61
debian/po/de.po
vendored
Normal file
61
debian/po/de.po
vendored
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# openssh.
|
||||||
|
# Copyright (C) 2014 Colin Watson
|
||||||
|
# Copyright (C) 2014 Stephan Beck
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Stephan Beck <sbeck@mailbox.org>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh_1:6.6p1-1\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-24 22:21+0100\n"
|
||||||
|
"Last-Translator: Stephan Beck <sbeck@mailbox.org>\n"
|
||||||
|
"Language-Team: Debian German translation team <debian-l10n-german@lists."
|
||||||
|
"debian.org>\n"
|
||||||
|
"Language: de\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "SSH Passwort-Authentifizierung für »root« deaktivieren?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Vorherige Versionen von openssh-server erlaubten das Anmelden als »root« "
|
||||||
|
"über SSH unter Verwendung von Passwort-Authentifizierung. Die "
|
||||||
|
"Standardeinstellung für Neuinstallationen lautet nun »PermitRootLogin "
|
||||||
|
"prohibit-password«, wodurch die Passwort-Authentifizierung für »root« "
|
||||||
|
"deaktiviert wird, und Systeme dennoch funktionsfähig bleiben, bei denen "
|
||||||
|
"ausdrücklich die Authentifizierung als »root« mittels öffentlichem SSH-"
|
||||||
|
"Schlüssel konfiguriert ist."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Diese Änderung sichert Systeme besser gegen jene Angriffe auf den Benutzer "
|
||||||
|
"»root« (ein verbreitetes Ziel solcher Angriffe) ab, die das Passwort durch "
|
||||||
|
"simples Ausprobieren aller Einträge von Wörterbüchern zu erraten versuchen. "
|
||||||
|
"Sie kann allerdings dazu führen, dass Systeme nicht mehr funktionieren, die "
|
||||||
|
"in der Absicht konfiguriert wurden, die Anmeldung als »root« über SSH unter "
|
||||||
|
"Verwendung von Passwort-Authentifizierung zuzulassen. Sie sollten diese "
|
||||||
|
"Änderung nur vornehmen, wenn Sie auf Letzteres verzichten können."
|
80
debian/po/es.po
vendored
Normal file
80
debian/po/es.po
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
# openssh po-debconf translation to Spanish
|
||||||
|
# Copyright (C) 2014 Software in the Public Interest
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
#
|
||||||
|
# Changes:
|
||||||
|
# - Initial translation
|
||||||
|
# Matías A. Bellone <matiasbellone+debian@gmail.com>, 2014
|
||||||
|
#
|
||||||
|
# Traductores, si no conocen el formato PO, merece la pena leer la
|
||||||
|
# de gettext, especialmente las secciones dedicadas a este
|
||||||
|
# formato, por ejemplo ejecutando:
|
||||||
|
# info -n '(gettext)PO Files'
|
||||||
|
# info -n '(gettext)Header Entry'
|
||||||
|
#
|
||||||
|
# Equipo de traducción al español, por favor, lean antes de traducir
|
||||||
|
# los siguientes documentos:
|
||||||
|
#
|
||||||
|
# - El proyecto de traducción de Debian al español
|
||||||
|
# http://www.debian.org/intl/spanish/
|
||||||
|
# especialmente las notas de traducción en
|
||||||
|
# http://www.debian.org/intl/spanish/notas
|
||||||
|
#
|
||||||
|
# - La guía de traducción de po's de debconf:
|
||||||
|
# /usr/share/doc/po-debconf/README-trans
|
||||||
|
# o http://www.debian.org/intl/l10n/po-debconf/README-trans
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-23 20:43-0300\n"
|
||||||
|
"Last-Translator: Matías Bellone <matiasbellone+debian@gmail.com>\n"
|
||||||
|
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
|
||||||
|
"Language: es\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr ""
|
||||||
|
"¿Desea desactivar la autenticación SSH mediante contraseña para el usuario "
|
||||||
|
"root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Las versiones anteriores de openssh-server permitían iniciar sesión como "
|
||||||
|
"usuario root utilizando autenticación con contraseña. La configuración "
|
||||||
|
"predeterminada para las nuevas instalaciones ahora incluye «PermitRootLogin "
|
||||||
|
"prohibit-password», lo que desactiva la autenticación con contraseña para el "
|
||||||
|
"usuario root sin romper los sistemas que tienen configurado explícitamente "
|
||||||
|
"la autenticación SSH utilizando claves públicas para el usuario root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Este cambio hace que los sistemas sean más resistentes contra ataques de "
|
||||||
|
"fuerza bruta basados en diccionarios sobre el usuario root (un objetivo muy "
|
||||||
|
"común para este tipo de ataques). Sin embargo, podría romper sistemas cuya "
|
||||||
|
"configuración permite que el usuario root inicie sesión a través de SSH "
|
||||||
|
"utilizando una contraseña. Sólo debería realizar este cambio si no necesita "
|
||||||
|
"este comportamiento."
|
59
debian/po/fr.po
vendored
Normal file
59
debian/po/fr.po
vendored
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Translation of openssh debconf template to French
|
||||||
|
# Copyright (C) 2014
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Étienne Gilli <etienne.gilli@gmail.com>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh_1:6.5p1-6\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-22 08:26+0100\n"
|
||||||
|
"Last-Translator: Étienne Gilli <etienne.gilli@gmail.com>\n"
|
||||||
|
"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
|
||||||
|
"Language: fr\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr ""
|
||||||
|
"Désactiver l’authentification SSH par mot de passe pour le superutilisateur ?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Les versions précédentes du paquet openssh-server autorisaient la connexion "
|
||||||
|
"par SSH du superutilisateur (root) en utilisant l’authentification par mot "
|
||||||
|
"de passe. Par défaut, les nouvelles installations ont maintenant l’option "
|
||||||
|
"« PermitRootLogin prohibit-password », qui désactive l’authentification par "
|
||||||
|
"mot de passe pour le compte « root », sans casser les systèmes qui ont "
|
||||||
|
"configuré explicitement l’authentification SSH par clé publique pour ce "
|
||||||
|
"compte."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Cette modification rend les systèmes plus robustes face aux attaques par "
|
||||||
|
"force brute et par dictionnaire contre le superutilisateur (très souvent "
|
||||||
|
"pris pour cible par ce type d’attaque). Cependant, cela peut rendre "
|
||||||
|
"inutilisables les systèmes reposant sur la possibilité de se connecter au "
|
||||||
|
"compte « root » par SSH avec authentification par mot de passe. Vous ne "
|
||||||
|
"devriez appliquer cette modification que si ce n’est pas votre cas."
|
58
debian/po/it.po
vendored
Normal file
58
debian/po/it.po
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# Italian translation of openssh debconf messages.
|
||||||
|
# Copyright (C) 2014, openssh package copyright holder
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Beatrice Torracca <beatricet@libero.it>, 2014.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-28 11:12+0200\n"
|
||||||
|
"Last-Translator: Beatrice Torracca <beatricet@libero.it>\n"
|
||||||
|
"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
|
||||||
|
"Language: it\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Generator: Virtaal 0.7.1\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Disabilitare l'autenticazione SSH con password per root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Le versioni precedenti di openssh-server permettevano il login come root via "
|
||||||
|
"SSH, usando l'autenticazione con password. Il comportamento predefinito "
|
||||||
|
"delle nuove installazioni è «PermitRootLogin prohibit-password» che "
|
||||||
|
"disabilita l'autenticazione con password per root, senza rendere non "
|
||||||
|
"funzionanti sistemi che hanno esplicitamente configurato l'autenticazione "
|
||||||
|
"SSH con chiave pubblica per root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Questo cambiamento rende i sistemi più al sicuro da attacchi di forza bruta "
|
||||||
|
"a dizionario sulle password per l'utente root (un obiettivo molto comune per "
|
||||||
|
"tali attacchi). Tuttavia, può rendere non funzionanti sistemi che sono "
|
||||||
|
"impostati facendo affidamento sulla possibilità di autenticazione SSH come "
|
||||||
|
"root usando la password. Si dovrebbe fare questo cambiamento solo se non si "
|
||||||
|
"ha bisogno di tale comportamento."
|
55
debian/po/ja.po
vendored
Normal file
55
debian/po/ja.po
vendored
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# victory <victory.deb@gmail.com>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-20 11:06+0900\n"
|
||||||
|
"Last-Translator: victory <victory.deb@gmail.com>\n"
|
||||||
|
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
|
||||||
|
"Language: ja\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "root での SSH パスワード認証を無効にしますか?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"openssh-server の以前のバージョンではパスワード認証を利用した SSH 経由の "
|
||||||
|
"root のログインを許可していました。新しくインストールした場合のデフォルト値が"
|
||||||
|
"現在は「PermitRootLogin prohibit-password」になり、root のパスワード認証を無"
|
||||||
|
"効化しますが SSH の公開鍵認証を root 用に明示的に設定しているシステムでは特に"
|
||||||
|
"問題はありません。"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"この変更によりシステムは root ユーザ (こういった攻撃ではとても一般的な攻撃対"
|
||||||
|
"象です) へのブルートフォースによるパスワード辞書攻撃に対してはより安全になり"
|
||||||
|
"ます。しかしパスワード認証により root で SSH 接続できることを前提として構成し"
|
||||||
|
"たシステムでは問題が発生する可能性があります。そういった必要のない場合にのみ"
|
||||||
|
"この変更を行うようにしてください。"
|
60
debian/po/nl.po
vendored
Normal file
60
debian/po/nl.po
vendored
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
# Dutch translation of openssh debconf templates.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-10-03 23:54+0200\n"
|
||||||
|
"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
|
||||||
|
"Language-Team: Debian Dutch l10n Team <debian-l10n-dutch@lists.debian.org>\n"
|
||||||
|
"Language: nl\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr ""
|
||||||
|
"Wachtwoordauthenticatie over SSH voor de systeembeheerder uitschakelen?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Eerdere versies van de openssh-server lieten de systeembeheerder toe om zich "
|
||||||
|
"over SSH te authenticeren met een wachtwoord. Voor nieuwe installaties is de "
|
||||||
|
"standaard nu \"PermitRootLogin prohibit-password\". Deze standaardinstelling "
|
||||||
|
"maakt het voor de systeembeheerder onmogelijk om zich via een wachtwoord te "
|
||||||
|
"authenticeren. Deze instelling heeft geen impact op systemen waarbij de SSH-"
|
||||||
|
"configuratie expliciet vereist dat de systeembeheerder zich authenticeert "
|
||||||
|
"via een publieke sleutel."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Deze wijziging maakt systemen veiliger tegenover aanvallen met brute kracht "
|
||||||
|
"(met een wachtwoordenwoordenboek) op de systeembeheerder, een zeer courant "
|
||||||
|
"doelwit voor zulke aanvallen. Maar het kan systemen onbruikbaar maken die "
|
||||||
|
"ingesteld werden vanuit de verwachting dat de systeembeheerder SSH kan "
|
||||||
|
"gebruiken met authenticatie via wachtwoord. Enkel wanneer u dit laatste niet "
|
||||||
|
"nodig heeft, zou u deze wijziging kunnen doorvoeren."
|
59
debian/po/pt.po
vendored
Normal file
59
debian/po/pt.po
vendored
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Translation of openssh's debconf messages to European Portuguese
|
||||||
|
# Copyright (C) 2014 YEAR THE openssh'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
#
|
||||||
|
# Américo Monteiro <a_monteiro@gmx.com>, 2014.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh 1:6.6p1-1\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-21 21:13+0000\n"
|
||||||
|
"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
|
||||||
|
"Language-Team: Portuguese <traduz@debianpt.org>\n"
|
||||||
|
"Language: pt\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
"X-Generator: Lokalize 1.4\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Desactivar a autenticação SSH por palavra passe para o root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"As versões anteriores do servidor openssh permitiam iniciar sessão como root "
|
||||||
|
"sobre SSH usando autenticação por palavra-passe. A predefinição para novas "
|
||||||
|
"instalações é agora \"PermitRootLogin prohibit-password\", a qual desactiva "
|
||||||
|
"a autenticação por palavra-passe para o root sem danificar os sistemas que "
|
||||||
|
"têm configurados explicitamente autenticação SSH por chave pública para o "
|
||||||
|
"root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Esta alteração torna os sistemas mais seguros contra ataques em que se "
|
||||||
|
"forçam dicionários de palavras-passe no utilizador root (um alvo muito comum "
|
||||||
|
"para tais ataques). No entanto, pode danificar sistemas que estão "
|
||||||
|
"configurados com a expectativa de serem capazes de SSH como root usando "
|
||||||
|
"autenticação por palavra-passe. Apenas deverá fazer esta alteração se não "
|
||||||
|
"precisa de tal método de autenticação."
|
57
debian/po/pt_BR.po
vendored
Normal file
57
debian/po/pt_BR.po
vendored
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# Debconf translations for openssh.
|
||||||
|
# Copyright (C) 2014 THE openssh'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# José de Figueiredo <deb.gnulinux@gmail.com>, 2014.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-11-23 23:49-0200\n"
|
||||||
|
"Last-Translator: José de Figueiredo <deb.gnulinux@gmail.com>\n"
|
||||||
|
"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
|
||||||
|
"org>\n"
|
||||||
|
"Language: pt_BR\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Desabilitar autenticação por senha do SSH para root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Versões anteriores do openssh-server permitiam login como root sobre SSH "
|
||||||
|
"usando autenticação por senha. O padrão para as novas instalações agora é "
|
||||||
|
"\"PermitRootLogin prohibit-password\", que desabilita a autenticação por "
|
||||||
|
"senha para root sem quebrar sistemas que tenham configurado explicitamente o "
|
||||||
|
"SSH para autenticação por chave pública para root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Esta alteração torna sistemas mais seguros contra ataques de força bruta por "
|
||||||
|
"dicionário de senhas no usuário root (um alvo muito comum destes ataques). "
|
||||||
|
"Entretanto, ela pode quebrar sistemas que foram configurados com a "
|
||||||
|
"expectativa de acesso SSH com root usando autenticação por senha. Você deve "
|
||||||
|
"fazer esta mudança somente se você não precisa fazer isso."
|
69
debian/po/ro.po
vendored
Normal file
69
debian/po/ro.po
vendored
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
# Mesajele în limba română pentru pachetul openssh.
|
||||||
|
# Romanian translation of openssh.
|
||||||
|
# Copyright © 2023 THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
#
|
||||||
|
# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>, 2023.
|
||||||
|
#
|
||||||
|
# Cronologia traducerii fișierului „openssh”:
|
||||||
|
# Traducerea inițială, făcută de R-GC, pentru versiunea openssh 1 9.2p1-2(2014-03-20).
|
||||||
|
# Actualizare a traducerii pentru versiunea Y, făcută de X, Y(anul).
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh 1 9.2p1-2\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2023-03-11 12:17+0100\n"
|
||||||
|
"Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n"
|
||||||
|
"Language-Team: Romanian <debian-l10n-romanian@lists.debian.org>\n"
|
||||||
|
"Language: ro\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && "
|
||||||
|
"n%100<=19) ? 1 : 2);\n"
|
||||||
|
"X-Bugs: Report translation errors to the Language-Team address.\n"
|
||||||
|
"X-Generator: Poedit 3.2.2\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr ""
|
||||||
|
"Doriți să dezactivați autentificarea SSH prin parolă pentru utilizatorul „root”?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH using "
|
||||||
|
"password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password authentication "
|
||||||
|
"for root without breaking systems that have explicitly configured SSH public "
|
||||||
|
"key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Versiunile anterioare ale «openssh-server» permiteau conectarea ca utilizator "
|
||||||
|
"„root” prin SSH folosind autentificarea prin parolă. Valoarea implicită pentru "
|
||||||
|
"noile instalări este acum „PermitRootLogin prohibit-password”, care "
|
||||||
|
"dezactivează autentificarea parolei pentru „root” fără să deterioreze sistemele "
|
||||||
|
"care au configurat în mod explicit autentificarea cu cheie publică SSH pentru "
|
||||||
|
"„root”."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password dictionary "
|
||||||
|
"attacks on the root user (a very common target for such attacks). However, it "
|
||||||
|
"may break systems that are set up with the expectation of being able to SSH as "
|
||||||
|
"root using password authentication. You should only make this change if you do "
|
||||||
|
"not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Această modificare face sistemele mai sigure împotriva atacurilor de forță "
|
||||||
|
"brută bazate pe dicționar de parole asupra utilizatorului „root” (o țintă "
|
||||||
|
"foarte comună pentru astfel de atacuri). Cu toate acestea, poate distruge "
|
||||||
|
"sistemele care sunt configurate pentru a permite utilizatorului „root” să se "
|
||||||
|
"conecteze prin SSH folosind o parolă. Ar trebui să faceți această modificare "
|
||||||
|
"doar dacă nu este necesar să utilizați acest tip de autentificare pentru "
|
||||||
|
"utilizatorul „root”."
|
57
debian/po/ru.po
vendored
Normal file
57
debian/po/ru.po
vendored
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
#
|
||||||
|
# Yuri Kozlov <yuray@komyakino.ru>, 2014.
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh 1:6.6p1-1\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-22 10:04+0400\n"
|
||||||
|
"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
|
||||||
|
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
|
||||||
|
"Language: ru\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
|
"X-Generator: Lokalize 1.4\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Выключить в SSH аутентификацию по паролю для root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"В предыдущих версиях openssh-server разрешён вход с правами пользователя "
|
||||||
|
"root через SSH с помощью аутентификации по паролю. При новых установках по "
|
||||||
|
"умолчанию теперь используется настройка «PermitRootLogin prohibit-password», "
|
||||||
|
"которая отключает аутентификацию по паролю для root, что не вредит системам, "
|
||||||
|
"у которых в SSH для root настроена аутентификация по открытому ключу."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Это изменение делает системы более стойкими к атакам методом перебора "
|
||||||
|
"словарных паролей для пользователя root (самая распространённая цель таких "
|
||||||
|
"атак). Однако, это вредит системам, в которых специально настроен вход для "
|
||||||
|
"root по SSH с парольной аутентификацией. Если это не ваш случай, то ответьте "
|
||||||
|
"утвердительно."
|
58
debian/po/sv.po
vendored
Normal file
58
debian/po/sv.po
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# Swedish translations for openssh package
|
||||||
|
# Svenska översättningar för paket openssh.
|
||||||
|
# Copyright (C) 2014 THE openssh'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Andreas Rönnquist <gusnan@gusnan.se>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-03-21 21:36+0100\n"
|
||||||
|
"Last-Translator: Andreas Rönnquist <gusnan@gusnan.se>\n"
|
||||||
|
"Language-Team: Swedish\n"
|
||||||
|
"Language: sv\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "Inaktivera SSH-lösenordsautentisering för root?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"Tidigare versioner av openssh-server tillät inloggning som root över SSH med "
|
||||||
|
"hjälp av lösenordsautentisering. Standardinställningen för nya "
|
||||||
|
"installationer är nu \"PermitRootLogin prohibit-password\", vilket "
|
||||||
|
"inaktiverar lösenordsautentisering för root utan att förstöra system som "
|
||||||
|
"explicit har konfigurerat nyckelautentisering med hjälp av publika nycklar "
|
||||||
|
"för root."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Denna förändring gör system säkrare mot brute-force-angrepp med hjälp av "
|
||||||
|
"ordlistor med lösenord på root-användaren (ett väldigt vanligt mål för "
|
||||||
|
"sådana angrepp). Dock så kan detta förstöra system som förväntas kunna "
|
||||||
|
"använda SSH som root med hjälp av lösenordsautentisering. Du skall endast "
|
||||||
|
"göra denna förändring om du inte har ett behov av att kunna göra detta."
|
46
debian/po/templates.pot
vendored
Normal file
46
debian/po/templates.pot
vendored
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
58
debian/po/tr.po
vendored
Normal file
58
debian/po/tr.po
vendored
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
# Turkish translation of openssh package
|
||||||
|
# Copyright (C) 2014 Mert Dirik
|
||||||
|
# This file is distributed under the same license as the openssh package.
|
||||||
|
# Mert Dirik <mertdirik@gmail.com>, 2014.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openssh-server\n"
|
||||||
|
"Report-Msgid-Bugs-To: openssh@packages.debian.org\n"
|
||||||
|
"POT-Creation-Date: 2014-03-20 02:06+0000\n"
|
||||||
|
"PO-Revision-Date: 2014-08-01 14:44+0200\n"
|
||||||
|
"Last-Translator: Mert Dirik <mertdirik@gmail.com>\n"
|
||||||
|
"Language-Team: Debian L10n Turkish <debian-l10n-turkish@lists.debian.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Generator: Poedit 1.5.4\n"
|
||||||
|
"Language: tr\n"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid "Disable SSH password authentication for root?"
|
||||||
|
msgstr "root kullanıcısının parola ile kimlik doğrulaması engellensin mi?"
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"Previous versions of openssh-server permitted logging in as root over SSH "
|
||||||
|
"using password authentication. The default for new installations is now "
|
||||||
|
"\"PermitRootLogin prohibit-password\", which disables password "
|
||||||
|
"authentication for root without breaking systems that have explicitly "
|
||||||
|
"configured SSH public key authentication for root."
|
||||||
|
msgstr ""
|
||||||
|
"openssh-server'ın önceki sürümleri parola ile kimlik doğrulama kullanılarak "
|
||||||
|
"root kullanıcısının SSH üzerinden oturum açmasına izin veriyordu. Artık yeni "
|
||||||
|
"kurulumların öntanımlı ayarı \"PermitRootLogin prohibit-password\" "
|
||||||
|
"şeklindedir. Bu ayar root kullanıcısının parola kullanarak oturum açmasını "
|
||||||
|
"yasaklar. SSH genel anahtar doğrulama yöntemine ayrıca izin veren mevcut "
|
||||||
|
"sistemler bu ayardan etkilenmez."
|
||||||
|
|
||||||
|
#. Type: boolean
|
||||||
|
#. Description
|
||||||
|
#: ../openssh-server.templates:1001
|
||||||
|
msgid ""
|
||||||
|
"This change makes systems more secure against brute-force password "
|
||||||
|
"dictionary attacks on the root user (a very common target for such attacks). "
|
||||||
|
"However, it may break systems that are set up with the expectation of being "
|
||||||
|
"able to SSH as root using password authentication. You should only make this "
|
||||||
|
"change if you do not need to do that."
|
||||||
|
msgstr ""
|
||||||
|
"Bu ayar sistemleri kaba kuvvet sözlükten parola saldırılarına karşı güvenli "
|
||||||
|
"hale getirir (root kullanıcısı bu tarz saldırıların en büyük "
|
||||||
|
"hedeflerindendir). Fakat bu ayarın etkinleştirilmesi, root kullanıcısına "
|
||||||
|
"parola doğrulama yöntemiyle oturum açılabileceği varsayımıyla hareket eden "
|
||||||
|
"sistemlerde eskiden çalışan düzenin bozulmasına sebep olacaktır. Bu "
|
||||||
|
"değişikliği yalnızca sorun çıkarmayacağından eminseniz yapın."
|
236
debian/rules
vendored
Executable file
236
debian/rules
vendored
Executable file
|
@ -0,0 +1,236 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
export DEB_BUILD_MAINT_OPTIONS := hardening=+all
|
||||||
|
|
||||||
|
include /usr/share/dpkg/default.mk
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
# export DH_VERBOSE=1
|
||||||
|
|
||||||
|
# This has to be exported to make some magic below work.
|
||||||
|
export DH_OPTIONS
|
||||||
|
|
||||||
|
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||||
|
RUN_TESTS := yes
|
||||||
|
else
|
||||||
|
RUN_TESTS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||||
|
PARALLEL :=
|
||||||
|
else
|
||||||
|
PARALLEL := \
|
||||||
|
-j$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
|
||||||
|
CC := gcc
|
||||||
|
PKG_CONFIG = pkg-config
|
||||||
|
else
|
||||||
|
CC := $(DEB_HOST_GNU_TYPE)-gcc
|
||||||
|
PKG_CONFIG = $(DEB_HOST_GNU_TYPE)-pkg-config
|
||||||
|
RUN_TESTS :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Change the version string to reflect distribution
|
||||||
|
SSH_EXTRAVERSION := $(DEB_VENDOR)-$(shell echo '$(DEB_VERSION)' | sed -e 's/.*-//; s/+salsaci+.*/+salsaci/')
|
||||||
|
|
||||||
|
UBUNTU := $(shell $(call dpkg_vendor_derives_from,Ubuntu))
|
||||||
|
ifeq ($(UBUNTU),yes)
|
||||||
|
DEFAULT_PATH := /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
|
||||||
|
else
|
||||||
|
DEFAULT_PATH := /usr/local/bin:/usr/bin:/bin:/usr/games
|
||||||
|
endif
|
||||||
|
SUPERUSER_PATH := /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
ifeq ($(UBUNTU),yes)
|
||||||
|
server_recommends := ssh-import-id
|
||||||
|
else
|
||||||
|
server_recommends :=
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Common path configuration.
|
||||||
|
confflags += --sysconfdir=/etc/ssh
|
||||||
|
confflags += --libexecdir=\$${prefix}/lib/openssh
|
||||||
|
|
||||||
|
# Common build options.
|
||||||
|
confflags += --disable-strip
|
||||||
|
confflags += --with-mantype=doc
|
||||||
|
confflags += --with-4in6
|
||||||
|
confflags += --with-privsep-path=/run/sshd
|
||||||
|
confflags += --with-pid-dir=/run
|
||||||
|
|
||||||
|
# The Hurd needs libcrypt for res_query et al.
|
||||||
|
ifeq ($(DEB_HOST_ARCH_OS),hurd)
|
||||||
|
confflags += --with-libs=-lcrypt
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Always use the internal mkdtemp; see https://bugs.debian.org/1001186.
|
||||||
|
confflags += ac_cv_func_mkdtemp=no
|
||||||
|
|
||||||
|
# ppc64el doesn't support -fzero-call-used-regs=used, but configure fails to
|
||||||
|
# detect that.
|
||||||
|
ifeq ($(DEB_HOST_ARCH),ppc64el)
|
||||||
|
confflags += ossh_cv_cflag__fzero_call_used_regs_used=no
|
||||||
|
endif
|
||||||
|
|
||||||
|
# passwd isn't otherwise needed and may not be installed at build time.
|
||||||
|
# Ensure that sshd knows its path.
|
||||||
|
confflags += PATH_PASSWD_PROG=/usr/bin/passwd
|
||||||
|
|
||||||
|
# Everything above here is common to the deb and udeb builds.
|
||||||
|
confflags_udeb := $(confflags)
|
||||||
|
|
||||||
|
# Options specific to the deb build.
|
||||||
|
confflags += --with-tcp-wrappers
|
||||||
|
confflags += --with-pam
|
||||||
|
confflags += --with-libedit
|
||||||
|
confflags += --with-kerberos5=/usr
|
||||||
|
confflags += --with-ssl-engine
|
||||||
|
confflags += --with-wtmpdb
|
||||||
|
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
||||||
|
confflags += --with-selinux
|
||||||
|
confflags += --with-audit=linux
|
||||||
|
confflags += --with-security-key-builtin
|
||||||
|
endif
|
||||||
|
|
||||||
|
# The deb build wants xauth; the udeb build doesn't.
|
||||||
|
confflags += --with-xauth=/usr/bin/xauth
|
||||||
|
confflags_udeb += --without-xauth
|
||||||
|
|
||||||
|
# Default paths. The udeb build has /usr/games removed.
|
||||||
|
confflags += --with-default-path=$(DEFAULT_PATH) --with-superuser-path=$(SUPERUSER_PATH)
|
||||||
|
confflags_udeb += --with-default-path=/usr/local/bin:/usr/bin:/bin --with-superuser-path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
|
||||||
|
# Compiler flags.
|
||||||
|
cflags := $(CPPFLAGS) $(CFLAGS)
|
||||||
|
cflags += -DSSH_EXTRAVERSION=\"$(SSH_EXTRAVERSION)\"
|
||||||
|
cflags_udeb := -Os
|
||||||
|
cflags_udeb += -DSSH_EXTRAVERSION=\"$(SSH_EXTRAVERSION)\"
|
||||||
|
confflags += --with-cflags='$(cflags)'
|
||||||
|
confflags_udeb += --with-cflags='$(cflags_udeb)'
|
||||||
|
|
||||||
|
# Linker flags.
|
||||||
|
confflags += --with-ldflags='$(strip -Wl,--as-needed $(LDFLAGS))'
|
||||||
|
confflags_udeb += --with-ldflags='-Wl,--as-needed'
|
||||||
|
|
||||||
|
ifeq ($(shell dpkg-vendor --is Ubuntu && echo yes) $(DEB_HOST_ARCH), yes i386)
|
||||||
|
BUILD_PACKAGES += -Nopenssh-tests
|
||||||
|
endif
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@ --with=runit $(BUILD_PACKAGES)
|
||||||
|
|
||||||
|
override_dh_autoreconf-indep:
|
||||||
|
|
||||||
|
override_dh_auto_configure-arch:
|
||||||
|
dh_auto_configure -Bdebian/build-deb -- $(confflags)
|
||||||
|
ifeq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
|
||||||
|
dh_auto_configure -Bdebian/build-udeb -- $(confflags_udeb)
|
||||||
|
# Avoid libnsl linkage. Ugh.
|
||||||
|
perl -pi -e 's/ +-lnsl//' debian/build-udeb/config.status
|
||||||
|
cd debian/build-udeb && ./config.status
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Nothing reads /var/log/btmp any more (see
|
||||||
|
# https://bugs.debian.org/1072184).
|
||||||
|
perl -pi -e 's,.*#define USE_BTMP .*,/* #undef USE_BTMP */,' debian/build-deb/config.h
|
||||||
|
ifeq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
|
||||||
|
perl -pi -e 's,.*#define USE_BTMP .*,/* #undef USE_BTMP */,' debian/build-udeb/config.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
override_dh_auto_configure-indep:
|
||||||
|
|
||||||
|
override_dh_auto_build-arch:
|
||||||
|
$(MAKE) -C debian/build-deb $(PARALLEL) ASKPASS_PROGRAM='/usr/bin/ssh-askpass'
|
||||||
|
$(MAKE) -C debian/build-deb regress-prep
|
||||||
|
$(MAKE) -C debian/build-deb $(PARALLEL) regress-binaries regress-unit-binaries
|
||||||
|
ifeq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
|
||||||
|
$(MAKE) -C debian/build-udeb $(PARALLEL) ASKPASS_PROGRAM='/usr/bin/ssh-askpass' ssh scp sftp sshd ssh-keygen sshd-auth sshd-session
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(filter pkg.openssh.nognome,$(DEB_BUILD_PROFILES)),)
|
||||||
|
$(MAKE) -C contrib gnome-ssh-askpass3 CC='$(CC) $(CPPFLAGS) $(CFLAGS) -Wall -Wl,--as-needed $(LDFLAGS)' PKG_CONFIG=$(PKG_CONFIG)
|
||||||
|
endif
|
||||||
|
|
||||||
|
override_dh_auto_build-indep:
|
||||||
|
|
||||||
|
override_dh_auto_test-arch:
|
||||||
|
ifeq ($(RUN_TESTS),yes)
|
||||||
|
$(MAKE) -C debian/build-deb unit compat-tests
|
||||||
|
$(MAKE) -C debian/keygen-test
|
||||||
|
debian/check-ucf-md5sums
|
||||||
|
endif
|
||||||
|
|
||||||
|
override_dh_auto_test-indep:
|
||||||
|
|
||||||
|
override_dh_auto_clean:
|
||||||
|
rm -rf debian/build-deb debian/build-udeb
|
||||||
|
ifeq ($(RUN_TESTS),yes)
|
||||||
|
$(MAKE) -C debian/keygen-test clean
|
||||||
|
endif
|
||||||
|
$(MAKE) -C contrib clean
|
||||||
|
|
||||||
|
override_dh_auto_install-arch:
|
||||||
|
$(MAKE) -C debian/build-deb DESTDIR=`pwd`/debian/tmp install-nokeys
|
||||||
|
|
||||||
|
override_dh_auto_install-indep:
|
||||||
|
|
||||||
|
override_dh_install-arch:
|
||||||
|
# Remove version control tags to avoid unnecessary conffile
|
||||||
|
# resolution steps for administrators.
|
||||||
|
sed -i '/\$$OpenBSD:/d' \
|
||||||
|
debian/tmp/etc/ssh/moduli \
|
||||||
|
debian/tmp/etc/ssh/ssh_config \
|
||||||
|
debian/tmp/etc/ssh/sshd_config
|
||||||
|
|
||||||
|
dh_install -Nopenssh-client-udeb -Nopenssh-server-udeb
|
||||||
|
ifeq ($(filter noudeb,$(DEB_BUILD_PROFILES)),)
|
||||||
|
dh_install -popenssh-client-udeb -popenssh-server-udeb \
|
||||||
|
--sourcedir=debian/build-udeb
|
||||||
|
endif
|
||||||
|
|
||||||
|
rm -f debian/openssh-tests/usr/lib/openssh/regress/misc/sk-dummy/*.lo
|
||||||
|
|
||||||
|
override_dh_installdocs:
|
||||||
|
dh_installdocs -Nopenssh-server -Nopenssh-sftp-server
|
||||||
|
dh_installdocs -popenssh-server -popenssh-sftp-server \
|
||||||
|
--link-doc=openssh-client
|
||||||
|
# Avoid breaking dh_installexamples later.
|
||||||
|
mkdir -p debian/openssh-server/usr/share/doc/openssh-client
|
||||||
|
|
||||||
|
override_dh_installinit:
|
||||||
|
dh_installinit -R --name ssh
|
||||||
|
|
||||||
|
# Can be dropped in compat level 14
|
||||||
|
execute_after_dh_installinit:
|
||||||
|
dh_installsysusers
|
||||||
|
|
||||||
|
override_dh_installsystemd:
|
||||||
|
dh_installsystemd -popenssh-server ssh.service
|
||||||
|
dh_installsystemd -popenssh-server --no-enable ssh.socket
|
||||||
|
dh_installsystemd -popenssh-server --no-start rescue-ssh.target
|
||||||
|
dh_installsystemd -popenssh-server sshd-keygen.service
|
||||||
|
|
||||||
|
debian/openssh-server.sshd.pam: debian/openssh-server.sshd.pam.in
|
||||||
|
ifeq ($(DEB_HOST_ARCH_OS),linux)
|
||||||
|
sed 's/^@IF_KEYINIT@//' $< > $@
|
||||||
|
else
|
||||||
|
sed '/^@IF_KEYINIT@/d' $< > $@
|
||||||
|
endif
|
||||||
|
|
||||||
|
override_dh_installpam: debian/openssh-server.sshd.pam
|
||||||
|
dh_installpam --name sshd
|
||||||
|
|
||||||
|
override_dh_runit:
|
||||||
|
dh_runit -popenssh-server
|
||||||
|
|
||||||
|
execute_after_dh_fixperms-arch:
|
||||||
|
chmod u+s debian/openssh-client/usr/lib/openssh/ssh-keysign
|
||||||
|
|
||||||
|
# Work around debhelper/dh-exec bug #1017023.
|
||||||
|
override_dh_missing:
|
||||||
|
dh_missing --list-missing
|
||||||
|
|
||||||
|
override_dh_gencontrol:
|
||||||
|
dh_gencontrol -- -V'openssh-server:Recommends=$(server_recommends)'
|
51
debian/run-tests
vendored
Executable file
51
debian/run-tests
vendored
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
#! /bin/sh
|
||||||
|
# Run installed OpenSSH regression tests.
|
||||||
|
|
||||||
|
tmp="$1"
|
||||||
|
if [ -z "$tmp" ]; then
|
||||||
|
tmp="$(mktemp -d)"
|
||||||
|
cleanup () {
|
||||||
|
rm -rf "$tmp"
|
||||||
|
}
|
||||||
|
trap cleanup EXIT
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
set -- tests interop-tests
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy the regression tests to a fresh directory; this is easier than trying
|
||||||
|
# to pick apart which ones need write access.
|
||||||
|
cp -a /usr/lib/openssh/regress "$tmp/regress"
|
||||||
|
|
||||||
|
ret=0
|
||||||
|
make -C "$tmp/regress" \
|
||||||
|
.OBJDIR="$tmp/regress" \
|
||||||
|
.CURDIR="$tmp/regress" \
|
||||||
|
BUILDDIR="$tmp/regress" \
|
||||||
|
OBJ="$tmp/regress" \
|
||||||
|
SUDO=sudo \
|
||||||
|
TEST_SHELL=/bin/sh \
|
||||||
|
TEST_SSH_SSH=/usr/bin/ssh \
|
||||||
|
TEST_SSH_SSHD_AUTH=/usr/lib/openssh/sshd-auth \
|
||||||
|
TEST_SSH_SSHD_SESSION=/usr/lib/openssh/sshd-session \
|
||||||
|
TEST_SSH_SFTPSERVER=/usr/lib/openssh/sftp-server \
|
||||||
|
TEST_SSH_PLINK=/usr/bin/plink \
|
||||||
|
TEST_SSH_PUTTYGEN=/usr/bin/puttygen \
|
||||||
|
TEST_SSH_CONCH=/usr/bin/conch3 \
|
||||||
|
TEST_SSH_DROPBEAR=/usr/bin/dropbear \
|
||||||
|
TEST_SSH_DROPBEARKEY=/usr/bin/dropbearkey \
|
||||||
|
TEST_SSH_DROPBEARCONVERT=/usr/bin/dropbearconvert \
|
||||||
|
TEST_SSH_DBCLIENT=/usr/bin/dbclient \
|
||||||
|
TEST_SSH_IPV6=yes \
|
||||||
|
TEST_SSH_ECC=yes \
|
||||||
|
TEST_SSH_UNSAFE_PERMISSIONS=1 \
|
||||||
|
"$@" || ret="$?"
|
||||||
|
if [ "$ret" -ne 0 ]; then
|
||||||
|
for log in failed-regress.log failed-ssh.log failed-sshd.log; do
|
||||||
|
if [ -e "$tmp/regress/$log" ]; then
|
||||||
|
tail -v -n+0 "$tmp/regress/$log"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
exit "$ret"
|
13
debian/salsa-ci.yml
vendored
Normal file
13
debian/salsa-ci.yml
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
include:
|
||||||
|
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
|
||||||
|
|
||||||
|
variables:
|
||||||
|
SALSA_CI_ENABLE_BUILD_PACKAGE_PROFILES: 1
|
||||||
|
|
||||||
|
test-build-profiles:
|
||||||
|
extends: .test-build-package-profiles
|
||||||
|
parallel:
|
||||||
|
matrix:
|
||||||
|
- BUILD_PROFILES: noudeb
|
||||||
|
- BUILD_PROFILES: pkg.openssh.nognome
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue