Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Connect to an SSH Server
See more SSH Examples
Demonstrates the Chilkat Ssh.Connect method, which establishes a connection to an SSH server. The first argument is the hostname (a DNS name or a numeric IPv4/IPv6 address) and the second is the TCP port, usually 22. Connecting is the first step; authentication follows before any channels can be opened.
Background:
Connect establishes only the SSH transport — the encrypted channel and host-key exchange — but does not log in. An SSH session is always used in stages: connect, authenticate, then open one or more channels for shell, exec, or port-forwarding work. Timeouts and optional SOCKS/HTTP proxying are controlled by the object's properties before this call.Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Ssh;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
ssh: TSsh;
sshPort: Integer;
begin
success := False;
// Demonstrates the Ssh.Connect method, which establishes a connection to an SSH server. The
// 1st argument is the hostname (a DNS name or numeric IP) and the 2nd is the TCP port.
ssh := TSsh.Create;
// Port 22 is the usual SSH port.
sshPort := 22;
success := ssh.Connect('ssh.example.com',sshPort);
if (success = False) then
begin
WriteLn(ssh.LastErrorText);
Exit;
end;
WriteLn('Connected to the SSH server.');
// (Authentication would follow here before opening channels.)
ssh.Disconnect();
ssh.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.