> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell/powershell-commands/set-rdmpersonalsshkey.md).

# Set-RDMPersonalSSHKey

### Synopsis

Set 'My Personal SSH key' from 'My Account Settings'

### Syntax

#### InputObject

```
Set-RDMPersonalSSHKey -InputObject <PSConnection> [-ForcePromptAnswer <DialogResult[]>]
 [<CommonParameters>]
```

#### Name

```
Set-RDMPersonalSSHKey -Key <PSSSHKey> [-UserName <string>] [-Password <securestring>]
 [-Passphrase <securestring>] [-SavePassphrase <bool>] [-AutomaticallyLoadToKeyAgent]
 [-ForcePromptAnswer <DialogResult[]>] [<CommonParameters>]
```

#### Filename

```
Set-RDMPersonalSSHKey -Filename <string> [-UserName <string>] [-Password <securestring>]
 [-Passphrase <securestring>] [-SavePassphrase <bool>] [-AutomaticallyLoadToKeyAgent]
 [-ForcePromptAnswer <DialogResult[]>] [<CommonParameters>]
```

### Description

Set 'My Personal SSH key' from 'My Account Settings'. It can be updated in three ways:

1. InputObject: From a PSConnection object obtained from Get-RDMPersonalSSHKey.
2. Key: From a new SSH key obtained from New-RDMSSHKey.
3. Filename: From a private key file ('.pri', '.ppk', '.key')

### Examples

#### Example 1

```powershell
PS C:\> $sshKey = Get-RDMPersonalSSHKey;
        $sshKey.Credentials.PrivateKeyAutomaticallyLoadToKeyAgent = $true
        Set-RDMPersonalSSHKey -InputObject $sshKey
```

Modify 'My Personal SSH Key' to automatically load to SSH key agent

#### Example 2

```powershell
PS C:\> New-RDMSSHKey -Algorithm ED25519 -Format OpenSSH -Comment 'asdf' -Size 1024 -Round 12 | Set-RDMPersonalSSHKey
```

Create a new PSSHKey and save it as 'My Personal SSH Key'

#### Example 3

```powershell
PS C:\> Set-RDMPersonalSSHKey -Filename 'C:\my\path\filea.ppk'
```

Change the private key file for 'My Personal SSH Key'

### Parameters

#### -AutomaticallyLoadToKeyAgent

Automatically load to SSH key agent

```yaml
Type: System.Management.Automation.SwitchParameter
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
- Name: Filename
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -Filename

Private key file ('.pri', '.ppk', '.key

```yaml
Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Filename
  Position: Named
  IsRequired: true
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -ForcePromptAnswer

Switch to use with caution. It will automatically answer prompt asking yes/no, yes/no/cancel, or ok/cancel questions. In case of multiple prompts, multiple values can be passed to this parameter. Here are the accepted values:

* Yes: Accept the prompt. Cover the OK and Automatic value.
* No: Refuse the yes/no/cancel prompt. "Cancel" is the fallback option if there is no "No" option.
* Cancel: Cancel the yes/no/cancel prompt. "No" is the fallback option if there is no "Cancel" option.

```yaml
Type: System.Windows.Forms.DialogResult[]
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: (All)
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -InputObject

Entry representing 'My Personal SSH Key'

```yaml
Type: RemoteDesktopManager.PowerShellModule.PSOutputObject.PSConnection
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: InputObject
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -Key

SSH key generated with New-RDMSSHKey

```yaml
Type: RemoteDesktopManager.PowerShellModule.PSOutputObject.PSSSHKey
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: true
  ValueFromPipeline: true
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -Passphrase

Passphrase for the private key

```yaml
Type: System.Security.SecureString
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
- Name: Filename
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -Password

Overrides the password

```yaml
Type: System.Security.SecureString
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
- Name: Filename
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -SavePassphrase

Save the passphrase in the credential

```yaml
Type: System.Boolean
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
- Name: Filename
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### -UserName

Overrides the username

```yaml
Type: System.String
DefaultValue: ''
SupportsWildcards: false
Aliases: []
ParameterSets:
- Name: Name
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
- Name: Filename
  Position: Named
  IsRequired: false
  ValueFromPipeline: false
  ValueFromPipelineByPropertyName: false
  ValueFromRemainingArguments: false
DontShow: false
AcceptedValues: []
HelpMessage: ''
```

#### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about\_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).

### Inputs

#### RemoteDesktopManager.PowerShellModule.PSOutputObject.PSConnection

PSConnection object obtained from Get-RDMPersonalSSHKey

#### RemoteDesktopManager.PowerShellModule.PSOutputObject.PSSSHKey

PSSSHKey object obtained from New-RDMSSHkey

### Notes

For more information, type "Get-Help Set-RDMPersonalSSHKey -detailed". For technical information, type "Get-Help Set-RDMPersonalSSHKey -full".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell/powershell-commands/set-rdmpersonalsshkey.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
