SignSshKeys
After SSH is enabled on the cluster using the EnableSSH method, you can use the SignSshKeys method to gain access to a shell on a node.
Beginning with Element 12.5, sfreadonly is a new system account allows for basic troubleshooting on a node. This API enables SSH access using the sfreadonly system account across all nodes in the cluster.
|
|
Unless advised by NetApp Support, any alterations to the system are unsupported, voiding your support contract, and may result in instability or inaccessibility of data. |
After you use the method, you must copy the keychain from the response, save it to the system that will be initiating the SSH connection, then run the following command:
ssh -i <identity_file> sfreadonly@<node_ip>
identity_file is a file from which the identity (private key) for public key authentication is read and node_ip is the IP address of the node. For more information on identity_file, see the SSH man page.
Parameters
This method has the following input parameters:
| Name | Description | Type | Default value | Required | ||
|---|---|---|---|---|---|---|
duration |
Integer from 1 to 24 reflecting number of hours for signed key to be valid. If duration is not specified, the default is used. |
integer |
1 |
No |
||
publicKey |
If provided, this parameter will only return the signed_public_key instead of creating a full keychain to the user.
|
string |
Null |
No |
||
sfadmin |
Allows access to the sfadmin shell account when you make the API call with supportAdmin cluster access, or when the node is not in a cluster. |
boolean |
False |
No |
Return values
This method has the following return values:
| Name | Description | Type | ||
|---|---|---|---|---|
keygen_status |
Contains the identity in the signed key, the principals allowed, and the valid start and end dates for the key. |
string |
||
private_key |
A private SSH key value is only returned if the API is generating a complete keychain for the end user.
|
string |
||
public_key |
A public SSH key value is only returned if the API is generating a complete keychain for the end user.
|
string |
||
signed_public_key |
The SSH public key that results from signing the public key, whether this was user provided or generated by API. |
string |
Request example
Requests for this method are similar to the following example:
{
"method": "SignSshKeys",
"params": {
"duration": 2,
"publicKey":<string>
},
"id": 1
}
Response example
This method returns a response similar to the following example:
{
"id": null,
"result": {
"signedKeys": {
"keygen_status": <keygen_status>,
"signed_public_key": <signed_public_key>
}
}
}
In this example, a public key is signed and returned that is valid for the duration (1-24 hours).
New since version
12.5