Sample code for 30+ languages & platforms
PHP

Load PuTTY Private Key

See more SSH Key Examples

Loads a PuTTY private key into an SSH key object.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\SshKey;
use Chilkat2\StringBuilder;

$success = false;

$sb = new StringBuilder();
$bCrlf = true;
$sb->AppendLine('PuTTY-User-Key-File-2: ssh-rsa', $bCrlf);
$sb->AppendLine('Encryption: aes256-cbc', $bCrlf);
$sb->AppendLine('Comment: rsa-key-20161121', $bCrlf);
$sb->AppendLine('Public-Lines: 6', $bCrlf);
$sb->AppendLine('AAAAB3NzaC1yc2EAAAABJQAAAQEArIVxZTGYjqqNegJeMqgZzXKuX3YtxmD4DPnQ', $bCrlf);
$sb->AppendLine('K01SXoR9UA4wl6RJK5FGonI5spVnddr6HJny0eY5/RmV1dyL0fNdH2pfnHHoTd9B', $bCrlf);
$sb->AppendLine('uXG0PcTn4BqJFlybC6NNaGaByqpNPaOgjJIMHXTaeCuDuzwP02f3UKSfLAFdvUNP', $bCrlf);
$sb->AppendLine('fX3yrMRabjVcHJpgUn535Y9Y3ZphSFssiElLpp1vo6QLsdiAl0wgU4HLw9Dfg8sh', $bCrlf);
$sb->AppendLine('p3zgAufYUUIx2HChITJ7OO/PH5GEbPvJFbYH4Wx33GEe56JCF9QxxDCqNxsPMrvu', $bCrlf);
$sb->AppendLine('mqkSIPIELFl5zVYSFD9PiL8RZQcPJGq5zbF9+szsS/6DSH8biw==', $bCrlf);
$sb->AppendLine('Private-Lines: 14', $bCrlf);
$sb->AppendLine('SVqUm9zBUN6zaAaUY6TLnIXAhxqv4s1UhzukcN7Ns0Fs1EqdDP4nVMKgmiDxHaAj', $bCrlf);
$sb->AppendLine('ucb1PLv7uj2eGt69E+HKH4AC2LtJZNH4qLw+p8QKqdN79oRAMHwtS4cU88eeQ91t', $bCrlf);
$sb->AppendLine('2W3wzmTzvYFlE6VbUr3bNl3f68OCQHz+7YJuL8g0eclNuveHB/VmBqnek1LL/cRY', $bCrlf);
$sb->AppendLine('wmk8wyzHRl7X8fyjGX0PiOPyVwXBDJFNjjKAdrRCRS0Cc4PWAb/18qrA9ApArQVk', $bCrlf);
$sb->AppendLine('a5miOMfrXFF2Vg3JyNgfdDilNKkry9x5oTtfueZkFgu/6pofP5qrTstr+BmB16mu', $bCrlf);
$sb->AppendLine('MxcDRF+jOm9XvU1OnrzQ9rBzuaHEfhSHqlKyMGTDuzRtNyxlDBgK4DaZ2z1FJQGF', $bCrlf);
$sb->AppendLine('63p36KgVqx571PUJ8P/28VUb6s/OtXcjhxxvhC8Eo0wrTdjzDiX+IovdjOhWgn4v', $bCrlf);
$sb->AppendLine('xugaYocotTbhqq+O1w9xYtmG8fP921+TIpHzCkE8QTJzLJ40pemKZ+TAOmhb0OUQ', $bCrlf);
$sb->AppendLine('jemqmRohcxx7NEoZ0TsoAe6i+GQJ2cEE7LcNcSX3V66AkyTsTieqk1nSxyHyoF+l', $bCrlf);
$sb->AppendLine('rTaVOhFM5H8Etzv94SP3c1if3Qa9cmZaEmfaqrS94bzX+OY/zRIFweT0BeMo3Uac', $bCrlf);
$sb->AppendLine('fP6gBDBiLYZeRURcx0mYRdNYlssaKoYLA6c7F3ggo34VfgD6LP+ZYnG8yAXGXSPr', $bCrlf);
$sb->AppendLine('lgrfdg/szqSsOKVdkoGTkVy+BgrhITnFIs8TLZsrtSEPmXjEa+QvdP6FPsyN5u6P', $bCrlf);
$sb->AppendLine('8s0i8EC0KT0YA77Ps29DEU3fxsXVSc9Xd9qdiWfJ0ce2hOsTwxL1gxtXUKP4xCzm', $bCrlf);
$sb->AppendLine('oXaWLFajiws2EjgBbwREj12v0I2N4xrpf/PeJq22EvWLYm9H94DdFrkm0b4p6Kmu', $bCrlf);
$sb->AppendLine('Private-MAC: ef04289f158f498b8050e19f1630b4764fe64ab9', $bCrlf);

$sshKey = new SshKey();

// Must specify a password for this PuTTY private key because it is encrypted.
$sshKey->Password = 'secret';

try {
    $sshKey->FromPuttyPrivateKey($sb->GetAsString());
    $success = true;
} catch (\Chilkat2\Exception $e) {
    $success = false;
}
if (!$success) {
    echo $sshKey->LastErrorText, "\n";
    echo "Failed.\n";
}

echo 'success = ', ($success ? 'true' : 'false'), "\n";