# keychaincredential.remote_ssh_semiautomatic_setup

Perform semi-automatic SSH connection setup with other TrueNAS machine.

It creates an `SSH_CREDENTIALS` credential with specified `name` that can be used to connect to TrueNAS machine with specified `url` and temporary auth `token`. Other TrueNAS machine adds `private_key` to allowed `username`’s private keys. Other `SSH_CREDENTIALS` attributes such as `connect_timeout` can be specified as well.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: data

#### data

Type: object

Configuration data for semi-automatic SSH credential setup.

No Additional Properties

##

#### Name

Type: string

Name for the SSH connection credential.

Must be at least `1` characters long

##

#### Url

Type: string Format: uri

URL of the remote TrueNAS system for semi-automatic setup.

Must be at least `1` characters long

Must be at most `2083` characters long

##

#### Verify Ssl

Type: boolean Default: true

Whether to verify SSL certificates when connecting to the remote system.

##

#### Token

Default: ""

API token for authentication with the remote system or `null`.

## Any of

Type: string
Type: null

##

#### Admin Username

Type: string Default: "root"

Administrative username for the remote system.

##

#### Password

Default: ""

Password for the administrative user or `null`.

## Any of

Type: string
Type: null

##

#### Otp Token

Default: ""

One-time password token for 2FA authentication or `null`.

## Any of

Type: string
Type: null

##

#### Username

Type: string Default: "root"

Username for the SSH connection.

##

#### Private Key

Type: integer

ID of the existing private key credential to use for SSH authentication.

##

#### Connect Timeout

Type: integer Default: 10

SSH connection timeout in seconds.

##

#### Sudo

Type: boolean Default: false

Whether the SSH user should use sudo for elevated privileges.

##

#### SSHCredentialsEntry

Type: object

The created SSH credential configuration.

No Additional Properties

##

#### Id

Type: integer

Unique identifier for this keychain credential.

##

#### Name

Type: string

Distinguishes this Keychain Credential from others.

Must be at least `1` characters long

##

#### Type

Type: const

Keychain credential type identifier for SSH connection credentials.

Specific value: `"SSH_CREDENTIALS"`

##

#### Attributes

Type: object

SSH connection attributes including host, authentication, and connection settings.

No Additional Properties

##

#### Host

Type: string

SSH server hostname or IP address.

##

#### Port

Type: integer Default: 22

SSH server port number.

##

#### Username

Type: string Default: "root"

SSH username for authentication.

##

#### Private Key

Type: integer

Keychain Credential ID.

##

#### Remote Host Key

Type: string

Can be discovered with keychaincredential.remotesshhostkeyscan.

##

#### Connect Timeout

Type: integer Default: 10

Connection timeout in seconds for SSH connections.

Required roles: KEYCHAIN_CREDENTIAL_WRITE