Visual FoxPro
Visual FoxPro
SSH Public Key Authentication
See more SSH Examples
Demonstrates how to authenticate with an SSH server using public key authentication.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loSsh
LOCAL lcHostname
LOCAL lnPort
LOCAL loKey
LOCAL lcPrivKey
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loSsh = CreateObject('Chilkat.Ssh')
* Set some timeouts, in milliseconds:
loSsh.ConnectTimeoutMs = 5000
loSsh.IdleTimeoutMs = 15000
* Connect to the SSH server.
* The standard SSH port = 22
* The hostname may be a hostname or IP address.
lcHostname = "sftp.example.com"
lnPort = 22
lnSuccess = loSsh.Connect(lcHostname,lnPort)
IF (lnSuccess <> 1) THEN
? loSsh.LastErrorText
RELEASE loSsh
CANCEL
ENDIF
loKey = CreateObject('Chilkat.SshKey')
* 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.)
lcPrivKey = loKey.LoadText("myPrivateKey.pem")
IF (loKey.LastMethodSuccess <> 1) THEN
? loKey.LastErrorText
RELEASE loSsh
RELEASE loKey
CANCEL
ENDIF
* 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.)
lnSuccess = loKey.FromOpenSshPrivateKey(lcPrivKey)
IF (lnSuccess <> 1) THEN
? loKey.LastErrorText
RELEASE loSsh
RELEASE loKey
CANCEL
ENDIF
* Authenticate with the SSH server using the login and
* private key. (The corresponding public key should've
* been installed on the SSH server beforehand.)
lnSuccess = loSsh.AuthenticatePk("myLogin",loKey)
IF (lnSuccess <> 1) THEN
? loSsh.LastErrorText
RELEASE loSsh
RELEASE loKey
CANCEL
ENDIF
? loSsh.LastErrorText
? "Public-Key Authentication Successful!"
RELEASE loSsh
RELEASE loKey