Re: [netconf] Latest ietf-netconf-server draft and related modules

Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> Tue, 27 April 2021 21:00 UTC

Return-Path: <J.Schoenwaelder@jacobs-university.de>
X-Original-To: netconf@ietfa.amsl.com
Delivered-To: netconf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B28A03A2058 for <netconf@ietfa.amsl.com>; Tue, 27 Apr 2021 14:00:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MSGID_FROM_MTA_HEADER=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OdpW3nzTIXet for <netconf@ietfa.amsl.com>; Tue, 27 Apr 2021 14:00:52 -0700 (PDT)
Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2080.outbound.protection.outlook.com [40.107.21.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7CB183A2057 for <netconf@ietf.org>; Tue, 27 Apr 2021 14:00:51 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cf97eu6O9lR2tgK/X79iR4+lg4eBdwNAlSw6ALM26MmbldcxKyfJpAEEqSORKst7HFPiOg+/8Vj25886JjKfBFo6/m2bhI5EqJuHD3vYpZWFToTsccfZhXaAFYE8hxzzRmMLkMezL5X8/ngFDiK2aWCYVDVlXs8pzPGnzxuAUegImeSpy75riEp2yVxPO0e3OVO5Pxb4R8iAC2Uaq3VAmQE75qn0sqUQTmo5jrhCGoGIW1pBBF1uFFLhAzsdUOIWsicb4XED3pSiKFdHxGQK9AijZ8F7gKZQSC08SpmrgvYnW8CwdOzR+iEGAvCCNlg7TyCYYENU4/MmjpflzqxCaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=heeZ7SI4kOul2c2m4Jtd8/2E+Cw4MptzhB8QfvwOVj4=; b=GYSOK9GjY26DMLK9FHL5ADYZiO0xDlurnQzlN8utnRTLNByFq+VP2pgrKTgi754cH4IADMgsrmHntFLJNdT1LxMJjb+BhHXUYl7PRQQS/6Sop0mDnkS+HahQMLODKhM9Hrs9tj09uo3EAIRAC6YPALgvFCl46P/v5rufJ2HW1U9Dvp0MJnbnf5OHXgE/4OKw46u40nTVYNHdPwrd7VjKW3CLN+QTMVnmfaW/JuVwvzhenYkGlPcV9Mo73FrzwWUxXSKJnaI7Rvgot5vf2p1MeeO7t6z2N2sPHgoqgB/nZucEahwaU6fsh5dLSX/eg6ir6dDFDziDUxqA4ATOxAkyIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=heeZ7SI4kOul2c2m4Jtd8/2E+Cw4MptzhB8QfvwOVj4=; b=R3qev2gNpFcC8ujHtt9qyVQoMHiP2J4JLPC8E1fsbtZ6DbTGwf5z/R0xLaGzI+iiB0uY9iQC8rYnweN+c6avMfmlIzsfBtnqbDHENrCVm3FZxZhJE8Q+VXLcL1lNNPKVgjZFxaqw1HWduuxmUH877CH0vX38kkNoqfAC0jAErjk=
Authentication-Results: watsen.net; dkim=none (message not signed) header.d=none;watsen.net; dmarc=none action=none header.from=jacobs-university.de;
Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23) by AM9P190MB1444.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:3e9::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.21; Tue, 27 Apr 2021 21:00:48 +0000
Received: from AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::fd93:9b33:ac92:ea58]) by AM0P190MB0641.EURP190.PROD.OUTLOOK.COM ([fe80::fd93:9b33:ac92:ea58%8]) with mapi id 15.20.4087.026; Tue, 27 Apr 2021 21:00:48 +0000
Date: Tue, 27 Apr 2021 23:00:46 +0200
From: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
To: Kent Watsen <kent+ietf@watsen.net>
Cc: Michal =?utf-8?B?VmHFoWtv?= <mvasko@cesnet.cz>, "netconf@ietf.org" <netconf@ietf.org>
Message-ID: <20210427210046.gtfcwwf5kefxfme5@anna.jacobs.jacobs-university.de>
Reply-To: Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de>
Mail-Followup-To: Kent Watsen <kent+ietf@watsen.net>, Michal =?utf-8?B?VmHFoWtv?= <mvasko@cesnet.cz>, "netconf@ietf.org" <netconf@ietf.org>
References: <20210426172143.hhhebmeudv23dvkr@anna.jacobs.jacobs-university.de> <78fd-6087b600-7b-59cd2c00@214199368> <20210427073236.7s5fx2jzgs4hvhtc@anna.jacobs.jacobs-university.de> <0100017913b7c3d4-e03a2d29-4b0f-4820-bee9-56f532679207-000000@email.amazonses.com> <20210427155544.pd7bmt2hdztx2zui@anna.jacobs.jacobs-university.de> <0100017914bb076f-9fb97a64-b35a-474d-9222-9be5ec784aaf-000000@email.amazonses.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0100017914bb076f-9fb97a64-b35a-474d-9222-9be5ec784aaf-000000@email.amazonses.com>
X-Originating-IP: [212.201.44.244]
X-ClientProxiedBy: PR3P189CA0064.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::9) To AM0P190MB0641.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:194::23)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from localhost (212.201.44.244) by PR3P189CA0064.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:b4::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.22 via Frontend Transport; Tue, 27 Apr 2021 21:00:47 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 91f53f95-9aba-4682-e630-08d909bf8850
X-MS-TrafficTypeDiagnostic: AM9P190MB1444:
X-MS-Exchange-Transport-Forked: True
X-Microsoft-Antispam-PRVS: <AM9P190MB1444898A31AEB30324D8F543DE419@AM9P190MB1444.EURP190.PROD.OUTLOOK.COM>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: OBPSkZkkFOcebY9XULn/iq/I5mN4WYbrNThuwGjh06/RtnV3+01hv6nMybucAWsgAQUUGPwZBcKdokQVBZ7m8rV+umoLnovJvpn8g7mrlInHkvk2M5eZJNE5YKR/VWfAQHFEG9a7Xu+JAgJTPZuuIAoUZi8v3Z9d+Vy7WrSIVfpsuqMJ0q815898QEaeHazoz03qwn96U90BIF059gR9Ngcl4fGqWtanfOt2rCwdoGIbx5GEI73+wKzBWGnFzvGDx/83odRL3eY8Xtx4QB8G69Q8ldpMZFUf//TGTKGBkSYGFCowSWjq8Oe1wyOCkupubJ23IoQGMcJpFqaGH98Ju8x14TnRo3HmvD/vXX1I7ajW3bBBos5Kjrnpc1D8Uuk68uM/BHS4VdjcitrYtwx/RtPJ2DIppf9qV8fsj5IGwDNv3P1LIpJlCcCzNJVLrIgJ0g9U//bYigJBqvtEgAQgSahj9lYAYhdRbKz+Xoad/s5n+XxpIrn5BX1JrqV9XOen6I7UpumbsWEqcm254Nkp2At5MuuBfQ1N4jpVUdvnXXtxsHQisfQTZDcqtMQv4jhucAu9N6ch2T8SkM9jupvyRNSD2ED5cTMdjrurHXklacY32KFx1is5p8vVtnmYOO+k4jkZI9c+EI3K75W3e6SmXo2euGbcljZrKTzmPtqNbd/sb7wxtawA8fhE/KSXAZQUrNm5Snm+XdAaj6SHnC452ya56TwcCCILm7ItXzfJMvslixG7rYRCcGcHnoWr6c5IsyLJ+3Ze6kJZHojjElx7Ew==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0P190MB0641.EURP190.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(376002)(39850400004)(346002)(136003)(396003)(316002)(786003)(1076003)(8676002)(30864003)(4326008)(5660300002)(54906003)(6486002)(966005)(6496006)(8936002)(86362001)(956004)(478600001)(83380400001)(26005)(53546011)(16526019)(186003)(66556008)(3450700001)(66946007)(38350700002)(66476007)(38100700002)(66574015)(2906002)(52116002)(263294002); DIR:OUT; SFP:1101;
X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?OCtpaEplRzlrcDV5ZFNFWS9WL214cDVWbXhqZWdjd1ZWV01pZTJxU2tQWHdx?= =?utf-8?B?V1NiQ0ExU2pFTnNrU21NOWFBa3JJZU5WbUYyNFBsQmtMcjVwZ05UaURrSHVW?= =?utf-8?B?OTc3VWs0TmU5ckQ3dVg3MkxFUFA2dzlYb2VCaFk4cEpKMFFibW56ci9HVzY4?= =?utf-8?B?NEtxcTY2OFRBMUQvZDczYjJvNFVGTzBuMUw1NXJlUHNtK1hFbUMrM0lWL3o2?= =?utf-8?B?eUUrVVBjdUV6RnpYdGZMOG94dnBEZTlXS0lDYUdMY2hTMzBtZlNjbUw5N2Ja?= =?utf-8?B?SEtjT1ZxZVRZQ0RmU2QrbU44SlJoZEhzKytHSGxvQU1yY2V5UWhzOG1IZFdG?= =?utf-8?B?SisxOTMxM1BoV1Q1Z3pGNHJBMnpWUnRSOUlwYms1YjRFbStnaHJmUGFOVnZs?= =?utf-8?B?UGo0RnlJem5hK2pmTnVNOEFad1hOZ21vQUZXQUhFQjZpNnlEOXBXckUzb1Nt?= =?utf-8?B?SDhnOUtiTldPbE91U29KaTlsZ01jSCsrSEhlczdBeG1yS3J4SUxQcC9VbFJV?= =?utf-8?B?VGI2WUd3aWNDL252ZnJtbVQ1T2xoUm9YVm5CN2NEditDUHBlMnlPREw1MDQ1?= =?utf-8?B?azhTR0xNUzlpOFZ0WVBpS3RCZmFTdWMySXNyZklyV3dQcFJ1QXJUYUE5T29L?= =?utf-8?B?UG5Ra0FncWJ4ek1wMVROQWhlZmEzYjlzU2tGZHBNTEJhYTNybHNYV29WRFZ2?= =?utf-8?B?RGtrbzlRVndlUDBLMWtNZlRyTkMyN3pPZk9PenQ1RjU4SlcxVThoR0lRcDR5?= =?utf-8?B?WmZKcnErMllhb3RKYm5qZm1HaUdSTTI0Y2pqNTFEN3BLamEvb1dWY0xaZXpo?= =?utf-8?B?bWhZcHppQitiL3B3NWE0dTJTbzJublVYTTNTRjBYaHNLNS9GQzRHSC96UVkr?= =?utf-8?B?a0hqS1NMdmx4TWZlVHI3M0RDZi9UVDZOeFJOSlF5MmFpOUw2alZCTUNhbHVh?= =?utf-8?B?NzdrZXNHNytmM3ZndEo0ZU9MYUlqR1JiWEVueWhDL1oweWtHZ0I3Z3Jscmcy?= =?utf-8?B?RVRLV2FGSXlia0F5ajFBVzY5WWdUdjRHOUlKRUV3RkRPNGY1MW5zYTJqWW9D?= =?utf-8?B?TTBvUUVmRFgyRU1ZaWVWVDZyZzVic0pVRElva3NScVlBVzIzbHM3OEdwcDN3?= =?utf-8?B?bWdQbVBtUjFxR2NBbDNrbmtaWHMyU0tLTUZhTk1nMUNsbUszQVJWNUUyWFNm?= =?utf-8?B?OEkrZ2JEVXZIOVNDbmtWaVVGWWVsZUMxd2hSdVJ6NDY2M1l5bGU5aHc3M0tn?= =?utf-8?B?MGFpNVIxUnM2Z1RoZTM1SmVFci9CS0lMSk9UWGcxUnc1N2tvNUk5aE1JZ3A4?= =?utf-8?B?RFQveStZVEp2dzFKZmtUdmpxcVdyc3Vta2JybFZCU1B0NU5qdS82QTdObDJ1?= =?utf-8?B?cGNZMHhZQmlPNkkxbHErcDVvY3ZyeHZGQm5FeG1qVEVycnk0SzZWZXRjeUg2?= =?utf-8?B?eHR5L0tScG1DaTRzaGhoY09kYzJTNlFTbFVPbzR6L2ROZVNGRHhxdnF2SGx3?= =?utf-8?B?L1hWamlJVll0Nk9zVS9IUGRtcDUvM3BvbkE3ci9XT1BsdWFGMGRWZ2ZXeDBt?= =?utf-8?B?U0hRcTNkZEQwbUh1SS8xRjAwaVZJT2hQYVhRc1JIcHZodWNvdXZ5MFROS2Nt?= =?utf-8?B?M0M4WHMzcWg2dG9Sc3B3bSsrUjQzR1lpTDR0TklvVHM2SENvMzV4TGkxdjRq?= =?utf-8?B?b00yWmV4WEpKcnYzSmFURTZrZWwvamdVNWF6NXh4NGsvbnllZVREVU0yNlpC?= =?utf-8?Q?B1bW74HjScor1ThQukT4YTcusIjw7HAdjGW2nTX?=
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 91f53f95-9aba-4682-e630-08d909bf8850
X-MS-Exchange-CrossTenant-AuthSource: AM0P190MB0641.EURP190.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Apr 2021 21:00:48.1565 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c5oZDCugwdptXHvbzOQILr+Jc0mUvWg6xwRDF/V3q0tCqcj7swnd/JUa3JX4y/devTXqGNMvc2J5cD52vgSt90Vx79k8WS9G4OzkHl83Cpo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9P190MB1444
Archived-At: <https://mailarchive.ietf.org/arch/msg/netconf/v2pO1OnfJZ8kPKOIj7_cGibF-Zc>
Subject: Re: [netconf] Latest ietf-netconf-server draft and related modules
X-BeenThere: netconf@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <netconf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netconf>, <mailto:netconf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netconf/>
List-Post: <mailto:netconf@ietf.org>
List-Help: <mailto:netconf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netconf>, <mailto:netconf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Apr 2021 21:00:57 -0000

