AutoIt
AutoIt
Convert PuTTY Private Key (ppk) to OpenSSH (pem)
See more SSH Key Examples
Convert a PuTTY format private key file (.ppk) to OpenSSH (.pem).Chilkat AutoIt Downloads
Local $bSuccess = False
$oKey = ObjCreate("Chilkat.SshKey")
; Load an unencrypted or encrypted PuTTY private key.
; If your PuTTY private key is encrypted, set the Password
; property before calling FromPuttyPrivateKey.
; If your PuTTY private key is not encrypted, it makes no diffference
; if Password is set or not set.
$oKey.Password = "secret"
; First load the .ppk file into a string:
Local $sKeyStr
$sKeyStr = $oKey.LoadText("putty_private_key.ppk")
; Import into the SSH key object:
$bSuccess = $oKey.FromPuttyPrivateKey($sKeyStr)
If ($bSuccess <> True) Then
ConsoleWrite($oKey.LastErrorText & @CRLF)
Exit
EndIf
; Convert to an encrypted or unencrypted OpenSSH key.
; First demonstrate converting to an unencrypted OpenSSH key
Local $sUnencryptedKeyStr
Local $bEncrypt = False
$sUnencryptedKeyStr = $oKey.ToOpenSshPrivateKey($bEncrypt)
$bSuccess = $oKey.SaveText($sUnencryptedKeyStr,"unencrypted_openssh.pem")
If ($bSuccess <> True) Then
ConsoleWrite($oKey.LastErrorText & @CRLF)
Exit
EndIf
; Save to an encrypted OpenSSH PEM file:
Local $sEncryptedKeyStr
$bEncrypt = True
$oKey.Password = "myPassword"
$sEncryptedKeyStr = $oKey.ToOpenSshPrivateKey($bEncrypt)
$bSuccess = $oKey.SaveText($sEncryptedKeyStr,"encrypted_openssh.pem")
If ($bSuccess <> True) Then
ConsoleWrite($oKey.LastErrorText & @CRLF)
Exit
EndIf
ConsoleWrite("Done!" & @CRLF)