ImportSshPublicKey - AWS Transfer Family

ImportSshPublicKey

Adds a Secure Shell (SSH) public key to a Transfer Family user identified by a UserName value assigned to the specific file transfer protocol-enabled server, identified by ServerId.

The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId.

Request Syntax

{ "ServerId": "string", "SshPublicKeyBody": "string", "UserName": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ServerId

A system-assigned unique identifier for a server.

Type: String

Length Constraints: Fixed length of 19.

Pattern: s-([0-9a-f]{17})

Required: Yes

SshPublicKeyBody

The public key portion of an SSH key pair.

AWS Transfer Family accepts RSA, ECDSA, and ED25519 keys.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 2048.

Pattern: \s*(ssh|ecdsa)-[a-z0-9-]+[ \t]+(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{1,3})?(={0,3})?)(\s*|[ \t]+[\S \t]*\s*)

Required: Yes

UserName

The name of the Transfer Family user that is assigned to one or more servers.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 100.

Pattern: [\w][\w@.-]{2,99}

Required: Yes

Response Syntax

{ "ServerId": "string", "SshPublicKeyId": "string", "UserName": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ServerId

A system-assigned unique identifier for a server.

Type: String

Length Constraints: Fixed length of 19.

Pattern: s-([0-9a-f]{17})

SshPublicKeyId

The name given to a public key by the system that was imported.

Type: String

Length Constraints: Fixed length of 21.

Pattern: key-[0-9a-f]{17}

UserName

A user name assigned to the ServerID value that you specified.

Type: String

Length Constraints: Minimum length of 3. Maximum length of 100.

Pattern: [\w][\w@.-]{2,99}

Errors

For information about the errors that are common to all actions, see Common Errors.

InternalServiceError

This exception is thrown when an error occurs in the AWS Transfer Family service.

HTTP Status Code: 500

InvalidRequestException

This exception is thrown when the client submits a malformed request.

HTTP Status Code: 400

ResourceExistsException

The requested resource does not exist, or exists in a region other than the one specified for the command.

HTTP Status Code: 400

ResourceNotFoundException

This exception is thrown when a resource is not found by the AWSTransfer Family service.

HTTP Status Code: 400

ServiceUnavailableException

The request has failed because the AWSTransfer Family service is not available.

HTTP Status Code: 500

ThrottlingException

The request was denied due to request throttling.

HTTP Status Code: 400

Examples

Example

This command imports an ECDSA key stored in the id_ecdsa.pub file.

aws transfer import-ssh-public-key --server-id s-021345abcdef6789 --ssh-public-key-body file://id_ecdsa.pub --user-name jane-doe

Example

If you run the previous command, the system returns the following information.

{ "ServerId": "s-021345abcdef6789", "SshPublicKeyId": "key-1234567890abcdef0", "UserName": "jane-doe" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: