AutoIt
AutoIt
SFTP Authentication using an SSH Certificate
See more SFTP Examples
Demonstrates how to SFTP authenticate using an SSH certificate.Chilkat AutoIt Downloads
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)