[C#]SharpSSH-一个可以使用SSH连接的.NET库


A Secure Shell (SSH) library for .NET

觉得有用,就记录下来了

http://www.tamirgal.com/blog/page/SharpSSH.aspx

http://sourceforge.net/projects/sharpssh/?source=typ_redirect

 

再来个例子供参考

 

public partial class SSHWnd : Form { private SshShell ss = null; private Stream io = null; private SshConnectionInfo scInfo; private static byte[] buffer; private static int bufSize = 256; private static AsyncCallback readCallback; private delegate void addLineDelegate(string s); public SSHWnd(SshConnectionInfo scInfo) { InitializeComponent(); this.scInfo = scInfo; try { ss = new SshShell(scInfo.Host, scInfo.User); if (scInfo.Pass != null) { ss.Password = scInfo.Pass; } if (scInfo.IdentityFile != null) { ss.AddIdentityFile(scInfo.IdentityFile); } ss.Connect(22); io = ss.GetStream(); buffer = new byte[bufSize]; readCallback = new AsyncCallback(OnCompletedRead); io.BeginRead(buffer, 0, bufSize, readCallback, null); } catch { MessageBox.Show("Error!"); } } private void OnCompletedRead(IAsyncResult ar) { int bytesRead = io.EndRead(ar); if (bytesRead > 0) { String str = Encoding.UTF8.GetString(buffer, 0, bytesRead); this.Invoke(new addLineDelegate(addLine), new object[]{str}); io.BeginRead(buffer, 0, bufSize, readCallback, null); } } void addLine(string s) { textBox1.AppendText(s); } private void SSHWnd_FormClosing(object sender, FormClosingEventArgs e) { if (ss.Connected) { io.Close(); ss.Close(); } } private void button1_Click(object sender, EventArgs e) { if (textBox2.Text != "") { try { StreamWriter sw = new StreamWriter(io); sw.Write(textBox2.Text); sw.Write('\n'); sw.Flush(); } catch { MessageBox.Show("Terminated yet!"); this.Close(); } textBox2.Text = ""; } } }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM