Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

SSH Public Key Authentication

Demonstrates how to authenticate with an SSH server using public key authentication.

Download Chilkat 32-bit SSH / SFTP ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATRSALib_TLB,
    CHILKATSSHLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
ssh: TChilkatSsh;
success: Integer;
port: Integer;
hostname: String;
key: TChilkatSshKey;
privKey: String;

begin
//  Important: It is helpful to send the contents of the
//  sftp.LastErrorText property when sending email
//  to support@chilkatsoft.com

ssh := TChilkatSsh.Create(Self);

//  Any string automatically begins a fully-functional 30-day trial.
success := ssh.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    Memo1.Lines.Add(ssh.LastErrorText);
    Exit;
  end;

//  Set some timeouts, in milliseconds:
ssh.ConnectTimeoutMs := 5000;
ssh.IdleTimeoutMs := 15000;

//  Connect to the SSH server.
//  The standard SSH port = 22
//  The hostname may be a hostname or IP address.

hostname := 'www.my-ssh-server.com';
port := 22;
success := ssh.Connect(hostname,port);
if (success <> 1) then
  begin
    Memo1.Lines.Add(ssh.LastErrorText);
    Exit;
  end;

key := TChilkatSshKey.Create(Self);

//  Load a private key from a PEM file:
//  (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.
privKey := key.LoadText('myPrivateKey.pem');
if (Length(privKey) = 0 ) then
  begin
    Memo1.Lines.Add(key.LastErrorText);
    Exit;
  end;

//  (For PuTTY keys, call FromPuttyPrivateKey instead.)
success := key.FromOpenSshPrivateKey(privKey);
if (success <> 1) then
  begin
    Memo1.Lines.Add(key.LastErrorText);
    Exit;
  end;

//  Authenticate with the SSH server using the login and
//  private key.  (The corresponding public key should've
//  been installed on the SSH server beforehand.)
success := ssh.AuthenticatePk('myLogin',key.ControlInterface);
if (success <> 1) then
  begin
    Memo1.Lines.Add(ssh.LastErrorText);
    Exit;
  end;
ShowMessage(ssh.LastErrorText);
ShowMessage('Public-Key Authentication Successful!');
end;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser