C#通過SharpSSH類庫登陸遠程linux服務器執行命令並得到回顯


SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題(這里主要區分telnet)。

C#可以通過SharpSSH類庫登陸Linux服務器執行命令並得到回顯,讀了一下API,希望幫到有需要的這么做的同學。

首先需要到http://sourceforge.net/projects/sharpssh/下載對應的類庫,這里面也有相應介紹,如果想快速借鑒,可以參考我的代碼。

引用這個類庫到工程之后,構建SSHStream對象SshStream ssh = new SshStream(ip, root, pass);其中ip是服務器地址,root是用戶名,pass是用戶密碼。這里ssh默認端口號是22。通過ssh.Write(command)可以寫入命令,然后協商ssh.Flush()和 ssh.Write("/n")消除部分回顯,通過ssh.ReadResponse()可以獲得執行命令的顯示流  。源代碼如下:

 public static string ssh_conn(string ip, string root, string pass, string command)
        {

            SshStream ssh = new SshStream(ip, root, pass);
            ssh.Prompt = "#";
            ssh.RemoveTerminalEmulationCharacters = true; 
            string response = ssh.ReadResponse();
            ssh.Write(command);
            ssh.Flush();
            ssh.Write("/n");
            response = ssh.ReadResponse();
            //Console.WriteLine(response);
            return response;

        }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM