Sample code for 30+ languages & platforms
AutoIt

SFTP Authentication using an SSH Certificate

See more SFTP Examples

Demonstrates how to SFTP authenticate using an SSH certificate.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oSbSshCert = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oSbSshCert.LoadFile("qa_data/sshCert/user_ecdsa_key-cert.pub","utf-8")
If ($bSuccess = False) Then
    ConsoleWrite("Failed to load user_ecdsa_key-cert.pub" & @CRLF)
    Exit
EndIf

$oSbPrivKey = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oSbPrivKey.LoadFile("qa_data/sshKeys/user_ecdsa_key","utf-8")
If ($bSuccess = False) Then
    ConsoleWrite("Failed to load user_ecdsa_key" & @CRLF)
    Exit
EndIf

$oKey = ObjCreate("Chilkat.SshKey")
; Provide the password if the user_ecdsa_key is stored in an encrypted format.
$oKey.Password = "secret"
$bSuccess = $oKey.FromOpenSshPrivateKey($oSbPrivKey.GetAsString())
If ($bSuccess = False) Then
    ConsoleWrite($oKey.LastErrorText & @CRLF)
    Exit
EndIf

; Indicate that the SSH certificate is to be used for authentication.
; The UseSshCertificate method was added in Chilkat v11.0.0
$oKey.UseSshCertificate($oSbSshCert.GetAsString())

$oSftp = ObjCreate("Chilkat.SFtp")

Local $sHostname = "sftp.example.com"
Local $iPort = 22
$bSuccess = $oSftp.Connect($sHostname,$iPort)
If ($bSuccess <> True) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

$bSuccess = $oSftp.AuthenticatePk("myLogin",$oKey)
If ($bSuccess <> True) Then
    ConsoleWrite($oSftp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Public-Key Authentication using an SSH Certificate was Successful!" & @CRLF)