0
我正在嘗試使用C#創建一個SSH客戶端。我正在使用Tamir.SharpSsh庫。我有問題發送命令並從服務器獲取適當的響應。SharpSsh命令執行
我一直在測試它的方式是通過重新發送過ls
命令,隨後cd..
命令,然後ls
命令 - 看看是否被正確執行cd..
命令。但是,第一個ls
命令與第二個ls
命令之間沒有區別。我不完全確定我做錯了什麼。也許我使用了錯誤的Ssh類型。我提供了我得到的代碼和輸出。我還添加了我期望的輸出。
using Tamir.SharpSsh;
namespace SSHNetExample
{
class Program
{
static void Main(string[] args)
{
SshExec ssh = null;
try
{
Console.Write("-Connecting...");
ssh = new SshExec(host, username, password);
ssh.Connect();
Console.WriteLine("OK ({0}/{1})", ssh.Cipher, ssh.Mac);
Console.WriteLine("Server version={0}, Client version={1}", ssh.ServerVersion, ssh.ClientVersion);
Console.WriteLine("-Use the 'exit' command to disconnect.");
Console.WriteLine();
while(true)
{
string command = Console.ReadLine();
if(command == "exit")
break;
string data = ssh.RunCommand(command);
Console.WriteLine(data);
}
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
if(ssh != null)
{
Console.WriteLine("Disconnecting...");
ssh.Close();
Console.WriteLine("OK");
}
}
}
}
輸出:
預期輸出:
你可以舉一個使用SshShell的例子嗎?我曾嘗試在SshExec之前使用它,並且我無法使其工作。我很困惑到什麼進入ExpectPattern屬性和模式功能。 – user2970916 2015-04-01 17:16:20
不,對不起,我開始使用SharpSSH,因爲它沒有被維護。我現在使用SSH.NET(https://sshnet.codeplex.com/)庫,它有更好的文檔和更新的更新。 – Richard 2015-04-01 17:23:24
謝謝你的理查德。我繼續前進並使用SSH.NET遷移。我還沒有真正能夠找到太多的文檔。我確實發佈了另一個問題,它使用SSH.NET重現了我在這個問題上遇到的問題。 http://stackoverflow.com/q/29397766/2970916 – user2970916 2015-04-01 18:08:57