summaryrefslogtreecommitdiffstats
path: root/usr.bin/ssh/auth.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* move subprocess() from auth.c to misc.cdjm2020-12-221-7/+1
| | | | | | | | | | make privilege dropping optional but allow it via callbacks (to avoid need to link uidswap.c everywhere) add some other flags (keep environment, disable strict path safety check) that make this more useful for client-side use. feedback & ok markus@
* fixes for !WITH_OPENSSL compilation; ok dtucker@djm2019-09-061-3/+1
|
* remove last references to active_statedjm2019-01-191-5/+5
| | | | with & ok markus@
* convert auth.c to new packet APIdjm2019-01-191-6/+6
| | | | with & ok markus@
* convert auth2.c to new packet APIdjm2019-01-191-2/+2
|
* lots of typos in comments/docs. Patch from Karsten Weiss after checkingdjm2018-04-101-2/+2
| | | | with codespell tool (https://github.com/lucasdemarchi/codespell)
* switch over to the new authorized_keys options API and remove thedjm2018-03-031-5/+18
| | | | | | | | | legacy one. Includes a fairly big refactor of auth2-pubkey.c to retain less state between key file lines. feedback and ok markus@
* move subprocess() so scp/sftp do not need uidswap.o; ok djm@markus2018-01-081-1/+7
|
* Move several subprocess-related functions from various locations todjm2017-08-181-5/+1
| | | | | | | misc.c. Extend subprocess() to offer a little more control over stdio disposition. feedback & ok dtucker@
* refactor authentication loggingdjm2017-06-241-14/+31
| | | | | | | optionally record successful auth methods and public credentials used in a file accessible to user sessions feedback and ok markus@
* switch auth2 to ssh_dispatch API; ok djm@markus2017-05-301-5/+5
|
* switch from Key typedef with struct sshkey; ok djm@markus2017-05-301-13/+14
|
* remove ssh1 server code; ok djm@markus2016-08-131-16/+2
|
* missing const in prototypes (ssh1)markus2016-05-041-2/+3
|
* refactor canohost.c: move functions that cache results closer to thedjm2016-03-071-1/+3
| | | | | | | places that use them (authn and session code). After this, no state is cached in canohost.c feedback and ok markus@
* implement SHA2-{256,512} for RSASSA-PKCS1-v1_5 signatures (user and host auth)markus2015-12-041-2/+2
| | | | | based on draft-rsa-dsa-sha2-256-03.txt and draft-ssh-ext-info-04.txt; with & ok djm@
* remove prototypes for long-gone s/key support; ok dtucker@djm2015-11-111-3/+1
|
* whitespace at EOLdjm2015-05-081-2/+2
|
* prevent authorized_keys options picked up on public key tests withoutdjm2015-05-011-2/+2
| | | | | a corresponding private key authentication being applied to other authentication methods. Reported by halex@, ok markus@
* Revise hostkeys@openssh.com hostkey learning extension.djm2015-02-161-3/+4
| | | | | | | | | | The client will not ask the server to prove ownership of the private halves of any hitherto-unseen hostkeys it offers to the client. Allow UpdateHostKeys option to take an 'ask' argument to let the user manually review keys offered. ok markus@
* correctly match ECDSA subtype (== curve) for offered/recevieddjm2015-01-261-3/+3
| | | | | | | | host keys. Fixes connection-killing host key mismatches when a server offers multiple ECDSA keys with different curve type (an extremely unlikely configuration). ok markus, "looks mechanical" deraadt@
* adapt kex to sshbuf and struct ssh; ok djm@markus2015-01-191-6/+7
|
* remember which public keys have been used for authentication anddjm2014-12-221-1/+8
| | | | | | | | | refuse to accept previously-used keys. This allows AuthenticationMethods=publickey,publickey to require that users authenticate using two _different_ pubkeys. ok markus@
* make the "Too many authentication failures" message include thedjm2014-07-031-3/+2
| | | | | user, source address, port and protocol in a format similar to the authentication success / failure messages; bz#2199, ok dtucker
* remove experimental, never-enabled JPAKE code; ok markus@djm2014-01-291-5/+1
|
* add ssh-agent(1) support to sshd(8); allows encrypted hostkeys,markus2013-07-191-1/+3
| | | | | or hostkeys on smartcards; most of the work by Zev Weiss; bz #1974 ok djm@
* for hostbased authentication, print the client host and user ondjm2013-06-211-2/+3
| | | | the auth success/failure line; bz#2064, ok dtucker@
* Standardise logging of supplemental information during userauth. Keysdjm2013-05-191-3/+7
| | | | | | | | | | and ruser is now logged in the auth success/failure message alongside the local username, remote host/port and protocol in use. Certificates contents and CA are logged too. Pushing all logging onto a single line simplifies log analysis as it is no longer necessary to relate information scattered across multiple log entries. "I like it" markus@
* add submethod support to AuthenticationMethods; ok and freedback djm@markus2013-03-071-2/+3
|
* Fixes logging of partial authentication when privsep is enableddjm2012-12-021-4/+5
| | | | | | | | | | | | | Previously, we recorded "Failed xxx" since we reset authenticated before calling auth_log() in auth2.c. This adds an explcit "Partial" state. Add a "submethod" to auth_log() to report which submethod is used for keyboard-interactive. Fix multiple authentication when one of the methods is keyboard-interactive. ok markus@
* Support multiple required authentication via an AuthenticationMethodsdjm2012-11-041-1/+6
| | | | | | | option. This option lists one or more comma-separated lists of authentication method names. Successful completion of all the methods in any list is required for authentication to complete; feedback and ok markus@
* new sshd_config option AuthorizedKeysCommand to support fetchingdjm2012-10-301-1/+5
| | | | | | | | | authorized_keys from a command in addition to (or instead of) from the filesystem. The command is run as the target server user unless another specified via a new AuthorizedKeysCommandUser option. patch originally by jchadima AT redhat.com, reworked by me; feedback and ok markus@
* allow AuthorizedKeysFile to specify multiple files, separated by spaces.djm2011-05-231-2/+2
| | | | | | | | | Bring back authorized_keys2 as a default search path (to avoid breaking existing users of this file), but override this in sshd_config so it will be no longer used on fresh installs. Maybe in 2015 we can remove it entierly :) feedback and ok markus@ dtucker@
* remove support for authorized_keys2; it is a relic from the early daysdjm2011-05-111-2/+1
| | | | | of protocol v.2 support and has been undocumented for many years; ok markus@
* allow GSSAPI authentication to detect when a server-side failure causesdjm2011-03-101-1/+2
| | | | | authentication failure and don't count such failures against MaxAuthTries; bz#1244 from simon AT sxw.org.uk; ok markus@ before lock
* add some optional indirection to matching of principal names listeddjm2010-05-071-1/+3
| | | | | | | | | | | | | | | | | | | | | 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@
* Add a TrustedUserCAKeys option to sshd_config to specify CA keys thatdjm2010-03-041-1/+2
| | | | | | | | | | | are trusted to authenticate users (in addition than doing it per-user in authorized_keys). Add a RevokedKeys option to sshd_config and a @revoked marker to known_hosts to allow keys to me revoked and banned for user or host authentication. feedback and ok markus@
* Add support for certificate key types for users and hosts.djm2010-02-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | OpenSSH certificate key types are not X.509 certificates, but a much simpler format that encodes a public key, identity information and some validity constraints and signs it with a CA key. CA keys are regular SSH keys. This certificate style avoids the attack surface of X.509 certificates and is very easy to deploy. Certified host keys allow automatic acceptance of new host keys when a CA certificate is marked as trusted in ~/.ssh/known_hosts. see VERIFYING HOST KEYS in ssh(1) for details. Certified user keys allow authentication of users when the signing CA key is marked as trusted in authorized_keys. See "AUTHORIZED_KEYS FILE FORMAT" in sshd(8) for details. Certificates are minted using ssh-keygen(1), documentation is in the "CERTIFICATES" section of that manpage. Documentation on the format of certificates is in the file PROTOCOL.certkeys feedback and ok markus@
* remove unused define. markus@ ok.fgsch2009-08-151-2/+1
|
* Add support for an experimental zero-knowledge password authenticationdjm2008-11-041-1/+5
| | | | | | | | | | | | | | | | method using the J-PAKE protocol described in F. Hao, P. Ryan, "Password Authenticated Key Exchange by Juggling", 16th Workshop on Security Protocols, Cambridge, April 2008. This method allows password-based authentication without exposing the password to the server. Instead, the client and server exchange cryptographic proofs to demonstrate of knowledge of the password while revealing nothing useful to an attacker or compromised endpoint. This is experimental, work-in-progress code and is presently compiled-time disabled (turn on -DJPAKE in Makefile.inc). "just commit it. It isn't too intrusive." deraadt@
* Merge duplicate host key file checks, based in part on a patch from Robdtucker2008-07-021-3/+2
| | | | | Holland via bz #1348 . Also checks for non-regular files during protocol 1 RSA auth. ok djm@
* unifdef -DBSD_AUTHdjm2007-09-211-5/+1
| | | | | | | unifdef -USKEY These options have been in use for some years; ok markus@ "no objection" millert@
* login_cap.h doesn't belong heredjm2007-08-231-4/+1
|
* delay authentication related cleanups until we're authenticated andmarkus2006-08-181-1/+2
| | | | all alarms have been cancelled; ok deraadt
* almost entirely get rid of the culture of ".h files that include .h files"deraadt2006-08-031-9/+2
| | | | | ok djm, sort of ok stevesk makes the pain stop in one easy step
* move #include <stdio.h> out of includes.hstevesk2006-08-011-1/+2
|
* #include <signal.h> for sig_atomic_t; need this prior to <sys/param.h>stevesk2006-07-231-1/+2
| | | | move
* move #include <pwd.h> out of includes.h; ok markus@stevesk2006-07-061-3/+8
|
* replace the last non-sig_atomic_t flag used in a signal handler with adjm2006-04-201-2/+2
| | | | | sig_atomic_t, unfortunately with some knock-on effects in other (non- signal) contexts in which it is used; ok markus@
* standardise spacing in $OpenBSD$ tags; requested by deraadt@djm2006-03-251-1/+1
|