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
(Tcl) SSH Public Key AuthenticationDemonstrates how to authenticate with an SSH server using public key authentication.
load ./chilkat.dll # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set ssh [new_CkSsh] # Set some timeouts, in milliseconds: CkSsh_put_ConnectTimeoutMs $ssh 5000 CkSsh_put_IdleTimeoutMs $ssh 15000 # Connect to the SSH server. # The standard SSH port = 22 # The hostname may be a hostname or IP address. set hostname "sftp.example.com" set port 22 set success [CkSsh_Connect $ssh $hostname $port] if {$success != 1} then { puts [CkSsh_lastErrorText $ssh] delete_CkSsh $ssh exit } set key [new_CkSshKey] # Read the PEM file into a string variable: # (This does not load the PEM file into the key. The LoadText # method is a convenience method for loading the full contents of ANY text # file into a string variable.) set privKey [CkSshKey_loadText $key "myPrivateKey.pem"] if {[CkSshKey_get_LastMethodSuccess $key] != 1} then { puts [CkSshKey_lastErrorText $key] delete_CkSsh $ssh delete_CkSshKey $key exit } # Load a private key from a PEM string: # (Private keys may be loaded from OpenSSH and Putty formats. # Both encrypted and unencrypted private key file formats # are supported. This example loads an unencrypted private # key in OpenSSH format. PuTTY keys typically use the .ppk # file extension, while OpenSSH keys use the PEM format. # (For PuTTY keys, call FromPuttyPrivateKey instead.) set success [CkSshKey_FromOpenSshPrivateKey $key $privKey] if {$success != 1} then { puts [CkSshKey_lastErrorText $key] delete_CkSsh $ssh delete_CkSshKey $key exit } # Authenticate with the SSH server using the login and # private key. (The corresponding public key should've # been installed on the SSH server beforehand.) set success [CkSsh_AuthenticatePk $ssh "myLogin" $key] if {$success != 1} then { puts [CkSsh_lastErrorText $ssh] delete_CkSsh $ssh delete_CkSshKey $key exit } puts [CkSsh_lastErrorText $ssh] puts "Public-Key Authentication Successful!" delete_CkSsh $ssh delete_CkSshKey $key |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.