libnetconf2  3.5.4
NETCONF server and client library in C.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
SSH Call Home Server Configuration

SSH Call Home server configuration creation and deletion. More...

Collaboration diagram for SSH Call Home Server Configuration:

Functions

int nc_server_config_add_ch_ssh_hostkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *hostkey_name, const char *privkey_path, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH hostkey. More...
 
int nc_server_config_add_ch_ssh_keystore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *hostkey_name, const char *keystore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to an asymmetric key located in the keystore. More...
 
int nc_server_config_add_ch_ssh_truststore_ref (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *truststore_reference, struct lyd_node **config)
 Creates new YANG data nodes for a reference to a public key bag located in the truststore. More...
 
int nc_server_config_add_ch_ssh_user_authkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home SSH user that will use system's authorized_keys to authenticate. More...
 
int nc_server_config_add_ch_ssh_user_interactive (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Creates new YANG configuration data nodes for a Call Home SSH user's keyboard interactive authentication method. More...
 
int nc_server_config_add_ch_ssh_user_password (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *password, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH user's password authentication method. More...
 
int nc_server_config_add_ch_ssh_user_pubkey (const struct ly_ctx *ctx, const char *client_name, const char *endpt_name, const char *user_name, const char *pubkey_name, const char *pubkey_path, struct lyd_node **config)
 Creates new YANG data nodes for a Call Home SSH user's public key authentication method. More...
 
int nc_server_config_ch_del_ssh_user_authkey (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's authorized_keys method from the YANG data. More...
 
int nc_server_config_del_ch_ssh_hostkey (const char *client_name, const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a Call Home hostkey from the YANG data. More...
 
int nc_server_config_del_ch_ssh_keystore_ref (const char *client_name, const char *endpt_name, const char *hostkey_name, struct lyd_node **config)
 Deletes a Call Home keystore reference from the YANG data. More...
 
int nc_server_config_del_ch_ssh_truststore_ref (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH truststore reference from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_interactive (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's keyboard interactive authentication from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_password (const char *client_name, const char *endpt_name, const char *user_name, struct lyd_node **config)
 Deletes a Call Home SSH user's password from the YANG data. More...
 
int nc_server_config_del_ch_ssh_user_pubkey (const char *client_name, const char *endpt_name, const char *user_name, const char *pubkey_name, struct lyd_node **config)
 Deletes a Call Home SSH user's public key from the YANG data. More...
 

Detailed Description

SSH Call Home server configuration creation and deletion.

Call Home Server Configuration Functions

Function Documentation

int nc_server_config_add_ch_ssh_hostkey ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  hostkey_name,
const char *  privkey_path,
const char *  pubkey_path,
struct lyd_node **  config 
)

Creates new YANG data nodes for a Call Home SSH hostkey.

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]hostkey_nameArbitrary identifier of the endpoint's hostkey. If the endpoint's hostkey with this identifier already exists, its contents will be changed.
[in]privkey_pathPath to a file containing a private key. The private key has to be in a PEM format. Only RSA and ECDSA keys are supported.
[in]pubkey_pathPath to a file containing a public key. If NULL, public key will be generated from the private key.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_hostkey ( const char *  client_name,
const char *  endpt_name,
const char *  hostkey_name,
struct lyd_node **  config 
)

Deletes a Call Home hostkey from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]hostkey_nameOptional identifier of a hostkey to be deleted. If NULL, all of the hostkeys on the given endpoint will be deleted.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_keystore_ref ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  hostkey_name,
const char *  keystore_reference,
struct lyd_node **  config 
)

Creates new YANG data nodes for a reference to an asymmetric key located in the keystore.

This asymmetric key pair will be used as the Call Home SSH hostkey.

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]hostkey_nameArbitrary identifier of the endpoint's hostkey. If the endpoint's hostkey with this identifier already exists, its contents will be changed.
[in]keystore_referenceName of the asymmetric key pair to be referenced and used as a hostkey.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_keystore_ref ( const char *  client_name,
const char *  endpt_name,
const char *  hostkey_name,
struct lyd_node **  config 
)

Deletes a Call Home keystore reference from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]hostkey_nameIdentifier of an existing hostkey that belongs to the given CH endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_user_pubkey ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  user_name,
const char *  pubkey_name,
const char *  pubkey_path,
struct lyd_node **  config 
)

