diff --git a/docfx/examples.md b/docfx/examples.md index 76b15369e..7014b8f21 100644 --- a/docfx/examples.md +++ b/docfx/examples.md @@ -1,7 +1,25 @@ Think this page is lacking? Help wanted! Click "Edit this page" at the bottom to begin contributing more examples. +Getting Started +================= + +### Run a command + +Establish an SSH connection and run a command: + +```cs +using (var client = new SshClient("sftp.foo.com", "guest", new PrivateKeyFile("path/to/my/key"))) +{ + client.Connect(); + using SshCommand cmd = client.RunCommand("echo 'Hello World!'"); + Console.WriteLine(cmd.Result); // "Hello World!\n" +} +``` + ### Upload and list files +SFTP Connection / Exchange + ```cs using (var client = new SftpClient("sftp.foo.com", "guest", "pwd")) { @@ -44,23 +62,44 @@ string expectedFingerPrint = "LKOy5LvmtEe17S4lyxVXqvs7uPMy+yF79MQpHeCs/Qo"; using (var client = new SshClient("sftp.foo.com", "guest", "pwd")) { client.HostKeyReceived += (sender, e) => - { - e.CanTrust = expectedFingerPrint.Equals(e.FingerPrintSHA256); - }; + { + e.CanTrust = expectedFingerPrint.Equals(e.FingerPrintSHA256); + }; client.Connect(); } ``` -### Run a command +### Open a Shell -Establish an SSH connection and run a command: +```cs +using (var client = new SshClient("sftp.foo.com", "user", "password")) +{ + client.Connect(); + using ShellStream shellStream = client.CreateShellStream("ShellName", 80, 24, 800, 600, 1024); + client.Disconnect(); +} +``` + +### Switch to root with "su - root" ```cs -using (var client = new SshClient("sftp.foo.com", "guest", new PrivateKeyFile("path/to/my/key"))) +using (var client = new SshClient("sftp.foo.com", "user", "password")) { client.Connect(); - SshCommand cmd = client.RunCommand("echo 'Hello World!'"); - Console.WriteLine(cmd.Result); // "Hello World!\n" + using ShellStream shellStream = client.CreateShellStream("ShellName", 80, 24, 800, 600, 1024); + // Get logged in and get user prompt + string prompt = shellStream.Expect(new Regex(@"[$>]")); + // Send command and expect password or user prompt + shellStream.WriteLine("su - root"); + prompt = shellStream.Expect(new Regex(@"([$#>:])")); + // Check to send password + if (prompt.Contains(":")) + { + // Send password + shellStream.WriteLine("password"); + prompt = shellStream.Expect(new Regex(@"[$#>]")); + } + client.Disconnect(); } ```