PHP Extension
PHP Extension
SFTP Authentication using an SSH Certificate
See more SFTP Examples
Demonstrates how to SFTP authenticate using an SSH certificate.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$sbSshCert = new CkStringBuilder();
$success = $sbSshCert->LoadFile('qa_data/sshCert/user_ecdsa_key-cert.pub','utf-8');
if ($success == false) {
print 'Failed to load user_ecdsa_key-cert.pub' . "\n";
exit;
}
$sbPrivKey = new CkStringBuilder();
$success = $sbPrivKey->LoadFile('qa_data/sshKeys/user_ecdsa_key','utf-8');
if ($success == false) {
print 'Failed to load user_ecdsa_key' . "\n";
exit;
}
$key = new CkSshKey();
// Provide the password if the user_ecdsa_key is stored in an encrypted format.
$key->put_Password('secret');
$success = $key->FromOpenSshPrivateKey($sbPrivKey->getAsString());
if ($success == false) {
print $key->lastErrorText() . "\n";
exit;
}
// Indicate that the SSH certificate is to be used for authentication.
// The UseSshCertificate method was added in Chilkat v11.0.0
$key->UseSshCertificate($sbSshCert->getAsString());
$sftp = new CkSFtp();
$hostname = 'sftp.example.com';
$port = 22;
$success = $sftp->Connect($hostname,$port);
if ($success != true) {
print $sftp->lastErrorText() . "\n";
exit;
}
$success = $sftp->AuthenticatePk('myLogin',$key);
if ($success != true) {
print $sftp->lastErrorText() . "\n";
exit;
}
print 'Public-Key Authentication using an SSH Certificate was Successful!' . "\n";
?>