Sample code for 30+ languages & platforms
AutoIt

SSH Authentication using an SSH Certificate

See more SSH Examples

Demonstrates how to 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())

$oSsh = ObjCreate("Chilkat.Ssh")

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

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

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