| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
indentation on continuation lines. Prompted by GHPR#185
|
|
|
|
| |
appending ssh_err(r) manually; ok markus@
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a "verify-required" authorized_keys flag and a corresponding
sshd_config option that tells sshd to require that FIDO keys verify the
user identity before completing the signing/authentication attempt.
Whether or not user verification was performed is already baked into the
signature made on the FIDO token, so this is just plumbing that flag
through and adding ways to require it.
feedback and ok markus@
|
| |
|
|
|
|
|
|
|
|
| |
While freezero() returns early if the pointer is NULL the tests for
NULL in callers are left to avoid warnings about passing an
uninitialised size argument across a function boundry.
ok deraadt@ djm@
|
|
|
|
|
|
|
|
| |
extension for certificates. This option disables the default
requirement that security key signatures attest that the user touched
their key to authorize them.
feedback deraadt, ok markus
|
|
|
|
| |
David Carlier. ok djm@.
|
|
|
|
|
| |
include various system headers (mostly stdlib.h); include them
explicitly
|
|
|
|
| |
them public; ok markus@
|
|
|
|
| |
parse on a single authorized_keys line; ok deraadt@
|
|
|
|
| |
ok millert nicm tb, etc
|
|
|
|
| |
names as well as explicit paths. ok dtucker@
|
|
|
|
|
|
|
|
|
|
|
|
| |
PermitListen 2222 8080
is equivalent to:
PermitListen *:2222 *:8080
Some bonus manpage improvements, mostly from markus@
"looks fine" markus@
|
|
|
|
| |
commits last night
|
|
|
|
|
| |
authorized_keys lines that contained permitopen/permitlisten were
being treated as invalid.
|
| |
|
|
|
|
|
| |
underscores in variable names (regression introduced in 7.7).
bz2851, ok deraadt@
|
|
|
|
|
| |
as the former is confusing wrt similar terminology in X.509;
pointed out by jsing@
|
|
|
|
| |
giving a key an expiry date. ok markus@
|
|
|
|
|
|
|
|
|
| |
legacy one.
Includes a fairly big refactor of auth2-pubkey.c to retain less state
between key file lines.
feedback and ok markus@
|
|
|
|
|
|
|
|
|
| |
parses options to a dedicated structure rather than the old API's
approach of setting global state. It also includes support for merging
options, e.g. from authorized_keys, authorized_principals and/or
certificates.
feedback and ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move static state to a "struct ssh_channels" that is allocated at
runtime and tracked as a member of struct ssh.
Explicitly pass "struct ssh" to all channels functions.
Replace use of the legacy packet APIs in channels.c.
Rework sshd_config PermitOpen handling: previously the configuration
parser would call directly into the channels layer. After the refactor
this is not possible, as the channels structures are allocated at
connection time and aren't available when the configuration is parsed.
The server config parser now tracks PermitOpen itself and explicitly
configures the channels code later.
ok markus@
|
|
|
|
| |
principals-command regress test); ok bluhm
|
|
|
|
|
|
|
|
|
|
| |
authorized keys/principals command= restriction, 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 confused and more error-prone.
Pointed out by Jann Horn of Project Zero; ok dtucker@
|
|
|
|
|
|
|
| |
places that use them (authn and session code). After this, no state is
cached in canohost.c
feedback and ok markus@
|
|
|
|
| |
ok dtucker@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and future key restrictions (no-*-forwarding, etc). Also add permissive
versions of the existing restrictions, e.g. "no-pty" -> "pty". This
simplifies the task of setting up restricted keys and ensures they are
maximally-restricted, regardless of any permissions we might implement
in the future.
Example:
restrict,pty,command="nethack" ssh-ed25519 AAAAC3NzaC1lZDI1...
Idea from Jann Horn; ok markus@
|
| |
|
|
|
|
|
|
|
|
| |
on PermitUserEnv - always parse it, but only use the result if the
option is enabled. This prevents the syntax of authorized_keys changing
depending on which sshd_config options were enabled.
bz#2329; based on patch from coladict AT gmail.com, ok dtucker@
|
|
|
|
|
| |
when they are encountered; bz#2387 reported by Bob Van Zant;
ok dtucker@
|
| |
|
|
|
|
|
|
|
|
| |
may be forwarded to a local Unix domain socket and vice versa or
both ends may be a Unix domain socket. This is a reimplementation
of the streamlocal patches by William Ahern from:
http://www.25thandclement.com/~william/projects/streamlocal.html
OK djm@ markus@
|
|
|
|
|
|
|
|
|
| |
existing API is offered as a set of wrappers.
with and ok markus@
Thanks also to Ben Hawkes, David Tomaschik, Ivan Fratric, Matthew
Dempsky and Ron Bowes for a detailed review a few months ago.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
current "yes"/"no" to allow the server to specify whether just local or
remote TCP forwarding is enabled. ok markus@
|
|
|
|
| |
implicitly by buffer_get_cstring; ok markus
|
|
|
|
| |
localhost:*". bz #1857, ok djm markus.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
string extracted from the buffer contains no embedded \0 characters*
This prevents random (possibly malicious) crap from being appended to
strings where it would not be noticed if the string is used with
a string(3) function.
Use the new API in a few sensitive places.
* actually, we allow a single one at the end of the string for now because
we don't know how many deployed implementations get this wrong, but don't
count on this to remain indefinitely.
|
|
|
|
|
|
|
|
| |
certificates. The logic is that if another implementation fails to
implement them then the connection just loses features rather than fails
outright.
ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in certificates. Currently, a certificate must include the a user's name
to be accepted for authentication. This change adds the ability to
specify a list of certificate principal names that are acceptable.
When authenticating using a CA trusted through ~/.ssh/authorized_keys,
this adds a new principals="name1[,name2,...]" key option.
For CAs listed through sshd_config's TrustedCAKeys option, a new config
option "AuthorizedPrincipalsFile" specifies a per-user file containing
the list of acceptable names.
If either option is absent, the current behaviour of requiring the
username to appear in principals continues to apply.
These options are useful for role accounts, disjoint account namespaces
and "user@realm"-style naming policies in certificates.
feedback and ok markus@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
following changes:
move the nonce field to the beginning of the certificate where it can
better protect against chosen-prefix attacks on the signature hash
Rename "constraints" field to "critical options"
Add a new non-critical "extensions" field
Add a serial number
The older format is still support for authentication and cert generation
(use "ssh-keygen -t v00 -s ca_key ..." to generate a v00 certificate)
ok markus@
|
| |
|
|
|
|
|
| |
Fixes an info leak of environment variables specified in authorized_keys,
reported by Jacob Appelbaum. ok djm@
|
|
|
|
| |
imorgan AT nas.nasa.gov
|
|
|
|
| |
principal names and constraints
|