title: "Parrot issue": remote ssh server returns my own commands
body: <p>My app uses C# library <a href="https://github.com/sshnet/SSH.NET" rel="nofollow noreferrer">SSH.NET</a> for connection with a remote Ubuntu server.<br /> 
  There is the code which reads and writes into the stream of client-sever data:</p>
  
  <pre><code>ShellStream mainStream = client.CreateShellStream("xterm", 80, 24, 800, 600, 1024);//it represents the main stream
  
  //send any data to sever
  StreamWriter writer = new StreamWriter(mainStream);//wrapper for main stream
  await  writer.WriteLineAsync(command);
  await  writer.FlushAsync();//flush data from main stream (i.e. send to server)
  
  //get data from server (this is the timer's callback):
  StreamReader reader = new StreamReader(mainStream);//another wrapper for reading
  StringBuilder sb = new StringBuilder();
  char[] buffer = new char[128];
  int i = 0;
      while (!cts.IsCancellationRequested)
          {
          if ((i = await reader.ReadAsync(buffer, 0, buffer.Length))!= 0)
          {
          sb.Append(buffer, 0, i);                  
          }                   
  }
  return sb.ToString(); 
  </code></pre>
  
  <p>It works good, but sometimes it returns my inputted commands for server. I could think that my issue is hidden in my code, but debugging window shows that data comes from mainStream, i.e. from server.</p>
  
  <p>Is it possible my sended command was returned  back? Or is my problem in wrong code? </p>
  
  <p><strong>Edit</strong>: I called 'history' command on my server, it returns all earlier sended commands. After the issue is occured the server does <strong>not</strong> receive any command from client. However the connection is set still, any error are absent.<br />
  What could it be?</p>