mirror of
https://github.com/sshnet/SSH.NET.git
synced 2026-10-17 05:21:15 +08:00
doc: Update examples.md (#1421)
* doc: Update examples.md * tweaks --------- Co-authored-by: Rob Hague <rob.hague00@gmail.com>
This commit is contained in:
+48
-9
@@ -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
|
||||
|
||||
Establish an SSH connection and run a command:
|
||||
### Open a Shell
|
||||
|
||||
```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);
|
||||
client.Disconnect();
|
||||
}
|
||||
```
|
||||
|
||||
### Switch to root with "su - root"
|
||||
|
||||
```cs
|
||||
using (var client = new SshClient("sftp.foo.com", "user", "password"))
|
||||
{
|
||||
client.Connect();
|
||||
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();
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user