Sample code for 30+ languages & platforms
Node.js

SFTP Authentication using an SSH Certificate

See more SFTP Examples

Demonstrates how to SFTP authenticate using an SSH certificate.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    //  This example assumes the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    var sbSshCert = new chilkat.StringBuilder();
    success = sbSshCert.LoadFile("qa_data/sshCert/user_ecdsa_key-cert.pub","utf-8");
    if (success == false) {
        console.log("Failed to load user_ecdsa_key-cert.pub");
        return;
    }

    var sbPrivKey = new chilkat.StringBuilder();
    success = sbPrivKey.LoadFile("qa_data/sshKeys/user_ecdsa_key","utf-8");
    if (success == false) {
        console.log("Failed to load user_ecdsa_key");
        return;
    }

    var key = new chilkat.SshKey();
    //  Provide the password if the user_ecdsa_key is stored in an encrypted format.
    key.Password = "secret";
    success = key.FromOpenSshPrivateKey(sbPrivKey.GetAsString());
    if (success == false) {
        console.log(key.LastErrorText);
        return;
    }

    //  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());

    var sftp = new chilkat.SFtp();

    var hostname = "sftp.example.com";
    var port = 22;
    success = sftp.Connect(hostname,port);
    if (success !== true) {
        console.log(sftp.LastErrorText);
        return;
    }

    success = sftp.AuthenticatePk("myLogin",key);
    if (success !== true) {
        console.log(sftp.LastErrorText);
        return;
    }

    console.log("Public-Key Authentication using an SSH Certificate was Successful!");

}

chilkatExample();