C#SSHStream实现提供奇怪的输出

C#SSHStream实现提供奇怪的输出,c#,regex,encoding,ssh,C#,Regex,Encoding,Ssh,在创建使用SSH实现的c#程序时,我能够连接、接收数据/执行命令并断开连接(使用SSH.net()和SharpSSH())。在这两种实现中,输出都相当奇怪。与我使用PuTTY(例如PuTTY)进行连接时提供的输出不同,这些消息是: 对于命令“ls”: ls jpg您奇怪的输出看起来像bash颜色代码(这里有些看起来不是详尽的文档)。无论您是想正确地显示它们,还是想摆脱它们,都应该尝试正确地解释它们!这就是问题所在,现在我正在寻找解决方案。让连接返回代码的实验不起作用,所以现在我正在搜索一个正则表

在创建使用SSH实现的c#程序时,我能够连接、接收数据/执行命令并断开连接(使用SSH.net()和SharpSSH())。在这两种实现中,输出都相当奇怪。与我使用PuTTY(例如PuTTY)进行连接时提供的输出不同,这些消息是:

对于命令“ls”:

ls


jpg您奇怪的输出看起来像bash颜色代码(这里有些看起来不是详尽的文档)。无论您是想正确地显示它们,还是想摆脱它们,都应该尝试正确地解释它们!这就是问题所在,现在我正在寻找解决方案。让连接返回代码的实验不起作用,所以现在我正在搜索一个正则表达式来删除它们。
SshShell ssh = new SshShell("host", "username", "password");
//This statement must be prior to connecting
ssh.RedirectToConsole();
            
Console.Write("Connecting...");
ssh.Connect();
Console.WriteLine("OK");


Console.Write("Enter a pattern to expect in response [e.g. '#', '$', C:\\\\.*>, etc...]: ");
string pattern = Console.ReadLine();

ssh.ExpectPattern = pattern;
ssh.RemoveTerminalEmulationCharacters = true;

Console.WriteLine();
Console.WriteLine(ssh.Expect(pattern));

while (ssh.ShellOpened)
{
    Console.WriteLine();
    Console.Write("Enter some data to write ['Enter' to cancel]: ");
    string data = Console.ReadLine();
    if (data == "") break;
    ssh.WriteLine(data);
    ssh.RemoveTerminalEmulationCharacters = true;
    string output = ssh.Expect(pattern);
    Console.WriteLine(output);
}

Console.Write("Disconnecting...");
ssh.Close();
Console.WriteLine("OK");