Did you used the property SshCommand.Result? This will block till the execution is finish.
If you run a command that expects input you have to use SshCommand.OutputStream to get the data.
Unfortunally there is no way to send data, yet. We are currently working on that problem.
A quick solution for that problem is here: https://sshnet.codeplex.com/discussions/573090
You can use SshClient.CreateShell or SshClient.CreateShellStream. In this way you can send data without modifying the code.
Creating a shell is the same putty does on connect.
If you run a command that expects input you have to use SshCommand.OutputStream to get the data.
Unfortunally there is no way to send data, yet. We are currently working on that problem.
A quick solution for that problem is here: https://sshnet.codeplex.com/discussions/573090
You can use SshClient.CreateShell or SshClient.CreateShellStream. In this way you can send data without modifying the code.
Creating a shell is the same putty does on connect.