Creates new YANG data nodes for a Call Home SSH user's public key authentication method.

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]user_nameArbitrary identifier of the endpoint's user. If the endpoint's user with this identifier already exists, its contents will be changed.
[in]pubkey_nameArbitrary identifier of the user's public key. If the user's public key with this identifier already exists, its contents will be changed.
[in]pubkey_pathPath to a file containing a public key.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_user_pubkey ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
const char *  pubkey_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH user's public key from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing SSH user that belongs to the given CH endpoint.
[in]pubkey_nameOptional identifier of a public key to be deleted. If NULL, all of the public keys which belong to the given SSH user will be deleted.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_user_authkey ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Creates new YANG configuration data nodes for a Call Home SSH user that will use system's authorized_keys to authenticate.

The path to the authorized_keys file must be configured to successfully authenticate, see nc_server_ssh_set_authkey_path_format().

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]user_nameArbitrary identifier of the endpoint's user. If the endpoint's user with this identifier already exists, its contents will be changed.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_ch_del_ssh_user_authkey ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH user's authorized_keys method from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing user on the given endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_user_password ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  user_name,
const char *  password,
struct lyd_node **  config 
)

Creates new YANG data nodes for a Call Home SSH user's password authentication method.

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]user_nameArbitrary identifier of the endpoint's user. If the endpoint's user with this identifier already exists, its contents will be changed.
[in]passwordClear-text password to be set for the user. It will be hashed.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_user_password ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH user's password from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing SSH user that belongs to the given CH endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_user_interactive ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Creates new YANG configuration data nodes for a Call Home SSH user's keyboard interactive authentication method.

One of Linux PAM, local users, or user callback is used to authenticate users with this SSH method (see the documentation).

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]user_nameArbitrary identifier of the endpoint's user. If the endpoint's user with this identifier already exists, its contents will be changed.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_user_interactive ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH user's keyboard interactive authentication from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing SSH user that belongs to the given CH endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_user ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH user from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing SSH user that belongs to the given CH endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.
int nc_server_config_add_ch_ssh_truststore_ref ( const struct ly_ctx *  ctx,
const char *  client_name,
const char *  endpt_name,
const char *  user_name,
const char *  truststore_reference,
struct lyd_node **  config 
)

Creates new YANG data nodes for a reference to a public key bag located in the truststore.

The public key's located in the bag will be used for Call Home SSH client authentication.

Parameters
[in]ctxlibyang context.
[in]client_nameArbitrary identifier of the Call Home client. If a Call Home client with this identifier already exists, its contents will be changed.
[in]endpt_nameArbitrary identifier of the client's endpoint. If the client's endpoint with this identifier already exists, its contents will be changed.
[in]user_nameArbitrary identifier of the endpoint's user. If the endpoint's user with this identifier already exists, its contents will be changed.
[in]truststore_referenceName of the public key bag to be referenced and used for authentication.
[in,out]configConfiguration YANG data tree. If *config is NULL, it will be created. Otherwise the new YANG data will be added to the previous data and may override it.
Returns
0 on success, non-zero otherwise.
int nc_server_config_del_ch_ssh_truststore_ref ( const char *  client_name,
const char *  endpt_name,
const char *  user_name,
struct lyd_node **  config 
)

Deletes a Call Home SSH truststore reference from the YANG data.

Parameters
[in]client_nameIdentifier of an existing Call Home client.
[in]endpt_nameIdentifier of an existing endpoint that belongs to the given CH client.
[in]user_nameIdentifier of an existing SSH user that belongs to the given CH endpoint.
[in,out]configModified configuration YANG data tree.
Returns
0 on success, non-zero otherwise.