PowerShell
PowerShell
Generate ed25519 Key and Save to PuTTY Format
See more SSH Key Examples
Generates an ED25519 key and saves to PuTTY format.Note: This example requires Chilkat v9.5.0.83 or greater.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# Note: Requires Chilkat v9.5.0.83 or greater.
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$key = New-Object Chilkat.SshKey
$success = $key.GenerateEd25519Key()
if ($success -ne $true) {
$($key.LastErrorText)
exit
}
# We can optionally set a comment to be included in the exported key.
$key.Comment = "This is my new ed25519 key."
# Export the ed25519 private key to unencrypted PuTTY format:
$exportEncrypted = $false
$exportedKey = $key.ToPuttyPrivateKey($exportEncrypted)
$success = $key.SaveText($exportedKey,"qa_output/privkey_putty_unencrypted.ppk")
# The unencrypted PuTTY key looks like this:
# PuTTY-User-Key-File-2: ssh-ed25519
# Encryption: none
# Comment: This is my new ed25519 key.
# Public-Lines: 2
# AAAAC3NzaC1lZDI1NTE5AAAAIJn6m7yKzkAAHXzzjE1zv4RqtdE8r5eTegcpbNDF
# OPYs
# Private-Lines: 1
# AAAAIFgwbZ38AR9Oiw930wsCcCGymQRBa2Y7qBq6R3HCe9VL
# Private-MAC: 892573676dd13ef70b6ab7ef219decdfbd5b1857
# Export the ed25519 private key to encrypted PuTTY format:
$key.Password = "secret"
$exportEncrypted = $true
$exportedKey = $key.ToPuttyPrivateKey($exportEncrypted)
$success = $key.SaveText($exportedKey,"qa_output/privkey_putty_encrypted.ppk")
# The encrypted PuTTY key looks like this:
# PuTTY-User-Key-File-2: ssh-ed25519
# Encryption: aes256-cbc
# Comment: This is my new ed25519 key.
# Public-Lines: 2
# AAAAC3NzaC1lZDI1NTE5AAAAIJn6m7yKzkAAHXzzjE1zv4RqtdE8r5eTegcpbNDF
# OPYs
# Private-Lines: 1
# aIa9mY22htPElPgWhtXesp97662JECxaSsnNqvhD06P+o18immv8ohn73vI/bhQB
# Private-MAC: 312221dc90660859fe68df300767f8f779046815
$("Success!")