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

Michal Vaško <> Wed, 21 April 2021 06:35 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 862C63A155B for <>; Tue, 20 Apr 2021 23:35:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id f-I6hEhqDCFc for <>; Tue, 20 Apr 2021 23:34:58 -0700 (PDT)
Received: from ( [IPv6:2001:718:1:1f:50:56ff:feee:34]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8FB2C3A1558 for <>; Tue, 20 Apr 2021 23:34:58 -0700 (PDT)
Received: by (Postfix, from userid 110) id 335D060086; Wed, 21 Apr 2021 08:34:54 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=kalendar; t=1618986894; bh=X7XfihYnR7wSHAAeKlukSN9F+TKZkUyxB3TWJVGdYKQ=; h=From:In-Reply-To:Date:Cc:To:Subject; b=A1TeztKS+iZ+bZYUzixnj+PHNpIQ6rBz3xpu52Rr9T+B3alckCyBUTek9J3isAJdm umQ8aRqgkvzN8fFOvrhS/g/0aIJtgIQ/doYvpdzGx9Q+aqZTnvu03/fIxfcsTNdRnp mARrf4ADeSOd2KP1muvURWt8cvVfRQIf1nXQLq94=
From: Michal Vaško <>
Content-Type: multipart/mixed; boundary="----=_=-_OpenGroupware_org_NGMime-18607-1618986894.170225-2------"
In-Reply-To: <>
Date: Wed, 21 Apr 2021 08:34:54 +0200
Cc: "" <>
To: Kent Watsen <>
MIME-Version: 1.0
Message-ID: <48af-607fc780-d-53523d80@24178214>
User-Agent: SOGoMail 5.1.0
Archived-At: <>
Subject: Re: [netconf] Latest ietf-netconf-server draft and related modules
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETCONF WG list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 21 Apr 2021 06:35:04 -0000

Hi Kent,

> For this response:
> > I am using only the "keyboard-interactive"  method and only as a user, so I do not have in-depth knowledge. However, it seems fine and should be now configurable, thanks! Like I said, I cannot say much about the "gssapi" methods, never used them. But they also seems fine to me.
> And this response:
> > We are not using them (yet) as the last draft we implemented was still missing some features. Looking at it now, it seems okay.
> My understanding that you “think" these updates are okay, which is greatly appreciated (your considerations, that is).   It would be perfect if you could actually try them out before this work gets published...

Yes, that is exactly what I meant. Unfortunately, I am terribly busy and I am just not able to implement all these modules. Even if they got published today, I think it would take us at least several months till we are able to use them.

> FWIW, my guess is that there’s at least a month until the netconf-client-server and restconf-client-server drafts complete their WGLCs, assuming they get kicked off in the next week or two as expected, and then we will quickly reach the point where it will be too late for anymore easy “do-overs”.
> > An improvement I can think of is to put all the authentication methods in "users/user" in a mandatory choice. The authentication methods would be one case, while something like "global-config" (empty leaf, for example) would be the other. That should allow for maximum versatility when one could configure the 'global authentication methods', enable the "client-auth-config-supported" feature to configure the recognized users, but use the global authentication methods settings for some/all the users (not having to configure each one separately). Because that will probably be our use-case.
> Could you provide a tree diagram snippet that illustrates this?  Regarding your last sentence, I imagine that that might be many folks use-case.  That is, the actual user-auth might be somewhere else (e.g., PAM, LDAP, etc.); it might be rare thing that folks would want to config users inside the “ssh-server-grouping”.

I wanted to, but quickly learned that I did not understand this YANG part correctly. It seems every client authentication method has its own feature AND a leaf or container in {grouping:ssh-server-grouping}/client-authentication/supported-authentication-methods that marks support for the authentication method, again. Why the redundancy?

Regarding the client authentication configuration, which is a separate issue, I suppose the most generic solution would be to model it the same way certificates and some other things are. Meaning, to have a separate container with a list of client-authentication configurations. Then, every {grouping:ssh-server-grouping}/client-authentication/users/user will have to reference one. That should allow support for all kinds of scenarios, including one where there is only a single client-authentication configuration and all the users reference it.

> The following regards the "tls-listen or tls-call-home or sshcmn:ssh-x509-certs” if-feature statement:
> >> But I wasn’t trying to fix your original issue.  As mentioned, there is a YANG-next issue and the best that consuming modules can do is to 1) enable all the features defined in these modules and 2) augment-in “use”-specific feature statements where the groupings are used.
> > 
> > Okay, I suppose this can be done although it seems to me like a minor deviation (the augment solution). What is the reason for not having the module this way out-of-the-box?
> It might be helpful to recall that this “if-feature” statement is in the netconf-client-server draft, and thus likely should be discussed in another thread.  That said, we’ve come so far already, so why not a little more, right?  ;)
> So, do you have a proposal mind?

Right, we are getting OT, too bad :) I have attached a diff that fixes my concerns and I think it also makes for a more intuitive tree diagram.