Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(AutoIt) SSH Keyboard AuthenticationDemonstrates how to implement keyboard authentication with an SSH server.
; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. $oSsh = ObjCreate("Chilkat.Ssh") ; Set some timeouts, in milliseconds: $oSsh.ConnectTimeoutMs = 5000 $oSsh.IdleTimeoutMs = 15000 ; Connect to the SSH server. ; The standard SSH port = 22 ; The hostname may be a hostname or IP address. Local $sHostname = "sftp.example.com" Local $iPort = 22 Local $bSuccess = $oSsh.Connect($sHostname,$iPort) If ($bSuccess <> True) Then ConsoleWrite($oSsh.LastErrorText & @CRLF) Exit EndIf ; Begin keyboard authentication.. Local $sXmlResponse = $oSsh.StartKeyboardAuth("myLogin") If ($oSsh.LastMethodSuccess <> True) Then ConsoleWrite($oSsh.LastErrorText & @CRLF) Exit EndIf ; If a user authentication banner was received, then your app ; may display it prior to prompting for the password. ConsoleWrite("UserAuthBanner: " & $oSsh.UserAuthBanner & @CRLF) $oXml = ObjCreate("Chilkat.Xml") $bSuccess = $oXml.LoadXml($sXmlResponse) ; Assume LoadXml succeeds for the example.. If ($oXml.HasChildWithTag("success") = True) Then ConsoleWrite("No password required, already authenticated." & @CRLF) Exit EndIf If ($oXml.HasChildWithTag("error") = True) Then ConsoleWrite("Authentication already failed." & @CRLF) Exit EndIf ; See the online reference documentation for Chilkat SSH. ; The XML returned by StartKeyboardAuth will contain an infoRequest ; with one or more prompts that your application may choose to display. ; Call ContinueKeyboardAuth, passing in the whatever information is requires (such as the password). ; Typically, keyboard authentication requires one call to ContinueKeyboardAuth ; using the password. Theoretically, the SSH server could prompt for additional pieces ; of information. The authentication is completed when the XML returned contains ; either a "success" or "error" child node. ; This example asumes only one call to ContinueKeyboardAuth is required. $sXmlResponse = $oSsh.ContinueKeyboardAuth("myPassword") If ($oSsh.LastMethodSuccess <> True) Then ConsoleWrite($oSsh.LastErrorText & @CRLF) Exit EndIf $bSuccess = $oXml.LoadXml($sXmlResponse) ; Assume LoadXml succeeds for the example.. If ($oXml.HasChildWithTag("success") = True) Then ConsoleWrite("SSH Keyboard Authentication Successful!" & @CRLF) Exit EndIf If ($oXml.HasChildWithTag("error") = True) Then ConsoleWrite("Authentication failed." & @CRLF) Exit EndIf |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.