On the SSH server side, we have this:

       |  +-- users {client-auth-config-supported}?
       |  |  +-- user* [name]
       |  |     +-- name?          string
       |  |     +-- public-keys! {client-auth-publickey}?
       |  |     |  +---u ts:local-or-truststore-public-keys-grouping
       |  |     +-- password?      ianach:crypt-hash
       |  |     |       {client-auth-password}?
       |  |     +-- hostbased! {client-auth-hostbased}?
       |  |     |  +---u ts:local-or-truststore-public-keys-grouping
       |  |     +-- none?          empty {client-auth-none}?
       |  +-- ca-certs!
       |  |       {client-auth-config-supported,sshcmn:ssh-x509-certs}?
       |  |  +---u ts:local-or-truststore-certs-grouping
       |  +-- ee-certs!
       |          {client-auth-config-supported,sshcmn:ssh-x509-certs}?
       |     +---u ts:local-or-truststore-certs-grouping

On the TLS side, we have this:

       +-- client-authentication! {client-auth-config-supported}?
       |  +-- ca-certs! {x509-certificate-auth}?
       |  |  +---u ts:local-or-truststore-certs-grouping
       |  +-- ee-certs! {x509-certificate-auth}?
       |  |  +---u ts:local-or-truststore-certs-grouping
       |  +-- raw-public-keys! {raw-public-key-auth}?
       |  |  +---u ts:local-or-truststore-public-keys-grouping
       |  +-- psks?              empty {psk-auth}?

