Zig
Zig
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 Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// 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.
const ssh = try chilkat.Ssh.init();
defer ssh.deinit();
// Port 22 is the usual SSH port.
const ssh_port = 22;
ssh.connect("ssh.example.com", ssh_port) catch {
std.debug.print("{s}\n", .{try ssh.getLastErrorText(alloc)});
return;
};
std.debug.print("Connected to the SSH server.\n", .{});
// (Authentication would follow here before opening channels.)
ssh.disconnect();
}