Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(VB.NET UWP/WinRT) SSH Commands to Sophos Router Device ConsoleDemonstrates how to establish an SSH session with a Sophos XG router and send commands in a device console session.
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim ssh As New Chilkat.Ssh Dim success As Boolean = Await ssh.ConnectAsync("172.16.16.16",22) If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If ' Authenticate using login/password: success = Await ssh.AuthenticatePwAsync("myLogin","myPassword") If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If ' Start a shell session. ' (The QuickShell method was added in Chilkat v9.5.0.65) Dim channelNum As Integer = Await ssh.QuickShellAsync() If (channelNum < 0) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If ' The Sophos router will send this initial prompt: ' Main Menu ' ' 1. Network Configuration ' 2. System Configuration ' 3. Route Configuration ' 4. Device Console ' 5. Device Management ' 6. VPN Management ' 7. Shutdown/Reboot Device ' 0. Exit ' ' Select Menu Number [0-7]: success = Await ssh.ChannelReceiveUntilMatchAsync(channelNum,"Select Menu Number","utf-8",True) If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If ' Show what we received so far: Debug.WriteLine(ssh.GetReceivedText(channelNum,"utf-8")) ' Send "4" <RETURN> to mimic typing in a shell session. success = Await ssh.ChannelSendStringAsync(channelNum,"4" & vbLf,"utf-8") If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If ' We should get a "console>" prompt. success = Await ssh.ChannelReceiveUntilMatchAsync(channelNum,"console>","utf-8",True) If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If Debug.WriteLine(ssh.GetReceivedText(channelNum,"utf-8")) ' Send a command and get the output.. success = Await ssh.ChannelSendStringAsync(channelNum,"dnslookup host google.com" & vbLf,"utf-8") success = Await ssh.ChannelReceiveUntilMatchAsync(channelNum,"console>","utf-8",True) If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If Debug.WriteLine(ssh.GetReceivedText(channelNum,"utf-8")) ' Send another command and get the output, and so on... success = Await ssh.ChannelSendStringAsync(channelNum,"dnslookup host microsoft.com" & vbLf,"utf-8") success = Await ssh.ChannelReceiveUntilMatchAsync(channelNum,"console>","utf-8",True) If (success <> True) Then Debug.WriteLine(ssh.LastErrorText) Exit Sub End If Debug.WriteLine(ssh.GetReceivedText(channelNum,"utf-8")) ssh.Disconnect() |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.