在C#中如何使用TcpClient在远程SSH上运行unix命令

我试图从我的C#应用​​程序在远程主机上运行UNIX命令。

我已经看到各种各样的post,包括SO,使用各种库,如SmartSsh,以及其他许多人。 还有一些人使用命令行命令。

我不想使用任何第三方库。

因此,我尝试使用TcpClient类,其示例显示在MSDN上 。 我传递的主机名为: user @ servername和port 22 。 当我运行此代码时,它会产生exception

SocketException (0x80004005): No such host is known at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port) 

是因为我的服务器/主机需要用户密码,如果是,那么我该如何提供呢?

套接字只是一个连接,将其视为通过电话呼叫某个人。 套接字确保您与另一个人保持一致,但您仍需要一种语言(协议)进行通信。 通过电话,这是一种通用语言。 当您想要执行unix命令时,您还需要一种您和目标都能理解的语言。 其中一个协议是SSH,端口22.SSH还定义了身份validation,因此您需要实现SSH协议或更好,使用第三方库为您执行此操作