On the HTTP side, we have this:

       +-- client-authentication! {client-auth-config-supported}?
          +-- users
             +-- user* [user-id]
		+-- user-id?       string
		+-- (auth-type)?
                   +--:(basic)
                      +-- basic {basic-auth}?
                         +-- user-id?    string
                         +-- password?   ianach:crypt-hash

What exactly is the problem?

a) Is the issue that there is no support for keyboard-interactive in
   the SSH model?

b) Is the issue that there is no support for non-local user databases
   for SSH and HTTP authentication?

Personally, I would be fine to go ahead with these limitations as long
as we have the structure in place to add things later (e.g., once
vendors have prototyped extensions paving the way to a standard
solution).

/js

On Tue, Apr 27, 2021 at 07:07:52PM +0000, Kent Watsen wrote:
> Hi Juergen,
> 
> I’m familiar with how PAM et. al. works.  The question in front of us is what the “server” models should look like, specially the SSH and HTTP server models, as they are the only two that have a “users” subtree.
> 
> The TLS model (just like the SSH and HTTP models) has a “client-authentication” subtree, but it’s wholly leafrefs into the truststore, and hence no “users” need to be locally defined.
> 
> All three models have a "client-auth-config-supported” feature (possibly better named 'client-auth-local-config”) that enables the “client-authentication” subtree.  This is in recognition that the models can go only so far, and it’s expected that application-specific augments may be needed.
> 
> In my view, the TLS "client-authentication” subtree is likely good for most production environments, whereas the SSH and HTTP subtrees are good for simple environments with small number of users.  For instance, the HTTP-subtree is most like an `htpasswd` database.  The SSH-subtree is intended to be equally simple...
> 
> [Michal: was/is your use simple?  Knowing that “keyboard-interactive” isn’t simple, my query is more in terms of the total number of users…]
> 
> K.
> 
> Disclaimer: I have no hands-on experience with either the SSH or HTTP "client-authentication” nodes.  My RESTCONF server implements the "restconf-server-app-grouping” and supports both TLS- and HTTP- level client auth, but it uses the "client-authentication” node only from the TLS model, as it was more intuitive to maintain a distinct “user” model than to define users in the “http-server-parameters” grouping inside the part of the data model for configuring the transport (ie., what addr/ports to listen on, etc.).
> 
> 
> 
> > On Apr 27, 2021, at 11:55 AM, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> > 
> > On Tue, Apr 27, 2021 at 02:24:41PM +0000, Kent Watsen wrote:
> >> Hi Juergen,
> >> 
> >> Are you saying that a client SHOULD use the “password” method for password-based authentication?  That is, from a modeling perspective, the “keyboard-interactive” method’s “response” node can remain a cleartext value, even though it MAY contain a password?    Note that, on most servers, the “password” method is a lookup into the local users database (e.g., /etc/passwd).
> >> 
> > 
> > On systems that support PAM, essentially all utilities that do user
> > authentication hook into the PAM mechanism and hence they can all be
> > configured to implement the security policy of choice. By default,
> > programs like login or sshd or ... typically end up calling the
> > tradtional Unix PAM module, that does a verification of a password
> > against a stored crypt-hash value. But this is only one of many
> > possible options. You can easily change the configuration to talk to a
> > RADIUS server instead or to a Kerberos 5 server or ... The PAM system
> > is very flexible. Note that it is possible to have PAM modules
> > (keyboard-interactive) where the server sends a challenge to the
> > client, the clients displays it to the user, collects the users
> > response, and forwards it back to the server and this exercise may be
> > repeated several times. Note that the server's PAM configuration
> > drives an interaction with the user via the keyboard until it is
> > either happy or not.
> > 
> >> When using a password with keyboard-interactive, I expect that the password would be handled/compared via some PAM-like proxy.  As such, the password would NOT be statically-configured in the model (unlike with the “password” method), but rather in an external DB (/etc/passwd, RADIUS, LDAP, etc.).  Hence I question introducing a “choice” node to the “response” for iana:crypt-hash or encrypted values...
> > 
> > Yes, if you end up in the Unix PAM module, then keyboard-interactive
> > and password authentication become more or less the same. But this is
> > a special case from the keyboard-interactive (PAM) perspective,
> > despite the fact that it might be a common case. What exactly happens
> > when keyboard-interactive is executed is determined by the server's
> > PAM configuration and the client is expected to deal with it in an
> > interactive manner (i.e., not good for automation).
> > 
> > RFC 7317 likely got the tradeoffs right on the client side from what
> > you typically find as default setups on networking gear. Completely
> > modeling and exposing keyboard-interactive is likely something you
> > want to leave to an extension (for someone who has a lot of spare
> > cycles).
> > 
> > /js
> > 
> >> 
> >>> On Apr 27, 2021, at 3:32 AM, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote:
> >>> 
> >>> Well, my point is that keyboard-interactive may mean password
> >>> authentication but it may also mean other things. On a Unix system,
> >>> the traditional password can be seen as a property of an account,
> >>> i.e., not something that belongs to a specific authentication method.
> >>> In other words, if my keyboard-interactive (PAM) configuration is
> >>> setup to check the password of my account, then it checks the same
> >>> password that also the password authentication mechanism would check.
> >>> But with PAM, I can also make keyboard-interactive check something
> >>> else.
> >>> 
> >>> /js
> >>> 
> >>> On Tue, Apr 27, 2021 at 08:58:42AM +0200, Michal Vaško wrote:
> >>>> Thanks for the input. So based on this my idea was simply to allow to configure this common use-case directly. But yes, it would result in configuring the password twice although once for the "password" authentication, the second time for the "keyboard-interactive" method. I consider that not to be a problem and believe the distinction between the used methods being important on its own.
> >>>> 
> >>>> Regards,
> >>>> Michal
> >>>> 
> >>>> On Monday, April 26, 2021 19:21 CEST, Juergen Schoenwaelder <j.schoenwaelder@jacobs-university.de> wrote: 
> >>>> 
> >>>>> On Mon, Apr 26, 2021 at 05:06:48PM +0000, Kent Watsen wrote:
> >>>>>> 
> >>>>>> * The sshd_config manage says:
> >>>>>> 
> >>>>>>   AuthenticationMethods
> >>>>>>            Specifies the authentication methods that must be successfully completed for a user to be granted access.  This
> >>>>>>            option must be followed by one or more lists of comma-separated authentication method names, or by the single
> >>>>>>            string any to indicate the default behaviour of accepting any single authentication method.  If the default is
> >>>>>>            overridden, then successful authentication requires completion of every method in at least one of these lists.
> >>>>>> 
> >>>>>>            For example, "publickey,password publickey,keyboard-interactive" would require the user to complete public key
> >>>>>>            authentication, followed by either password or keyboard interactive authentication.  Only methods that are next in
> >>>>>>            one or more lists are offered at each stage, so for this example it would not be possible to attempt password or
> >>>>>>            keyboard-interactive authentication before public key.
> >>>>>> 
> >>>>>> 
> >>>>>> As yet, with the current model, I don’t see a direct correlation to “AuthenticationMethods”, unless you think “keyboard-interactive” is it, but that doesn’t follow from the manpage snippet above.
> >>>>>> 
> >>>>> 
> >>>>> SSH iterates over the authentication methods that both peers
> >>>>> offer. The 'keyboard-interactive' method (RFC 4256) hooks into PAM,
> >>>>> for many setups this results by default to password authentication,
> >>>>> but depending on the PAM module selected, 'keyboard-interactive' can
> >>>>> carry more complex challenge response dialogues.
> >>>>> 
> >>>>>  [...] With the generic
> >>>>>  method defined here, clients will not require code changes to support
> >>>>>  new authentication mechanisms, and if a separate authentication layer
> >>>>>  is used, such as [PAM], then the server may not need any code changes
> >>>>>  either.
> >>>>> 
> >>>>>> From a YANG perspective, keyboard-interactive is of course challenging
> >>>>> to model since you end up modeling something as flexible as PAM...
> >>>>> 
> >>>>> /js
> >>>>> 
> >>>>> -- 
> >>>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >>>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> >>>>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >>>>> 
> >>>>> _______________________________________________
> >>>>> netconf mailing list
> >>>>> netconf@ietf.org
> >>>>> https://www.ietf.org/mailman/listinfo/netconf
> >>> 
> >>> -- 
> >>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> >>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >> 
> > 
> > -- 
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> 

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>