Xojo Plugin
Xojo Plugin
Route Socket Connections through an SSH Object
See more Socket/SSL/TLS Examples
Demonstrates Socket.UseSsh, which configures a socket to route subsequent Connect calls through an already connected and authenticated Ssh object using SSH port forwarding.
Background. After UseSsh, the destination host and port passed to Connect are reached through the SSH tunnel rather than by a direct TCP connection. This is one of several SSH-tunneling approaches the Socket class supports.
Chilkat Xojo Plugin Downloads
Dim success As Boolean
success = False
Dim ssh As New Chilkat.Ssh
// Connect and authenticate a standalone SSH object.
success = ssh.Connect("ssh.example.com",22)
If (success = False) Then
System.DebugLog(ssh.LastErrorText)
Return
End If
// The SSH password should come from a secure source rather than being hard-coded.
Dim sshPassword As String
sshPassword = "mySshPassword"
success = ssh.AuthenticatePw("sshUser",sshPassword)
If (success = False) Then
System.DebugLog(ssh.LastErrorText)
Return
End If
Dim socket As New Chilkat.Socket
// Route subsequent Connect calls through the already connected and authenticated SSH object. The
// destination is reached by SSH port forwarding rather than by a direct TCP connection.
success = socket.UseSsh(ssh)
If (success = False) Then
System.DebugLog(socket.LastErrorText)
Return
End If
// Connect to the destination through the SSH tunnel.
Dim bTls As Boolean
bTls = False
Dim maxWaitMs As Int32
maxWaitMs = 5000
success = socket.Connect("db.internal",5432,bTls,maxWaitMs)
If (success = False) Then
System.DebugLog(socket.LastErrorText)
Return
End If
System.DebugLog("Connected to the destination through the SSH tunnel.")